diff --git a/common/style_scss.scss b/common/style_scss.scss
index e1572d5..b5b8c31 100644
--- a/common/style_scss.scss
+++ b/common/style_scss.scss
@@ -309,17 +309,51 @@ image {
letter-spacing: $i + rpx;
}
}
-/*苹果底部选项栏适配*/
-.nav_bottom {
- box-sizing: content-box;
- padding-bottom: constant(safe-area-inset-bottom);//兼容 IOS<11.2
- padding-bottom: env(safe-area-inset-bottom);//兼容 IOS>11.2
-}
-
-/* 特殊处理 */
-.tline {
- text-decoration: line-through;
- /* 加删除线 */
+/*苹果底部选项栏适配*/
+.nav_bottom {
+ box-sizing: content-box;
+ padding-bottom: constant(safe-area-inset-bottom);//兼容 IOS<11.2
+ padding-bottom: env(safe-area-inset-bottom);//兼容 IOS>11.2
+}
+
+$custom-tabbar-height: 100rpx;
+$custom-tabbar-page-gap: 120rpx;
+$custom-tabbar-action-gap: 240rpx;
+$custom-tabbar-scroll-offset: 320rpx;
+
+.tabbar-page {
+ min-height: 100vh;
+ box-sizing: border-box;
+}
+
+.tabbar-page-padding {
+ padding-bottom: $custom-tabbar-page-gap;
+ padding-bottom: calc(#{$custom-tabbar-page-gap} + constant(safe-area-inset-bottom));
+ padding-bottom: calc(#{$custom-tabbar-page-gap} + env(safe-area-inset-bottom));
+}
+
+.tabbar-page-padding-action {
+ padding-bottom: $custom-tabbar-action-gap;
+ padding-bottom: calc(#{$custom-tabbar-action-gap} + constant(safe-area-inset-bottom));
+ padding-bottom: calc(#{$custom-tabbar-action-gap} + env(safe-area-inset-bottom));
+}
+
+.tabbar-fixed-above-tabbar {
+ bottom: $custom-tabbar-height;
+ bottom: calc(#{$custom-tabbar-height} + constant(safe-area-inset-bottom));
+ bottom: calc(#{$custom-tabbar-height} + env(safe-area-inset-bottom));
+}
+
+.tabbar-scroll-area {
+ height: calc(100vh - #{$custom-tabbar-scroll-offset});
+ height: calc(100vh - #{$custom-tabbar-scroll-offset} - constant(safe-area-inset-bottom));
+ height: calc(100vh - #{$custom-tabbar-scroll-offset} - env(safe-area-inset-bottom));
+}
+
+/* 特殊处理 */
+.tline {
+ text-decoration: line-through;
+ /* 加删除线 */
}
/* 多少行(3~15) */
.one_overflow{
diff --git a/common/tools.js b/common/tools.js
index 0a769a0..d5989ea 100644
--- a/common/tools.js
+++ b/common/tools.js
@@ -19,11 +19,48 @@ var tools = {
})
}
},
+ isPromotionUnlockedValue: function(value) {
+ return value === true || value === 'true' || value === 1 || value === '1'
+ },
+ getPromotionUnlocked: function() {
+ return this.isPromotionUnlockedValue(uni.getStorageSync('promotionUnlocked'))
+ },
+ setPromotionUnlocked: function(value = true) {
+ if (this.isPromotionUnlockedValue(value)) {
+ uni.setStorageSync('promotionUnlocked', true)
+ return true
+ }
+ uni.removeStorageSync('promotionUnlocked')
+ return false
+ },
+ setPromotionBridgeSkip: function(path) {
+ if (!path) {
+ return
+ }
+ uni.setStorageSync('promotionBridgeSkipPath', path)
+ },
+ setTabbarSelectedPath: function(path) {
+ if (!path) {
+ return
+ }
+ uni.setStorageSync('tabbarSelectedPath', path)
+ },
+ getTabbarSelectedPath: function() {
+ return uni.getStorageSync('tabbarSelectedPath') || ''
+ },
+ consumePromotionBridgeSkip: function(path) {
+ const skipPath = uni.getStorageSync('promotionBridgeSkipPath')
+ if (skipPath && skipPath === path) {
+ uni.removeStorageSync('promotionBridgeSkipPath')
+ return true
+ }
+ return false
+ },
clearLoginStorage: function() {
- const promotionUnlocked = uni.getStorageSync('promotionUnlocked')
+ const promotionUnlocked = this.getPromotionUnlocked()
uni.clearStorageSync()
if (promotionUnlocked) {
- uni.setStorageSync('promotionUnlocked', promotionUnlocked)
+ this.setPromotionUnlocked(true)
}
},
//图片地址拼接
diff --git a/custom-tab-bar/index.js b/custom-tab-bar/index.js
new file mode 100644
index 0000000..53df352
--- /dev/null
+++ b/custom-tab-bar/index.js
@@ -0,0 +1,250 @@
+const defaultList = [
+ {
+ pagePath: '/pages/tabbar/index',
+ iconPath: '/static/images/icon_sy.png',
+ selectedIconPath: '/static/images/icon_syf.png',
+ text: '首页'
+ },
+ {
+ pagePath: '/pages/tabbar/sort',
+ iconPath: '/static/images/icon_fl.png',
+ selectedIconPath: '/static/images/icon_flf.png',
+ text: '分类'
+ },
+ {
+ pagePath: '/pages/tabbar/shop',
+ iconPath: '/static/images/icon_gwc.png',
+ selectedIconPath: '/static/images/icon_gwcf.png',
+ text: '购物车'
+ },
+ {
+ pagePath: '/pages/tabbar/me',
+ iconPath: '/static/images/icon_wd.png',
+ selectedIconPath: '/static/images/icon_wdf.png',
+ text: '我的'
+ }
+]
+
+const promotionList = [
+ {
+ pagePath: '/pages/tabbar/index',
+ iconPath: '/static/images/icon_sy.png',
+ selectedIconPath: '/static/images/icon_syf.png',
+ text: '首页',
+ h5Url: 'https://point.agrimedia.cn/affiliate-activity/pages/index/index'
+ },
+ {
+ pagePath: '/pages/tabbar/shop',
+ iconPath: '/static/images/icon_gwc.png',
+ selectedIconPath: '/static/images/icon_gwcf.png',
+ text: '榜单',
+ h5Url: 'https://point.agrimedia.cn/affiliate-activity/pages/rank/rank'
+ },
+ {
+ pagePath: '/pages/tabbar/sort',
+ iconPath: '/static/images/icon_fl.png',
+ selectedIconPath: '/static/images/icon_flf.png',
+ text: '分类',
+ h5Url: 'https://point.agrimedia.cn/affiliate-activity/pages/classify/classify'
+ },
+ {
+ pagePath: '/pages/tabbar/me',
+ iconPath: '/static/images/icon_wd.png',
+ selectedIconPath: '/static/images/icon_wdf.png',
+ text: '我的'
+ }
+]
+
+function isPromotionUnlockedValue(value) {
+ return value === true || value === 'true' || value === 1 || value === '1'
+}
+
+function normalizePagePath(path) {
+ if (!path) {
+ return ''
+ }
+ return path.charAt(0) === '/' ? path : `/${path}`
+}
+
+function isTabbarUnlocked() {
+ return isPromotionUnlockedValue(wx.getStorageSync('promotionUnlocked'))
+}
+
+function getTabList(isPromotionUnlocked) {
+ return isPromotionUnlocked ? defaultList : promotionList
+}
+
+function isKnownTabPath(path) {
+ if (!path) {
+ return false
+ }
+ return defaultList.some(item => item.pagePath === path) || promotionList.some(item => item.pagePath === path)
+}
+
+function setTabbarSelectedPath(path) {
+ if (!path) {
+ return
+ }
+ wx.setStorageSync('tabbarSelectedPath', path)
+}
+
+function getStoredTabbarSelectedPath() {
+ return wx.getStorageSync('tabbarSelectedPath') || ''
+}
+
+function getCurrentStackPagePath() {
+ const pages = getCurrentPages()
+ const currentPage = pages[pages.length - 1]
+ if (currentPage && currentPage.route) {
+ return normalizePagePath(currentPage.route)
+ }
+ return ''
+}
+
+function getCurrentTabBarInstance() {
+ const pages = getCurrentPages()
+ const currentPage = pages[pages.length - 1]
+ if (!currentPage || typeof currentPage.getTabBar !== 'function') {
+ return null
+ }
+ return currentPage.getTabBar()
+}
+
+function syncCurrentTabBar(selectedPath = '') {
+ const tabBar = getCurrentTabBarInstance()
+ if (tabBar && typeof tabBar.syncPromotionStatus === 'function') {
+ tabBar.syncPromotionStatus(selectedPath || getCurrentStackPagePath())
+ }
+}
+
+let routeListenerRegistered = false
+
+Component({
+ data: {
+ selected: '/pages/tabbar/index',
+ list: defaultList,
+ isPromotionUnlocked: false,
+ isIphoneX: false
+ },
+ lifetimes: {
+ attached() {
+ this.registerRouteListener()
+ this.syncPromotionStatus(this.getCurrentPagePath())
+ this.syncSafeArea()
+ }
+ },
+ pageLifetimes: {
+ show() {
+ this.syncPromotionStatus(this.getCurrentPagePath())
+ }
+ },
+ methods: {
+ registerRouteListener() {
+ if (routeListenerRegistered || typeof wx.onAppRoute !== 'function') {
+ return
+ }
+ routeListenerRegistered = true
+ wx.onAppRoute((res) => {
+ const path = normalizePagePath(res && res.path ? res.path : '')
+ if (!isKnownTabPath(path)) {
+ return
+ }
+ setTabbarSelectedPath(path)
+ syncCurrentTabBar(path)
+ })
+ },
+ getCurrentPagePath() {
+ const currentPath = getCurrentStackPagePath()
+ if (isKnownTabPath(currentPath)) {
+ return currentPath
+ }
+ const storedPath = getStoredTabbarSelectedPath()
+ if (isKnownTabPath(storedPath)) {
+ return storedPath
+ }
+ return ''
+ },
+ syncSafeArea() {
+ const systemInfo = wx.getSystemInfoSync()
+ const safeArea = systemInfo.safeArea || {}
+ const isIphoneX = !!safeArea.bottom && safeArea.bottom < systemInfo.screenHeight
+ this.setData({ isIphoneX })
+ },
+ syncPromotionStatus(selectedPath = '') {
+ const isPromotionUnlocked = isTabbarUnlocked()
+ const list = getTabList(isPromotionUnlocked)
+ const currentPath = this.getCurrentPagePath()
+ let nextSelected = selectedPath || currentPath || this.data.selected
+ const selectedExists = list.some(item => item.pagePath === nextSelected)
+ if (!selectedExists) {
+ const currentSelectedExists = list.some(item => item.pagePath === currentPath)
+ if (currentSelectedExists) {
+ nextSelected = currentPath
+ } else {
+ const storedPath = getStoredTabbarSelectedPath()
+ const storedSelectedExists = list.some(item => item.pagePath === storedPath)
+ nextSelected = storedSelectedExists ? storedPath : (list[0] ? list[0].pagePath : '')
+ }
+ }
+ const nextData = {
+ isPromotionUnlocked,
+ list,
+ selected: nextSelected
+ }
+ if (
+ this.data.isPromotionUnlocked !== isPromotionUnlocked ||
+ this.data.list !== list ||
+ this.data.selected !== nextSelected
+ ) {
+ this.setData({
+ ...nextData
+ })
+ }
+ return nextData
+ },
+ setSelectedByPath(path) {
+ const currentPath = path || ''
+ const exists = this.data.list.some(item => item.pagePath === currentPath)
+ if (exists && this.data.selected !== currentPath) {
+ this.setData({ selected: currentPath })
+ }
+ },
+ switchTab(e) {
+ const isPromotionUnlocked = isTabbarUnlocked()
+ const { index, pagePath } = e.currentTarget.dataset
+ const currentList = getTabList(isPromotionUnlocked)
+ let item = null
+ let selectedPath = ''
+ if (pagePath) {
+ selectedPath = pagePath
+ item = currentList.find(tab => tab.pagePath === pagePath) || null
+ }
+ if (!item && typeof index !== 'undefined') {
+ const currentIndex = Number(index)
+ item = currentList[currentIndex]
+ selectedPath = item ? item.pagePath : ''
+ }
+ if (!item) {
+ return
+ }
+ if (!isPromotionUnlocked && item.h5Url) {
+ const pages = getCurrentPages()
+ const currentPage = pages[pages.length - 1]
+ const from = currentPage && currentPage.route ? `/${currentPage.route}` : ''
+ wx.navigateTo({
+ url: `/pages/h5/bridge?url=${encodeURIComponent(item.h5Url)}&from=${encodeURIComponent(from)}`
+ })
+ return
+ }
+ setTabbarSelectedPath(item.pagePath)
+ this.setData({
+ selected: selectedPath,
+ isPromotionUnlocked,
+ list: currentList
+ })
+ wx.switchTab({
+ url: item.pagePath
+ })
+ }
+ }
+})
diff --git a/custom-tab-bar/index.json b/custom-tab-bar/index.json
new file mode 100644
index 0000000..467ce29
--- /dev/null
+++ b/custom-tab-bar/index.json
@@ -0,0 +1,3 @@
+{
+ "component": true
+}
diff --git a/custom-tab-bar/index.wxml b/custom-tab-bar/index.wxml
new file mode 100644
index 0000000..e0e0e79
--- /dev/null
+++ b/custom-tab-bar/index.wxml
@@ -0,0 +1,15 @@
+
+
+
+
+ {{item.text}}
+
+
+
diff --git a/custom-tab-bar/index.wxss b/custom-tab-bar/index.wxss
new file mode 100644
index 0000000..7029e61
--- /dev/null
+++ b/custom-tab-bar/index.wxss
@@ -0,0 +1,47 @@
+.tabbar {
+ position: fixed;
+ left: 0;
+ right: 0;
+ bottom: 0;
+ z-index: 999;
+ background: #ffffff;
+ box-shadow: 0 -8rpx 24rpx rgba(0, 0, 0, 0.04);
+}
+
+.tabbar-safe {
+ padding-bottom: env(safe-area-inset-bottom);
+}
+
+.tabbar__inner {
+ display: flex;
+ align-items: center;
+ justify-content: space-around;
+ min-height: 100rpx;
+ border-top: 1rpx solid #f2f2f2;
+}
+
+.tabbar__item {
+ flex: 1;
+ display: flex;
+ flex-direction: column;
+ align-items: center;
+ justify-content: center;
+ padding: 10rpx 0 8rpx;
+}
+
+.tabbar__icon {
+ width: 46rpx;
+ height: 46rpx;
+ margin-bottom: 6rpx;
+}
+
+.tabbar__text {
+ font-size: 22rpx;
+ line-height: 1.2;
+ color: #666666;
+}
+
+.tabbar__text--active {
+ color: #ee4237;
+ font-weight: 600;
+}
diff --git a/pageOne/mes/setUp.vue b/pageOne/mes/setUp.vue
index 1d74a1f..e433754 100644
--- a/pageOne/mes/setUp.vue
+++ b/pageOne/mes/setUp.vue
@@ -44,7 +44,7 @@
},
methods: {
syncPromotionStatus() {
- this.promotionUnlocked = !!uni.getStorageSync('promotionUnlocked')
+ this.promotionUnlocked = this.$tools.getPromotionUnlocked()
},
handlePromotion() {
if (this.promotionUnlocked) {
@@ -56,7 +56,7 @@
if (remainCount > 0) {
return
}
- uni.setStorageSync('promotionUnlocked', true)
+ this.$tools.setPromotionUnlocked(true)
this.promotionUnlocked = true
this.promotionTapCount = 0
uni.$emit('promotionUnlocked')
diff --git a/pages.json b/pages.json
index 68c0169..0d53483 100644
--- a/pages.json
+++ b/pages.json
@@ -27,14 +27,21 @@
"navigationStyle": "custom"
}
},
- {
- "path": "pages/tabbar/shop",
- "style": {
- "navigationBarTitleText": "",
- "navigationStyle": "custom"
- }
- }
- ],
+ {
+ "path": "pages/tabbar/shop",
+ "style": {
+ "navigationBarTitleText": "",
+ "navigationStyle": "custom"
+ }
+ },
+ {
+ "path": "pages/h5/bridge",
+ "style": {
+ "navigationBarTitleText": "",
+ "navigationStyle": "default"
+ }
+ }
+ ],
"subPackages": [{
"root": "pageOne",
"pages": [
@@ -264,10 +271,11 @@
"navigationBarBackgroundColor": "#F8F8F8",
"backgroundColor": "#FFFFFF"
},
- "tabBar": {
- "color": "#666",
- "selectedColor": "#ee4237",
- "backgroundColor": "#FFFFFF",
+ "tabBar": {
+ "custom": true,
+ "color": "#666",
+ "selectedColor": "#ee4237",
+ "backgroundColor": "#FFFFFF",
"list": [{
"pagePath": "pages/tabbar/index",
"iconPath": "/static/images/icon_sy.png",
@@ -290,4 +298,4 @@
"text": "我的"
}]
}
-}
\ No newline at end of file
+}
diff --git a/pages/h5/bridge.vue b/pages/h5/bridge.vue
new file mode 100644
index 0000000..68b0353
--- /dev/null
+++ b/pages/h5/bridge.vue
@@ -0,0 +1,56 @@
+
+
+
+
+
+
+
+
+
diff --git a/pages/login/login.vue b/pages/login/login.vue
index 47eefc8..363a09c 100644
--- a/pages/login/login.vue
+++ b/pages/login/login.vue
@@ -56,6 +56,7 @@
this.$tools.showtt(res.msg)
if(res.code!=1) return
uni.setStorageSync('token',res.data.userinfo.token)
+ uni.setStorageSync('uid',res.data.userinfo.id)
setTimeout(() => {
this.$tools.goSwitchTab('/pages/tabbar/index')
},1000)
diff --git a/pages/tabbar/index.vue b/pages/tabbar/index.vue
index 46dce8d..8fef50a 100644
--- a/pages/tabbar/index.vue
+++ b/pages/tabbar/index.vue
@@ -1,113 +1,157 @@
-
-
-
-
-
-
-
-
-
-
-
- 搜索
-
-
-
-
-
-
-
-
-
-
-
-
- 公告通知
- |
-
-
- {{item.name}}
-
-
-
-
-
-
-
-
- {{item.name}}
-
-
-
-
-
- 产品展示
-
-
-
-
-
- {{item.name}}
-
-
- ¥{{item.price}}
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+ 搜索
+
+
+
+
+
+
+
+
+
+
+
+ 公告通知
+ |
+
+
+ {{item.name}}
+
+
+
+
+
+
+
+
+ {{item.name}}
+
+
+
+
+
+ 产品展示
+
+
+
+
+
+ {{item.name}}
+
+
+ ¥{{item.price}}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/pages/tabbar/me.vue b/pages/tabbar/me.vue
index 1336942..ffa2323 100644
--- a/pages/tabbar/me.vue
+++ b/pages/tabbar/me.vue
@@ -1,6 +1,6 @@
-
+
@@ -126,14 +126,26 @@
},
onShow() {
this.syncPromotionStatus()
+ this.syncCustomTabBar()
this.index()
},
onUnload() {
uni.$off('promotionUnlocked', this.syncPromotionStatus)
},
methods: {
+ syncCustomTabBar() {
+ this.$tools.setTabbarSelectedPath('/pages/tabbar/me')
+ if (typeof this.getTabBar === 'function') {
+ const tabBar = this.getTabBar()
+ if (tabBar && typeof tabBar.syncPromotionStatus === 'function') {
+ setTimeout(() => {
+ tabBar.syncPromotionStatus('/pages/tabbar/me')
+ }, 0)
+ }
+ }
+ },
syncPromotionStatus() {
- this.promotionUnlocked = !!uni.getStorageSync('promotionUnlocked')
+ this.promotionUnlocked = this.$tools.getPromotionUnlocked()
const menu = this.baseMenu.slice()
if (this.promotionUnlocked) {
menu.push({
@@ -194,9 +206,9 @@
page{
background-color: #F7F6FA;
}
- .page{
- width: 750rpx;
- height: 1020rpx;
- background: linear-gradient( 180deg, #E73232 0%, rgba(231,50,50,0.94) 30.45%, rgba(231,50,50,0.91) 53.88%, rgba(231,50,50,0.8) 69.29%, rgba(231,50,50,0.54) 81.67%, rgba(231,50,50,0.26) 90.37%, rgba(231,50,50,0) 100%);
+ .page{
+ width: 750rpx;
+ min-height: 100vh;
+ background: linear-gradient( 180deg, #E73232 0%, rgba(231,50,50,0.94) 30.45%, rgba(231,50,50,0.91) 53.88%, rgba(231,50,50,0.8) 69.29%, rgba(231,50,50,0.54) 81.67%, rgba(231,50,50,0.26) 90.37%, rgba(231,50,50,0) 100%);
}
diff --git a/pages/tabbar/shop.vue b/pages/tabbar/shop.vue
index 379118b..3504ecd 100644
--- a/pages/tabbar/shop.vue
+++ b/pages/tabbar/shop.vue
@@ -1,52 +1,52 @@
-
-
-
+
+
+
-
-
-
- 购物车 ({{list.length}}件)
-
-
-
-
-
-
-
-
-
- {{item.name}}
- {{item.spec_name}}
-
- ¥{{item.price}}
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 全选
-
-
- 合计:
- ¥{{totalPrice}}
-
-
-
- 结算
-
+
+
+
+ 购物车 ({{list.length}}件)
+
+
+
+
+
+
+
+
+
+ {{item.name}}
+ {{item.spec_name}}
+
+ ¥{{item.price}}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 全选
+
+
+ 合计:
+ ¥{{totalPrice}}
+
+
+
+ 结算
+
@@ -55,107 +55,141 @@
export default {
data() {
return {
- min:1,
- nums:1,
- list:[],
- checkAllList: false
+ min: 1,
+ nums: 1,
+ list: [],
+ checkAllList: false,
+ promotionUnlocked: true,
+ promotionH5Url: 'https://point.agrimedia.cn/affiliate-activity/pages/rank/rank'
}
- },
- onShow() {
- this.shopCar()
- this.checkAllList = false
- },
- computed:{
- totalPrice() {
- let arr = this.list.filter(val => val.checkList)
- let totalPrices = 0
- arr.forEach(val => {
- totalPrices += Number(val.price)*Number(val.num)
- })
- return totalPrices.toFixed(2)
- }
},
- methods: {
- shopCar(){
- this.$tools.axiosFromToken("POST","shop/shopCar").then(res => {
- res.data.forEach(item => {
- item.checkList = false
- })
- this.list = res.data
- })
- },
- checkAll() {
- this.checkAllList = !this.checkAllList
- if(this.checkAllList) {
- this.list.forEach(item =>{
- item.checkList = true
- })
- } else {
- this.list.forEach(item =>{
- item.checkList = false
- })
- }
- this.$forceUpdate()
- },
- checkItem(item,index) {
- item.checkList = !item.checkList
- this.checkAllList = this.list.every(item => item.checkList)
- this.$forceUpdate()
- },
- handleCount(e,item,index){
- this.$tools.axiosFromToken("POST","shop/editCar",{
- id:item.id,
- num:e
- }).then(res => {
- this.$tools.showtt(res.msg)
- if(res.code!=1) return
- this.list[index].num = e
- if(e==0){
- this.list.splice(index,1)
- this.$tools.showtt('删除成功')
- }
- // this.shopcat()
- })
- },
- cardelete(){
- if(this.list.length == 0) return this.$tools.showtt('购物车暂无商品')
- let shop_id = []
- this.list.forEach(item => {
- if(item.checkList){
- shop_id.push(item.id)
- }
- })
- if(shop_id.length == 0) return this.$tools.showtt('请选择要删除的商品')
- this.$tools.axiosFrom("POST","shop/deleteCar",{
- ids:shop_id.join(',')
- }).then(res => {
- this.$tools.showtt(res.msg)
- if(res.code != 1) return
- this.shopCar()
- this.checkAllList = false
- })
- },
- cartOrderCreate(){
- if(this.list.length == 0) return this.$tools.showtt('购物车暂无商品')
- // 拿到单选之后商品的信息
- let infor = []
- let arrId = []
- this.list.forEach(item => {
- if(item.checkList){
- infor.push(item)
- arrId.push(item.id)
- }
- })
- if(infor.length == 0) return this.$tools.showtt('请选择要结算的商品')
- getApp().globalData.shoppings = infor
- this.$tools.goNext(`/pageOne/shopConfirm?id=${arrId.join(',')}`)
+ onLoad() {
+ this.syncPromotionStatus()
+ },
+ onShow() {
+ this.syncPromotionStatus()
+ this.syncCustomTabBar()
+ if (this.openPromotionPageIfNeeded()) {
+ return
+ }
+ if (this.list.length === 0) {
+ this.shopCar()
+ }
+ this.checkAllList = false
+ },
+ computed: {
+ totalPrice() {
+ let arr = this.list.filter(val => val.checkList)
+ let totalPrices = 0
+ arr.forEach(val => {
+ totalPrices += Number(val.price) * Number(val.num)
+ })
+ return totalPrices.toFixed(2)
+ }
+ },
+ methods: {
+ syncPromotionStatus() {
+ this.promotionUnlocked = this.$tools.getPromotionUnlocked()
+ },
+ syncCustomTabBar() {
+ this.$tools.setTabbarSelectedPath('/pages/tabbar/shop')
+ if (typeof this.getTabBar === 'function') {
+ const tabBar = this.getTabBar()
+ if (tabBar && typeof tabBar.syncPromotionStatus === 'function') {
+ setTimeout(() => {
+ tabBar.syncPromotionStatus('/pages/tabbar/shop')
+ }, 0)
+ }
+ }
+ },
+ openPromotionPageIfNeeded() {
+ if (this.promotionUnlocked) {
+ return false
+ }
+ if (this.$tools.consumePromotionBridgeSkip('/pages/tabbar/shop')) {
+ return false
+ }
+ this.$tools.goNext(`/pages/h5/bridge?url=${encodeURIComponent(this.promotionH5Url)}&from=${encodeURIComponent('/pages/tabbar/shop')}`)
+ return true
+ },
+ shopCar() {
+ this.$tools.axiosFromToken('POST', 'shop/shopCar').then(res => {
+ res.data.forEach(item => {
+ item.checkList = false
+ })
+ this.list = res.data
+ })
+ },
+ checkAll() {
+ this.checkAllList = !this.checkAllList
+ if (this.checkAllList) {
+ this.list.forEach(item =>{
+ item.checkList = true
+ })
+ } else {
+ this.list.forEach(item =>{
+ item.checkList = false
+ })
+ }
+ this.$forceUpdate()
+ },
+ checkItem(item, index) {
+ item.checkList = !item.checkList
+ this.checkAllList = this.list.every(item => item.checkList)
+ this.$forceUpdate()
+ },
+ handleCount(e, item, index) {
+ this.$tools.axiosFromToken('POST', 'shop/editCar', {
+ id: item.id,
+ num: e
+ }).then(res => {
+ this.$tools.showtt(res.msg)
+ if (res.code != 1) return
+ this.list[index].num = e
+ if (e == 0) {
+ this.list.splice(index, 1)
+ this.$tools.showtt('删除成功')
+ }
+ })
+ },
+ cardelete() {
+ if (this.list.length == 0) return this.$tools.showtt('购物车暂无商品')
+ let shop_id = []
+ this.list.forEach(item => {
+ if (item.checkList) {
+ shop_id.push(item.id)
+ }
+ })
+ if (shop_id.length == 0) return this.$tools.showtt('请选择要删除的商品')
+ this.$tools.axiosFrom('POST', 'shop/deleteCar', {
+ ids: shop_id.join(',')
+ }).then(res => {
+ this.$tools.showtt(res.msg)
+ if (res.code != 1) return
+ this.shopCar()
+ this.checkAllList = false
+ })
+ },
+ cartOrderCreate() {
+ if (this.list.length == 0) return this.$tools.showtt('购物车暂无商品')
+ let infor = []
+ let arrId = []
+ this.list.forEach(item => {
+ if (item.checkList) {
+ infor.push(item)
+ arrId.push(item.id)
+ }
+ })
+ if (infor.length == 0) return this.$tools.showtt('请选择要结算的商品')
+ getApp().globalData.shoppings = infor
+ this.$tools.goNext(`/pageOne/shopConfirm?id=${arrId.join(',')}`)
}
}
}
diff --git a/pages/tabbar/sort.vue b/pages/tabbar/sort.vue
index bb1fe1d..3a827c3 100644
--- a/pages/tabbar/sort.vue
+++ b/pages/tabbar/sort.vue
@@ -1,35 +1,35 @@
-
-
-
+
+
+
-
-
-
- {{item.name}}
-
-
-
-
-
-
-
-
- {{item.name}}
-
- ¥{{item.price}}
- 销量{{item.sales}}
-
-
-
-
-
-
-
-
-
+
+
+
+ {{item.name}}
+
+
+
+
+
+
+
+
+ {{item.name}}
+
+ ¥{{item.price}}
+ 销量{{item.sales}}
+
+
+
+
+
+
+
+
+
@@ -38,44 +38,84 @@
export default {
data() {
return {
- select:0,
- types:[],
- list:[],
- ids:''
+ select: 0,
+ types: [],
+ list: [],
+ ids: '',
+ promotionUnlocked: true,
+ promotionH5Url: 'https://point.agrimedia.cn/affiliate-activity/pages/classify/classify'
+ }
+ },
+ onLoad(e) {
+ this.ids = e.id
+ this.syncPromotionStatus()
+ if (!this.promotionUnlocked) {
+ return
+ }
+ this.category()
+ },
+ onShow() {
+ this.syncPromotionStatus()
+ this.syncCustomTabBar()
+ if (this.openPromotionPageIfNeeded()) {
+ return
+ }
+ if (this.types.length === 0) {
+ this.category()
}
- },
- onLoad(e) {
- this.ids = e.id
- this.category()
},
methods: {
- onSel(index,item){
- this.ids = item.id
- this.select = index
- this.shop()
- },
- category(){
- this.$tools.axios("POST","shop/category").then(res => {
- this.types = res.data
- if(!this.ids){
- this.ids = res.data[this.select].id
- }
- this.shop()
- })
- },
- shop(){
- this.$tools.axios("POST","shop/shop",{
- category_id:this.ids,
- }).then(res => {
- this.list = res.data
- })
+ syncPromotionStatus() {
+ this.promotionUnlocked = this.$tools.getPromotionUnlocked()
+ },
+ syncCustomTabBar() {
+ this.$tools.setTabbarSelectedPath('/pages/tabbar/sort')
+ if (typeof this.getTabBar === 'function') {
+ const tabBar = this.getTabBar()
+ if (tabBar && typeof tabBar.syncPromotionStatus === 'function') {
+ setTimeout(() => {
+ tabBar.syncPromotionStatus('/pages/tabbar/sort')
+ }, 0)
+ }
+ }
+ },
+ openPromotionPageIfNeeded() {
+ if (this.promotionUnlocked) {
+ return false
+ }
+ if (this.$tools.consumePromotionBridgeSkip('/pages/tabbar/sort')) {
+ return false
+ }
+ this.$tools.goNext(`/pages/h5/bridge?url=${encodeURIComponent(this.promotionH5Url)}&from=${encodeURIComponent('/pages/tabbar/sort')}`)
+ return true
+ },
+ onSel(index, item) {
+ this.ids = item.id
+ this.select = index
+ this.shop()
+ },
+ category() {
+ this.$tools.axios('POST', 'shop/category').then(res => {
+ this.types = res.data
+ if (!this.ids) {
+ this.ids = res.data[this.select].id
+ }
+ this.shop()
+ })
+ },
+ shop() {
+ this.$tools.axios('POST', 'shop/shop', {
+ category_id: this.ids,
+ }).then(res => {
+ this.list = res.data
+ })
}
}
}
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 62e61c1..208a604 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/@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/@dcloudio/uni-mp-weixin/dist/index.js?df3c","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:///(webpack)/buildin/global.js?3698","webpack:///./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/runtime/componentNormalizer.js?828b","uni-app:///common/mixin.js","uni-app:///common/tools.js","uni-app:///common/AMapWX_SDK_V1.3.0/amap-wx.130.js","uni-app:///uview-ui/index.js","uni-app:///uview-ui/libs/mixin/mixin.js","uni-app:///uview-ui/components/u-parse/libs/MpHtmlParser.js","uni-app:///uview-ui/components/u-parse/libs/config.js","uni-app:///uview-ui/components/u-parse/libs/CssHandler.js","uni-app:///uview-ui/libs/request/index.js","uni-app:///uview-ui/libs/function/deepMerge.js","uni-app:///components/address-picker/data.js","uni-app:///uni_modules/uni-icons/components/uni-icons/icons.js","webpack:///./node_modules/@babel/runtime/helpers/interopRequireDefault.js?47a9","uni-app:///uview-ui/libs/function/deepClone.js","uni-app:///uview-ui/libs/function/test.js","uni-app:///uni_modules/uni-transition/components/uni-transition/createAnimation.js","uni-app:///uview-ui/libs/function/queryParams.js","uni-app:///uview-ui/libs/function/route.js","webpack:///./node_modules/@dcloudio/vue-cli-plugin-uni/packages/@babel/runtime/regenerator/index.js?7eb4","webpack:///./node_modules/@babel/runtime/helpers/regeneratorRuntime.js?9fc1","webpack:///./node_modules/@babel/runtime/helpers/asyncToGenerator.js?ee10","uni-app:///uview-ui/libs/function/timeFormat.js","uni-app:///uview-ui/libs/function/timeFrom.js","uni-app:///uview-ui/libs/function/colorGradient.js","webpack:///./node_modules/@babel/runtime/helpers/slicedToArray.js?34cf","uni-app:///uview-ui/libs/function/guid.js","uni-app:///uview-ui/libs/function/color.js","uni-app:///uview-ui/libs/function/type2icon.js","uni-app:///uview-ui/libs/function/randomArray.js","uni-app:///uview-ui/libs/function/addUnit.js","uni-app:///uview-ui/libs/function/random.js","uni-app:///uview-ui/libs/function/trim.js","uni-app:///uview-ui/libs/function/toast.js","uni-app:///uview-ui/libs/function/getParent.js","uni-app:///uview-ui/libs/function/$parent.js","webpack:///./node_modules/@babel/runtime/helpers/arrayWithHoles.js?ed45","uni-app:///uview-ui/libs/function/sys.js","uni-app:///uview-ui/libs/function/debounce.js","uni-app:///uview-ui/libs/function/throttle.js","uni-app:///uview-ui/libs/config/config.js","uni-app:///uview-ui/libs/config/zIndex.js","uni-app:///common/interceptor.js","uni-app:///common/common.js","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"],"names":["objectKeys","singlePageDisableKey","target","globalThis","this","key","join","oldWx","launchOption","getLaunchOptionsSync","isWxKey","scene","includes","indexOf","initWx","newWx","canIUse","getAppBaseInfo","getSystemInfoSync","getWindowInfo","getDeviceInfo","_nonIterableRest","TypeError","module","exports","__esModule","toPropertyKey","require","_defineProperty","obj","value","Object","defineProperty","enumerable","configurable","writable","_typeof","toPrimitive","t","i","o","Symbol","iterator","constructor","prototype","r","e","call","String","Number","setPrototypeOf","isNativeReflectConstruct","_construct","Reflect","construct","apply","arguments","push","p","bind","_setPrototypeOf","__proto__","_isNativeReflectConstruct","Boolean","valueOf","arrayWithoutHoles","iterableToArray","unsupportedIterableToArray","nonIterableSpread","_toConsumableArray","arr","arrayLikeToArray","_arrayWithoutHoles","Array","isArray","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","uniIDHasRole","roleId","uniIDHasPermission","permissionId","uniIDTokenValid","Date","now","atob","replace","test","bitmap","r1","r2","result","charAt","fromCharCode","_toString","hasOwnProperty","isFn","fn","isStr","isObject","isPlainObject","hasOwn","noop","cached","cache","create","hit","camelizeRE","camelize","_","toUpperCase","sortObject","sortObj","keys","sort","forEach","HOOKS","globalInterceptors","scopedInterceptors","mergeHook","parentVal","childVal","res","concat","dedupeHooks","hooks","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","reason","EPS","BASE_DEVICE_WIDTH","isIOS","deviceWidth","deviceDPR","checkDeviceWidth","windowWidth","pixelRatio","platform","windowInfo","deviceInfo","upx2px","number","newDeviceWidth","Math","floor","locale","LOCALE_ZH_HANS","LOCALE_ZH_HANT","LOCALE_EN","LOCALE_FR","LOCALE_ES","messages","getLocaleLanguage","localeLanguage","appBaseInfo","language","normalizeLocale","initI18nMessages","isEnableLocale","localeKeys","__uniConfig","locales","curMessages","userMessages","i18n","initVueI18n","mixin","beforeCreate","unwatch","watchLocale","$forceUpdate","$once","methods","$$t","values","setLocale","getLocale","initAppLocale","appVm","state","observable","localeWatchers","$watchLocale","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","rpx2px","findExistsPageIndex","url","pages","getCurrentPages","len","page","$page","fullPath","deviceId","redirectTo","fromArgs","exists","delta","args","existsPageIndex","previewImage","currentIndex","parseInt","current","isNaN","urls","filter","item","indicator","loop","UUID_KEY","useDeviceId","random","setStorage","addSafeAreaInsets","safeArea","safeAreaInsets","top","left","right","bottom","screenHeight","getOSInfo","system","osName","osVersion","toLocaleLowerCase","populateParameters","brand","model","theme","version","fontSizeSetting","SDKVersion","deviceOrientation","extraParam","hostVersion","deviceType","getGetDeviceType","deviceBrand","getDeviceBrand","_hostName","getHostName","_deviceOrientation","_devicePixelRatio","_SDKVersion","hostLanguage","parameters","appId","process","appName","appVersion","appVersionCode","appLanguage","getAppLanguage","uniCompileVersion","uniCompilerVersion","uniRuntimeVersion","uniPlatform","deviceModel","devicePixelRatio","hostTheme","hostName","hostSDKVersion","hostFontSizeSetting","windowTop","windowBottom","osLanguage","undefined","osTheme","ua","hostPackageName","browserName","browserVersion","isUniAppX","deviceTypeMaps","ipad","windows","mac","deviceTypeMapsKeys","_model","_m","defaultLanguage","_platform","environment","host","env","getSystemInfo","showActionSheet","alertText","title","getAppAuthorizeSetting","locationReducedAccuracy","locationAccuracy","compressImage","compressedHeight","compressHeight","compressedWidth","compressWidth","protocols","todos","canIUses","CALLBACKS","processCallback","methodName","processReturnValue","processArgs","argsOption","keepFromArgs","toArgs","keyOption","console","warn","keepReturnValue","wrapper","protocol","arg1","arg2","todoApis","TODOS","createTodoApi","errMsg","providers","oauth","share","payment","getProvider","service","provider","extraApi","getEmitter","Emitter","ctx","$on","$off","$emit","cid","cidErrMsg","enabled","eventApi","tryCatch","getApiCallbacks","apiCallbacks","param","normalizePushMessage","invokePushCallback","type","invokeGetPushCidCallbacks","onPushMessageCallbacks","stopped","getPushCidCallbacks","getPushClientId","hasSuccess","hasFail","hasComplete","onPushMessage","offPushMessage","__f__","baseInfo","shareVideoMessage","miniapp","mocks","findVmByVueId","vm","vuePid","parentVm","$children","childVm","$scope","_$vueId","initBehavior","Behavior","isPage","route","initRelation","detail","triggerEvent","selectAllComponents","mpInstance","selector","$refs","components","component","ref","dataset","toSkip","vueGeneric","scopedComponent","syncRefs","refs","newRefs","oldKeys","Set","newKeys","oldValue","newValue","every","delete","initRefs","forComponents","handleLink","event","vueOptions","parent","markMPComponent","IS_MP","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","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","element","processEventArgs","isCustom","isCustomMPEvent","currentTarget","ret","arg","ONCE","CUSTOM","isMatchEventType","eventType","optType","getContextVm","$parent","$options","generic","handleEvent","eventOpts","eventOpt","eventsArray","isOnce","eventArray","handlerCtx","handler","path","is","once","eventChannels","getEventChannel","id","eventChannel","initEventChannel","getOpenerEventChannel","callHook","__id__","__eventChannel__","initScopedSlotsParams","center","parents","currentId","propsData","$hasSSP","slot","$getSSP","needAll","$setSSP","$initSSP","$callSSP","destroyed","parseBaseApp","store","$store","mpHost","$i18n","_i18n","appOptions","onLaunch","globalData","_isMounted","getLocaleLanguage$1","parseApp","createApp","App","encodeReserveRE","encodeReserveReplacer","commaRE","encode","encodeURIComponent","stringifyQuery","encodeStr","val","val2","x","parseBaseComponent","vueComponentOptions","needVueOptions","multipleSlots","addGlobalClass","componentOptions","__file","lifetimes","attached","$mount","ready","detached","$destroy","pageLifetimes","show","hide","resize","size","__l","__e","externalClasses","wxsCallMethods","callMethod","parseComponent","hooks$1","parseBasePage","vuePageOptions","pageOptions","onLoad","query","copyQuery","parsePage","createPage","createComponent","createSubpackageApp","onShow","onAppShow","onHide","onAppHide","createPlugin","todoApi","canIUseApi","apiName","uni","Proxy","uni$1","_iterableToArray","iter","from","_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","f","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","n","parseFloat","isFinite","toNumber","makeMap","expectsLowerCase","list","isBuiltInTag","isReservedAttribute","remove","capitalize","hyphenateRE","hyphenate","polyfillBind","boundFn","a","l","_length","nativeBind","Function","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","window","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","next","done","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","g","normalizeComponent","scriptExports","functionalTemplate","injectStyles","scopeId","moduleIdentifier","shadowMode","renderjs","__module","__VUE_SSR_CONTEXT__","_registeredComponents","_ssrRegister","shadowRoot","_injectStyles","originalRender","h","onShareAppMessage","view","onShareTimeline","tools","httpOne","upload","URL","showtt","icon","showToast","duration","showload","mask","showLoading","clearLoginStorage","promotionUnlocked","clearStorageSync","setStorageSync","oss","goNext","navigateTo","goBack","num","navigateBack","goSwitchTab","switchTab","goReLaunch","reLaunch","goRedirectTo","axios","showLoads","request","header","hideLoading","throttle","wait","tabs","getList","axiosFrom","axiosFromToken","statusCode","showModal","content","confirm","getScrollHeight","titleH","boundingClientRect","windowHeight","exec","downloadFile","ifOpenFile","saveFile","tempFilePath","savedFilePath","openDocument","filePath","saveImage","saveImageToPhotosAlbum","lookPhoto","copyObj","newobj","imageLook","httpImgUrl","formInfo","tel","makePhoneCall","phoneNumber","ress","isSfz","idcard","isPhone","patrn","isEmail","email","search","y","getFullYear","m","getMonth","getDate","Time","time","toTimeString","timeTotimeStamp","timestamp","timeDifference","startime","endTime","stime","etime","diffTime","day","hour","minute","second","timeText","timestampDifference","timestampToTime","date","Y","M","D","getHours","getMinutes","getSeconds","getDays","leng","nowTime","oneDayTime","dateItem","ShowTime","myDate","year","month","getDay","select","isChine","reg","isForNumber","toFixed","tmCheckImage","fileName","tmCheckVideo","isPassword","copyTextH5App","setClipboardData","AMapWX","requestConfig","s","appname","sdkversion","logversion","MeRequestConfig","serviceName","getWxLocation","getLocation","longitude","latitude","getStorage","errCode","getMEKeywordsSearch","layerId","keywords","city","sortrule","pageNum","pageSize","sig","status","code","getMEIdSearch","getMEPolygonSearch","polygon","getMEaroundSearch","radius","getGeo","extensions","address","batch","getRegeo","location","regeocode","addressComponent","roads","pois","provice","district","streetNumber","street","iconPath","width","iconWidth","height","iconHeight","desc","regeocodeData","infocode","getWeather","lives","weather","temperature","winddirection","windpower","humidity","liveData","forecasts","forecast","adcode","aois","getPoiAround","querytypes","types","querykeywords","iconPathSelected","markers","poisData","getStaticmap","zoom","scale","labels","paths","traffic","getInputtips","citylimit","tips","getDrivingRoute","origin","destination","strategy","waypoints","avoidpolygons","avoidroad","taxi_cost","getWalkingRoute","getTransitRoute","cityd","distance","transits","getRidingRoute","wranning","$u","queryParams","timeFormat","timeFrom","colorGradient","colorToRgba","guid","color","sys","os","type2icon","randomArray","http","post","put","hexToRgb","rgbToHex","deepClone","deepMerge","getParent","addUnit","toast","zIndex","debounce","openShare","mpShare","getRect","$uGetRect","all","in","rect","getParentData","parentName","preventEvent","onReachBottom","beforeDestroy","array","childrenList","emoji","cfg","blankChar","CssHandler","MpHtmlParser","tagStyle","domain","DOM","audioNum","imgNum","videoNum","prot","Text","STACK","bubble","richOnlyTags","decode","amp","en","substring","entities","getUrl","isClose","section","siblings","parseEmoji","setText","popNode","setAttr","attrName","attrVal","boolAttrs","setNode","AttrName","back","onText","flag","tagName","close","selfClosingTags","ignoreTags","href","compress","useAnchor","face","autostart","autoplay","controls","lazyLoad","colspan","rowspan","align","styles","ignore","$","highlight","handleSvg","xmlns","viewbox","getStyle","childs","blockTags","trustTags","one","ten","padding","cellpadding","spacing","cellspacing","border","colNum","row","col","trs","td","cell","autoscroll","table","isLetter","TagName","EndTag","Comment","AttrValue","errorImg","quot","apos","semi","nbsp","ensp","emsp","ndash","mdash","middot","lsquo","rsquo","ldquo","rdquo","bull","hellip","userAgentStyles","big","blockquote","caption","cite","dd","small","u","rp","parser","Space","matched","Name","Ignore","NameSpace","Content","Comma","Request","baseUrl","dataType","responseType","loadingText","loadingTime","timer","originalData","loadingMask","response","customConfig","interceptorRequest","resInterceptors","validate","_interopRequireDefault","NaN","mobile","dateISO","digits","idCard","carNo","xreg","creg","amount","chinese","letter","enOrNum","contains","range","rangeLength","landline","empty","jsonString","object","isEmpty","MPAnimation","_this","animation","createAnimation","currentStepAnimates","aniObj","animateTypes1","transform","unit","nvueAnimation","transition","animates","step","_animateRun","_nvueNextAnimate","isEnd","animationData","export","durationTime","animateTypes2","animateTypes3","isPrefix","arrayFormat","prefix","_result","_value","commaStr","Router","animationType","animationDuration","intercept","addRootPath","mergeConfig","mixinParam","routeIntercept","isNext","openPage","runtime","_regeneratorRuntime","asyncIterator","define","wrap","Generator","Context","makeInvokeMethod","GeneratorFunction","GeneratorFunctionPrototype","getPrototypeOf","defineIteratorMethods","_invoke","AsyncIterator","__await","callInvokeWithMethodAndArg","delegate","maybeInvokeDelegate","sent","_sent","dispatchException","abrupt","resultName","nextLoc","pushTryEntry","tryLoc","catchLoc","finallyLoc","afterLoc","tryEntries","resetTryEntry","completion","reset","displayName","isGeneratorFunction","awrap","reverse","prev","stop","rval","handle","finish","delegateYield","asyncGeneratorStep","gen","_next","_throw","_asyncToGenerator","self","dateTime","fmt","opt","padStart","maxLength","fillString","fillLength","times","ceil","startColor","endColor","startRGB","startR","startG","startB","endRGB","endR","endG","endB","sR","sG","sB","colorArr","hex","round","sColor","sColorNew","sColorChange","rgb","aColor","strHex","aNum","numHex","alpha","arrayWithHoles","iterableToArrayLimit","nonIterableRest","_slicedToArray","firstU","radix","chars","uuid","primary","primaryDark","primaryDisabled","primaryLight","bgColor","infoDark","infoDisabled","infoLight","warning","warningDark","warningDisabled","warningLight","errorDark","errorDisabled","errorLight","successDark","successDisabled","successLight","mainColor","contentColor","tipsColor","lightColor","borderColor","fill","iconName","validation","min","gab","pos","_arrayWithHoles","func","callNow","noNetwork","popup","navbar","topTips","sticky","indexListSticky","blackList","tokenList","login","noMultipleClicks","that","noClick","$utils","_iterableToArrayLimit","_unsupportedIterableToArray","minLen","_arrayLikeToArray","arr2"],"mappings":"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CA,UAKR,CACE,KAAQ,MACR,KAAQ,CACN,CACE,KAAQ,MACR,KAAQ,CACN,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,WAKR,CACE,KAAQ,MACR,KAAQ,CACN,CACE,KAAQ,OACR,KAAQ,CACN,MACA,MACA,MACA,MACA,OACA,OACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,OACA,MACA,IACA,MACA,MACA,QAGJ,CACE,KAAQ,MACR,KAAQ,CACN,MACA,MACA,MACA,MACA,OACA,MACA,OACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,QAGJ,CACE,KAAQ,OACR,KAAQ,CACN,MACA,OACA,OACA,UACA,MACA,MACA,QAGJ,CACE,KAAQ,MACR,KAAQ,CACN,MACA,MACA,MACA,OACA,MACA,MACA,MACA,MACA,OACA,OACA,MACA,MACA,OACA,MACA,MACA,MACA,OACA,MACA,QAGJ,CACE,KAAQ,MACR,KAAQ,CACN,MACA,MACA,MACA,MACA,MACA,MACA,MACA,OACA,MACA,MACA,MACA,MACA,MACA,MACA,OACA,MACA,MACA,MACA,QAGJ,CACE,KAAQ,MACR,KAAQ,CACN,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,OACA,MACA,MACA,MACA,MACA,MACA,OACA,MACA,OACA,MACA,KACA,KACA,MACA,MACA,MACA,SAGJ,CACE,KAAQ,MACR,KAAQ,CACN,MACA,MACA,MACA,OACA,MACA,MACA,MACA,MACA,MACA,OACA,MACA,MACA,MACA,MACA,MACA,MACA,QAGJ,CACE,KAAQ,MACR,KAAQ,CACN,MACA,MACA,SACA,MACA,MACA,MACA,MACA,MACA,UACA,UACA,eAGJ,CACE,KAAQ,MACR,KAAQ,CACN,MACA,MACA,OACA,OACA,MACA,MACA,MACA,MACA,MACA,MACA,OACA,UACA,MACA,MACA,MACA,QAGJ,CACE,KAAQ,MACR,KAAQ,CACN,MACA,MACA,MACA,MACA,MACA,MACA,UACA,MACA,QAGJ,CACE,KAAQ,MACR,KAAQ,CACN,MACA,MACA,MACA,MACA,MACA,MACA,MACA,OACA,MACA,MACA,UAKR,CACE,KAAQ,MACR,KAAQ,CACN,CACE,KAAQ,MACR,KAAQ,CACN,MACA,MACA,OACA,OACA,OACA,MACA,MACA,MACA,MACA,QAGJ,CACE,KAAQ,MACR,KAAQ,CACN,OACA,OACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,QAGJ,CACE,KAAQ,MACR,KAAQ,CACN,OACA,OACA,OACA,MACA,SAGJ,CACE,KAAQ,MACR,KAAQ,CACN,OACA,OACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,OACA,MACA,QAGJ,CACE,KAAQ,MACR,KAAQ,CACN,OACA,MACA,MACA,MACA,MACA,QAGJ,CACE,KAAQ,MACR,KAAQ,CACN,MACA,MACA,MACA,OACA,MACA,QAGJ,CACE,KAAQ,MACR,KAAQ,CACN,MACA,MACA,MACA,MACA,OACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,QAGJ,CACE,KAAQ,MACR,KAAQ,CACN,MACA,MACA,MACA,MACA,MACA,OACA,OACA,MACA,MACA,OACA,MACA,MACA,QAGJ,CACE,KAAQ,MACR,KAAQ,CACN,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,OACA,MACA,QAGJ,CACE,KAAQ,MACR,KAAQ,CACN,MACA,MACA,MACA,MACA,MACA,MACA,MACA,OACA,MACA,MACA,OACA,MACA,OACA,MACA,MACA,OACA,QAGJ,CACE,KAAQ,MACR,KAAQ,CACN,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,OACA,OACA,MACA,UAKR,CACE,KAAQ,MACR,KAAQ,CACN,CACE,KAAQ,QACR,KAAQ,CACN,MACA,MACA,MACA,OACA,QACA,OACA,QACA,OACA,QAGJ,CACE,KAAQ,MACR,KAAQ,CACN,MACA,OACA,MACA,OACA,OACA,OACA,QACA,MACA,cAGJ,CACE,KAAQ,MACR,KAAQ,CACN,OACA,MACA,QAGJ,CACE,KAAQ,MACR,KAAQ,CACN,MACA,OACA,MACA,SACA,OACA,OACA,MACA,QACA,OACA,OACA,MACA,QAGJ,CACE,KAAQ,QACR,KAAQ,CACN,OACA,OACA,OACA,OACA,MACA,QACA,MACA,cACA,SACA,UACA,SACA,SACA,UAGJ,CACE,KAAQ,MACR,KAAQ,CACN,QACA,OACA,UACA,UACA,OACA,QAGJ,CACE,KAAQ,MACR,KAAQ,CACN,OACA,QACA,UACA,UACA,MACA,MACA,MACA,SAGJ,CACE,KAAQ,QACR,KAAQ,CACN,QACA,QACA,OACA,QACA,QACA,SACA,SACA,OACA,MACA,OACA,MACA,QAGJ,CACE,KAAQ,QACR,KAAQ,CACN,MACA,MACA,MACA,MACA,MACA,MACA,MACA,UACA,UACA,UACA,SAGJ,CACE,KAAQ,OACR,KAAQ,CACN,MACA,OACA,OACA,QACA,OACA,MACA,MACA,UAGJ,CACE,KAAQ,QACR,KAAQ,CACN,MACA,MACA,MACA,QACA,QACA,QACA,SAGJ,CACE,KAAQ,OACR,KAAQ,CACN,QACA,QACA,WAKR,CACE,KAAQ,MACR,KAAQ,CACN,CACE,KAAQ,MACR,KAAQ,CACN,MACA,MACA,MACA,MACA,MACA,OACA,MACA,MACA,MACA,MACA,MACA,MACA,SAGJ,CACE,KAAQ,MACR,KAAQ,CACN,MACA,MACA,OACA,OACA,OACA,MACA,OACA,OACA,MACA,QAGJ,CACE,KAAQ,MACR,KAAQ,CACN,MACA,MACA,MACA,MACA,MACA,MACA,YAGJ,CACE,KAAQ,MACR,KAAQ,CACN,MACA,MACA,MACA,MACA,MACA,UACA,YAGJ,CACE,KAAQ,MACR,KAAQ,CACN,MACA,MACA,MACA,MACA,UACA,YAGJ,CACE,KAAQ,MACR,KAAQ,CACN,MACA,MACA,MACA,MACA,MACA,YAGJ,CACE,KAAQ,MACR,KAAQ,CACN,MACA,MACA,MACA,MACA,MACA,KACA,QAGJ,CACE,KAAQ,MACR,KAAQ,CACN,MACA,MACA,OACA,MACA,OACA,QAGJ,CACE,KAAQ,MACR,KAAQ,CACN,MACA,MACA,MACA,OACA,MACA,MACA,aAGJ,CACE,KAAQ,MACR,KAAQ,CACN,MACA,MACA,MACA,OACA,OACA,MACA,QAGJ,CACE,KAAQ,KACR,KAAQ,CACN,OACA,OACA,MACA,QAGJ,CACE,KAAQ,MACR,KAAQ,CACN,MACA,MACA,OACA,MACA,MACA,MACA,QAGJ,CACE,KAAQ,MACR,KAAQ,CACN,MACA,MACA,MACA,MACA,MACA,MACA,gBAGJ,CACE,KAAQ,OACR,KAAQ,CACN,MACA,MACA,MACA,MACA,MACA,UAKR,CACE,KAAQ,MACR,KAAQ,CACN,CACE,KAAQ,MACR,KAAQ,CACN,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,QAGJ,CACE,KAAQ,MACR,KAAQ,CACN,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,QAGJ,CACE,KAAQ,KACR,KAAQ,CACN,MACA,MACA,OACA,MACA,MACA,YAGJ,CACE,KAAQ,MACR,KAAQ,CACN,MACA,MACA,MACA,QAGJ,CACE,KAAQ,MACR,KAAQ,CACN,MACA,OACA,OACA,MACA,MACA,MACA,QAGJ,CACE,KAAQ,MACR,KAAQ,CACN,OACA,MACA,MACA,MACA,MACA,aAGJ,CACE,KAAQ,MACR,KAAQ,CACN,MACA,MACA,MACA,MACA,gBAGJ,CACE,KAAQ,MACR,KAAQ,CACN,MACA,MACA,MACA,MACA,QAGJ,CACE,KAAQ,WACR,KAAQ,CACN,MACA,MACA,MACA,MACA,MACA,MACA,MACA,UAKR,CACE,KAAQ,OACR,KAAQ,CACN,CACE,KAAQ,OACR,KAAQ,CACN,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,KACA,MACA,MACA,MACA,MACA,MACA,QAGJ,CACE,KAAQ,QACR,KAAQ,CACN,MACA,OACA,MACA,MACA,QACA,OACA,WACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,QAGJ,CACE,KAAQ,MACR,KAAQ,CACN,MACA,MACA,MACA,MACA,MACA,MACA,MACA,QAGJ,CACE,KAAQ,MACR,KAAQ,CACN,MACA,MACA,OACA,MACA,MACA,MACA,MACA,QAGJ,CACE,KAAQ,MACR,KAAQ,CACN,MACA,MACA,OACA,MACA,MACA,MACA,MACA,MACA,QAGJ,CACE,KAAQ,MACR,KAAQ,CACN,OACA,MACA,MACA,OACA,MACA,MACA,MACA,MACA,eAGJ,CACE,KAAQ,MACR,KAAQ,CACN,MACA,MACA,MACA,OACA,MACA,MACA,OACA,MACA,MACA,OACA,MACA,MACA,MACA,OACA,OACA,MACA,QAGJ,CACE,KAAQ,OACR,KAAQ,CACN,MACA,MACA,MACA,MACA,OACA,MACA,MACA,MACA,MACA,QAGJ,CACE,KAAQ,OACR,KAAQ,CACN,MACA,MACA,MACA,KACA,MACA,MACA,MACA,MACA,MACA,QAGJ,CACE,KAAQ,OACR,KAAQ,CACN,MACA,MACA,OACA,QAGJ,CACE,KAAQ,MACR,KAAQ,CACN,MACA,MACA,QACA,MACA,MACA,QAGJ,CACE,KAAQ,MACR,KAAQ,CACN,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,QAGJ,CACE,KAAQ,SACR,KAAQ,CACN,MACA,MACA,MACA,aAKR,CACE,KAAQ,MACR,KAAQ,CACN,CACE,KAAQ,MACR,KAAQ,CACN,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,OACA,UAKR,CACE,KAAQ,MACR,KAAQ,CACN,CACE,KAAQ,MACR,KAAQ,CACN,MACA,MACA,MACA,MACA,MACA,MACA,MACA,OACA,MACA,MACA,MACA,MACA,QAGJ,CACE,KAAQ,MACR,KAAQ,CACN,MACA,MACA,MACA,MACA,MACA,MACA,MACA,OACA,MACA,MACA,QAGJ,CACE,KAAQ,MACR,KAAQ,CACN,MACA,MACA,MACA,MACA,MACA,MACA,MACA,QAGJ,CACE,KAAQ,MACR,KAAQ,CACN,MACA,MACA,OACA,MACA,MACA,MACA,QAGJ,CACE,KAAQ,MACR,KAAQ,CACN,MACA,MACA,MACA,MACA,MACA,QAGJ,CACE,KAAQ,MACR,KAAQ,CACN,MACA,MACA,MACA,MACA,MACA,MACA,MACA,QAGJ,CACE,KAAQ,MACR,KAAQ,CACN,MACA,MACA,MACA,MACA,MACA,QAGJ,CACE,KAAQ,MACR,KAAQ,CACN,MACA,MACA,MACA,MACA,MACA,MACA,QAGJ,CACE,KAAQ,MACR,KAAQ,CACN,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,QAGJ,CACE,KAAQ,OACR,KAAQ,CACN,MACA,MACA,MACA,MACA,MACA,MACA,QAGJ,CACE,KAAQ,MACR,KAAQ,CACN,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,KACA,OAGJ,CACE,KAAQ,MACR,KAAQ,CACN,MACA,MACA,MACA,MACA,MACA,MACA,MACA,QAGJ,CACE,KAAQ,MACR,KAAQ,CACN,MACA,MACA,MACA,MACA,UAKR,CACE,KAAQ,MACR,KAAQ,CACN,CACE,KAAQ,MACR,KAAQ,CACN,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,QAGJ,CACE,KAAQ,MACR,KAAQ,CACN,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,QAGJ,CACE,KAAQ,MACR,KAAQ,CACN,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,QAGJ,CACE,KAAQ,MACR,KAAQ,CACN,MACA,MACA,MACA,MACA,MACA,MACA,QAGJ,CACE,KAAQ,MACR,KAAQ,CACN,MACA,MACA,MACA,MACA,QAGJ,CACE,KAAQ,MACR,KAAQ,CACN,MACA,MACA,MACA,MACA,MACA,QAGJ,CACE,KAAQ,MACR,KAAQ,CACN,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,QAGJ,CACE,KAAQ,MACR,KAAQ,CACN,MACA,MACA,MACA,MACA,MACA,QAGJ,CACE,KAAQ,MACR,KAAQ,CACN,MACA,MACA,MACA,QAGJ,CACE,KAAQ,MACR,KAAQ,CACN,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,QAGJ,CACE,KAAQ,MACR,KAAQ,CACN,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,cAKR,CACE,KAAQ,MACR,KAAQ,CACN,CACE,KAAQ,MACR,KAAQ,CACN,MACA,MACA,MACA,MACA,MACA,MACA,QAGJ,CACE,KAAQ,MACR,KAAQ,CACN,MACA,MACA,MACA,MACA,MACA,MACA,QAGJ,CACE,KAAQ,MACR,KAAQ,CACN,MACA,OACA,MACA,MACA,MACA,MACA,QAGJ,CACE,KAAQ,MACR,KAAQ,CACN,OACA,MACA,OACA,OACA,MACA,QAGJ,CACE,KAAQ,OACR,KAAQ,CACN,MACA,MACA,OACA,QAGJ,CACE,KAAQ,MACR,KAAQ,CACN,MACA,MACA,MACA,QAGJ,CACE,KAAQ,MACR,KAAQ,CACN,OACA,OACA,KACA,QAGJ,CACE,KAAQ,MACR,KAAQ,CACN,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,QAGJ,CACE,KAAQ,MACR,KAAQ,CACN,MACA,MACA,MACA,MACA,KACA,MACA,OAGJ,CACE,KAAQ,MACR,KAAQ,CACN,MACA,MACA,MACA,MACA,MACA,MACA,MACA,QAGJ,CACE,KAAQ,MACR,KAAQ,CACN,MACA,MACA,MACA,MACA,MACA,MACA,MACA,QAGJ,CACE,KAAQ,MACR,KAAQ,CACN,MACA,KACA,KACA,MACA,QAGJ,CACE,KAAQ,MACR,KAAQ,CACN,MACA,MACA,MACA,MACA,OAGJ,CACE,KAAQ,MACR,KAAQ,CACN,MACA,MACA,KACA,MACA,MACA,MACA,QAGJ,CACE,KAAQ,MACR,KAAQ,CACN,MACA,MACA,MACA,QAGJ,CACE,KAAQ,MACR,KAAQ,CACN,MACA,MACA,MACA,QAGJ,CACE,KAAQ,MACR,KAAQ,CACN,MACA,MACA,MACA,MACA,KACA,MACA,UAKR,CACE,KAAQ,MACR,KAAQ,CACN,CACE,KAAQ,MACR,KAAQ,CACN,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,QAGJ,CACE,KAAQ,MACR,KAAQ,CACN,MACA,MACA,MACA,MACA,MACA,QAGJ,CACE,KAAQ,MACR,KAAQ,CACN,MACA,MACA,MACA,MACA,QAGJ,CACE,KAAQ,MACR,KAAQ,CACN,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,KACA,MACA,MACA,QAGJ,CACE,KAAQ,MACR,KAAQ,CACN,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,QAGJ,CACE,KAAQ,MACR,KAAQ,CACN,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,QAGJ,CACE,KAAQ,MACR,KAAQ,CACN,MACA,MACA,MACA,OACA,MACA,MACA,MACA,MACA,MACA,QAGJ,CACE,KAAQ,MACR,KAAQ,CACN,MACA,MACA,MACA,MACA,MACA,MACA,QAGJ,CACE,KAAQ,MACR,KAAQ,CACN,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,UAKR,CACE,KAAQ,MACR,KAAQ,CACN,CACE,KAAQ,MACR,KAAQ,CACN,MACA,MACA,OACA,MACA,OACA,MACA,MACA,MACA,QAGJ,CACE,KAAQ,OACR,KAAQ,CACN,MACA,MACA,MACA,QAGJ,CACE,KAAQ,MACR,KAAQ,CACN,MACA,MACA,MACA,MACA,QAGJ,CACE,KAAQ,MACR,KAAQ,CACN,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,QAGJ,CACE,KAAQ,MACR,KAAQ,CACN,MACA,QAGJ,CACE,KAAQ,MACR,KAAQ,CACN,MACA,MACA,QAGJ,CACE,KAAQ,MACR,KAAQ,CACN,MACA,MACA,MACA,MACA,MACA,KACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,QAGJ,CACE,KAAQ,MACR,KAAQ,CACN,MACA,MACA,OACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,QAGJ,CACE,KAAQ,MACR,KAAQ,CACN,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,QAGJ,CACE,KAAQ,MACR,KAAQ,CACN,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,QAGJ,CACE,KAAQ,MACR,KAAQ,CACN,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,UAKR,CACE,KAAQ,MACR,KAAQ,CACN,CACE,KAAQ,MACR,KAAQ,CACN,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACN,MACA,QAGE,CACE,KAAQ,MACR,KAAQ,CACN,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,QAGJ,CACE,KAAQ,MACR,KAAQ,CACN,MACA,MACA,MACA,MACA,MACA,MACA,MACA,QAGJ,CACE,KAAQ,MACR,KAAQ,CACN,MACA,MACA,MACA,OACA,MACA,QAGJ,CACE,KAAQ,MACR,KAAQ,CACN,MACA,MACA,MACA,MACA,QAGJ,CACE,KAAQ,MACR,KAAQ,CACN,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,QAGJ,CACE,KAAQ,MACR,KAAQ,CACN,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,QAGJ,CACE,KAAQ,MACR,KAAQ,CACN,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,QAGJ,CACE,KAAQ,MACR,KAAQ,CACN,MACA,MACA,MACA,MACA,MACA,QAGJ,CACE,KAAQ,MACR,KAAQ,CACN,MACA,MACA,MACA,QAGJ,CACE,KAAQ,MACR,KAAQ,CACN,MACA,MACA,MACA,OAGJ,CACE,KAAQ,MACR,KAAQ,CACN,MACA,MACA,MACA,MACA,MACA,MACA,MACA,KACA,MACA,MACA,MACA,QAGJ,CACE,KAAQ,MACR,KAAQ,CACN,MACA,MACA,MACA,KACA,MACA,MACA,MACA,MACA,MACA,MACA,QAGJ,CACE,KAAQ,MACR,KAAQ,CACN,OACA,MACA,MACA,MACA,MACA,KACA,MACA,OAGJ,CACE,KAAQ,MACR,KAAQ,CACN,MACA,MACA,MACA,MACA,MACA,MACA,QAGJ,CACE,KAAQ,MACR,KAAQ,CACN,MACA,MACA,KACA,MACA,KACA,MACA,MACA,MACA,UAKR,CACE,KAAQ,MACR,KAAQ,CACN,CACE,KAAQ,MACR,KAAQ,CACN,MACA,MACA,MACA,QACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,QAGJ,CACE,KAAQ,MACR,KAAQ,CACN,MACA,MACA,QACA,OACA,MACA,MACA,MACA,MACA,KACA,QAGJ,CACE,KAAQ,MACR,KAAQ,CACN,MACA,MACA,MACA,QACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,KACA,MACA,MACA,QAGJ,CACE,KAAQ,OACR,KAAQ,CACN,MACA,MACA,MACA,MACA,MACA,MACA,MACA,KACA,KACA,QAGJ,CACE,KAAQ,MACR,KAAQ,CACN,MACA,MACA,MACA,MACA,MACA,MACA,KACA,MACA,QAGJ,CACE,KAAQ,MACR,KAAQ,CACN,MACA,MACA,MACA,KACA,OAGJ,CACE,KAAQ,MACR,KAAQ,CACN,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,QAGJ,CACE,KAAQ,MACR,KAAQ,CACN,MACA,MACA,MACA,MACA,MACA,MACA,MACA,KACA,MACA,QAGJ,CACE,KAAQ,MACR,KAAQ,CACN,MACA,MACA,MACA,MACA,MACA,OAGJ,CACE,KAAQ,MACR,KAAQ,CACN,MACA,MACA,MACA,MACA,MACA,QAGJ,CACE,KAAQ,MACR,KAAQ,CACN,MACA,MACA,MACA,MACA,QAGJ,CACE,KAAQ,OACR,KAAQ,CACN,MACA,MACA,MACA,MACA,MACA,OAGJ,CACE,KAAQ,MACR,KAAQ,CACN,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,QAGJ,CACE,KAAQ,MACR,KAAQ,CACN,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,OAGJ,CACE,KAAQ,MACR,KAAQ,CACN,MACA,MACA,MACA,MACA,KACA,KACA,MACA,MACA,MACA,QAGJ,CACE,KAAQ,MACR,KAAQ,CACN,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,QAGJ,CACE,KAAQ,OACR,KAAQ,CACN,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,QAGJ,CACE,KAAQ,MACR,KAAQ,CACN,UAKR,CACE,KAAQ,MACR,KAAQ,CACN,CACE,KAAQ,MACR,KAAQ,CACN,MACA,MACA,MACA,MACA,MACA,MACA,MACA,OACA,MACA,MACA,MACA,MACA,QAGJ,CACE,KAAQ,MACR,KAAQ,CACN,OACA,OACA,MACA,MACA,MACA,QAGJ,CACE,KAAQ,MACR,KAAQ,CACN,MACA,MACA,OACA,KACA,MACA,KACA,MACA,QAGJ,CACE,KAAQ,MACR,KAAQ,CACN,MACA,MACA,MACA,MACA,MACA,MACA,MACA,QAGJ,CACE,KAAQ,MACR,KAAQ,CACN,MACA,OACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,WACA,aAGJ,CACE,KAAQ,MACR,KAAQ,CACN,MACA,MACA,MACA,OACA,MACA,MACA,MACA,MACA,QAGJ,CACE,KAAQ,MACR,KAAQ,CACN,MACA,MACA,SAGJ,CACE,KAAQ,MACR,KAAQ,CACN,MACA,MACA,MACA,MACA,QAGJ,CACE,KAAQ,MACR,KAAQ,CACN,MACA,MACA,MACA,MACA,MACA,MACA,QAGJ,CACE,KAAQ,MACR,KAAQ,CACN,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,QAGJ,CACE,KAAQ,MACR,KAAQ,CACN,MACA,MACA,MACA,MACA,MACA,QAGJ,CACE,KAAQ,MACR,KAAQ,CACN,MACA,QAGJ,CACE,KAAQ,aACR,KAAQ,CACN,MACA,MACA,MACA,MACA,MACA,MACA,MACA,QAGJ,CACE,KAAQ,MACR,KAAQ,CACN,OAGJ,CACE,KAAQ,MACR,KAAQ,CACN,OAGJ,CACE,KAAQ,MACR,KAAQ,CACN,OAGJ,CACE,KAAQ,QACR,KAAQ,CACN,YAKR,CACE,KAAQ,MACR,KAAQ,CACN,CACE,KAAQ,MACR,KAAQ,CACN,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,QAGJ,CACE,KAAQ,MACR,KAAQ,CACN,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,OAGJ,CACE,KAAQ,MACR,KAAQ,CACN,MACA,MACA,MACA,MACA,QAGJ,CACE,KAAQ,MACR,KAAQ,CACN,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,QAGJ,CACE,KAAQ,MACR,KAAQ,CACN,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,YAGJ,CACE,KAAQ,MACR,KAAQ,CACN,OACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,QAGJ,CACE,KAAQ,MACR,KAAQ,CACN,MACA,MACA,MACA,KACA,MACA,MACA,MACA,MACA,QAGJ,CACE,KAAQ,OACR,KAAQ,CACN,MACA,OACA,MACA,QAGJ,CACE,KAAQ,MACR,KAAQ,CACN,MACA,MACA,MACA,MACA,KACA,QAGJ,CACE,KAAQ,MACR,KAAQ,CACN,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,QAGJ,CACE,KAAQ,MACR,KAAQ,CACN,OACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,KACA,MACA,YAGJ,CACE,KAAQ,MACR,KAAQ,CACN,MACA,MACA,MACA,MACA,MACA,MACA,MACA,UACA,UACA,UACA,YACA,YAGJ,CACE,KAAQ,MACR,KAAQ,CACN,MACA,OACA,MACA,MACA,QAGJ,CACE,KAAQ,aACR,KAAQ,CACN,MACA,MACA,MACA,MACA,MACA,MACA,MACA,UAKR,CACE,KAAQ,MACR,KAAQ,CACN,CACE,KAAQ,MACR,KAAQ,CACN,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,QAGJ,CACE,KAAQ,MACR,KAAQ,CACN,MACA,MACA,MACA,MACA,MACA,QAGJ,CACE,KAAQ,MACR,KAAQ,CACN,KACA,KACA,OAKJ,CACE,KAAQ,MACR,KAAQ,CACN,OAGJ,CACE,KAAQ,MACR,KAAQ,CACN,MACA,MACA,QAGJ,CACE,KAAQ,MACR,KAAQ,CACN,MACA,MACA,MACA,MACA,QAGJ,CACE,KAAQ,MACR,KAAQ,CACN,MACA,MACA,MACA,MACA,QAGJ,CACE,KAAQ,MACR,KAAQ,CACN,MACA,MACA,QAGJ,CACE,KAAQ,MACR,KAAQ,CACN,MACA,MACA,MACA,MACA,MACA,MACA,QAGJ,CACE,KAAQ,MACR,KAAQ,CACN,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,YAGJ,CACE,KAAQ,MACR,KAAQ,CACN,MACA,MACA,MACA,MACA,QAGJ,CACE,KAAQ,MACR,KAAQ,CACN,MACA,MACA,MACA,MACA,MACA,MACA,QAGJ,CACE,KAAQ,MACR,KAAQ,CACN,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,QAGJ,CACE,KAAQ,MACR,KAAQ,CACN,MACA,MACA,MACA,MACA,MACA,QAGJ,CACE,KAAQ,MACR,KAAQ,CACN,MACA,MACA,MACA,MACA,MACA,MACA,MACA,QAGJ,CACE,KAAQ,MACR,KAAQ,CACN,MACA,MACA,MACA,MACA,QAGJ,CACE,KAAQ,MACR,KAAQ,CACN,MACA,MACA,KACA,MACA,MACA,MACA,MACA,QAGJ,CACE,KAAQ,MACR,KAAQ,CACN,KACA,MACA,MACA,QAGJ,CACE,KAAQ,MACR,KAAQ,CACN,MACA,MACA,MACA,MACA,MACA,QAGJ,CACE,KAAQ,MACR,KAAQ,CACN,MACA,MACA,MACA,QAGJ,CACE,KAAQ,MACR,KAAQ,CACN,MACA,MACA,MACA,MACA,MACA,MACA,YACA,cAKR,CACE,KAAQ,KACR,KAAQ,CACN,CACE,KAAQ,MACR,KAAQ,CACN,MACA,MACA,OACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,OAGJ,CACE,KAAQ,MACR,KAAQ,CACN,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,UACA,YAGJ,CACE,KAAQ,MACR,KAAQ,CACN,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,UACA,YAGJ,CACE,KAAQ,MACR,KAAQ,CACN,MACA,MACA,MACA,MACA,MACA,KACA,QAGJ,CACE,KAAQ,MACR,KAAQ,CACN,MACA,MACA,OACA,QAGJ,CACE,KAAQ,OACR,KAAQ,CACN,MACA,MACA,MACA,QAGJ,CACE,KAAQ,MACR,KAAQ,CACN,MACA,MACA,MACA,QAGJ,CACE,KAAQ,MACR,KAAQ,CACN,MACA,MACA,MACA,MACA,QAGJ,CACE,KAAQ,MACR,KAAQ,CACN,MACA,MACA,KACA,MACA,MACA,QAGJ,CACE,KAAQ,MACR,KAAQ,CACN,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,YAGJ,CACE,KAAQ,MACR,KAAQ,CACN,MACA,MACA,MACA,YAGJ,CACE,KAAQ,MACR,KAAQ,CACN,OACA,MACA,MACA,MACA,MACA,MACA,UACA,WACA,UACA,WACA,YAGJ,CACE,KAAQ,MACR,KAAQ,CACN,MACA,MACA,MACA,MACA,MACA,YAGJ,CACE,KAAQ,MACR,KAAQ,CACN,MACA,MACA,MACA,MACA,MACA,MACA,UAKR,CACE,KAAQ,MACR,KAAQ,CACN,CACE,KAAQ,MACR,KAAQ,CACN,MACA,MACA,MACA,QAGJ,CACE,KAAQ,MACR,KAAQ,CACN,QAGJ,CACE,KAAQ,OACR,KAAQ,CACN,QAGJ,CACE,KAAQ,MACR,KAAQ,CACN,OAGJ,CACE,KAAQ,MACR,KAAQ,CACN,OAGJ,CACE,KAAQ,MACR,KAAQ,CACN,OAGJ,CACE,KAAQ,MACR,KAAQ,CACN,OAGJ,CACE,KAAQ,MACR,KAAQ,CACN,OAGJ,CACE,KAAQ,MACR,KAAQ,CACN,QAGJ,CACE,KAAQ,MACR,KAAQ,CACN,QAGJ,CACE,KAAQ,MACR,KAAQ,CACN,QAGJ,CACE,KAAQ,MACR,KAAQ,CACN,QAGJ,CACE,KAAQ,UACR,KAAQ,CACN,YAGJ,CACE,KAAQ,UACR,KAAQ,CACN,YAGJ,CACE,KAAQ,UACR,KAAQ,CACN,YAGJ,CACE,KAAQ,UACR,KAAQ,CACN,YAGJ,CACE,KAAQ,YACR,KAAQ,CACN,cAGJ,CACE,KAAQ,YACR,KAAQ,CACN,gBAKR,CACE,KAAQ,MACR,KAAQ,CACN,CACE,KAAQ,MACR,KAAQ,CACN,MACA,OACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,OACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,OACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,KACA,KACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,WACA,aACA,aACA,iBAKR,CACE,KAAQ,MACR,KAAQ,CACN,CACE,KAAQ,MACR,KAAQ,CACN,MACA,MACA,MACA,MACA,MACA,OACA,OACA,MACA,MACA,OACA,MACA,MACA,MACA,MACA,KACA,MACA,MACA,MACA,QAGJ,CACE,KAAQ,MACR,KAAQ,CACN,MACA,OACA,MACA,MACA,KACA,QAGJ,CACE,KAAQ,OACR,KAAQ,CACN,MACA,MACA,MACA,KACA,OAGJ,CACE,KAAQ,MACR,KAAQ,CACN,MACA,MACA,OACA,KACA,MACA,MACA,QAGJ,CACE,KAAQ,MACR,KAAQ,CACN,MACA,MACA,MACA,MACA,MACA,QAGJ,CACE,KAAQ,MACR,KAAQ,CACN,MACA,MACA,MACA,MACA,MACA,MACA,KACA,MACA,YAGJ,CACE,KAAQ,MACR,KAAQ,CACN,MACA,MACA,MACA,MACA,MACA,MACA,QAGJ,CACE,KAAQ,MACR,KAAQ,CACN,MACA,MACA,MACA,MACA,QAGJ,CACE,KAAQ,MACR,KAAQ,CACN,MACA,MACA,MACA,MACA,QAGJ,CACE,KAAQ,MACR,KAAQ,CACN,MACA,OACA,MACA,OACA,OACA,MACA,MACA,MACA,MACA,UACA,YAGJ,CACE,KAAQ,KACR,KAAQ,CACN,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,QAGJ,CACE,KAAQ,MACR,KAAQ,CACN,MACA,MACA,MACA,MACA,MACA,QAGJ,CACE,KAAQ,MACR,KAAQ,CACN,MACA,MACA,MACA,MACA,KACA,MACA,KACA,MACA,MACA,QAGJ,CACE,KAAQ,MACR,KAAQ,CACN,MACA,MACA,MACA,MACA,QAGJ,CACE,KAAQ,MACR,KAAQ,CACN,MACA,MACA,KACA,KACA,MACA,MACA,QAGJ,CACE,KAAQ,MACR,KAAQ,CACN,MACA,MACA,MACA,MACA,MACA,MACA,MACA,QAGJ,CACE,KAAQ,MACR,KAAQ,CACN,MACA,MACA,MACA,QAGJ,CACE,KAAQ,MACR,KAAQ,CACN,MACA,MACA,MACA,QAGJ,CACE,KAAQ,YACR,KAAQ,CACN,OACA,OACA,MACA,MACA,MACA,KACA,OACA,MACA,MACA,MACA,MACA,MACA,OAGJ,CACE,KAAQ,UACR,KAAQ,CACN,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,QAGJ,CACE,KAAQ,UACR,KAAQ,CACN,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,cAKR,CACE,KAAQ,MACR,KAAQ,CACN,CACE,KAAQ,MACR,KAAQ,CACN,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,QAGJ,CACE,KAAQ,OACR,KAAQ,CACN,MACA,MACA,KACA,SAGJ,CACE,KAAQ,MACR,KAAQ,CACN,OACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,aACA,eAGJ,CACE,KAAQ,MACR,KAAQ,CACN,MACA,MACA,MACA,aACA,aACA,eAGJ,CACE,KAAQ,OACR,KAAQ,CACN,MACA,MACA,MACA,MACA,MACA,UACA,UACA,aACA,WACA,SAGJ,CACE,KAAQ,OACR,KAAQ,CACN,MACA,MACA,MACA,MACA,MACA,MACA,MACA,gBAGJ,CACE,KAAQ,cACR,KAAQ,CACN,MACA,MACA,MACA,MACA,MACA,MACA,MACA,QAGJ,CACE,KAAQ,aACR,KAAQ,CACN,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,QAGJ,CACE,KAAQ,aACR,KAAQ,CACN,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,cAKR,CACE,KAAQ,MACR,KAAQ,CACN,CACE,KAAQ,MACR,KAAQ,CACN,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,UACA,YACA,cAGJ,CACE,KAAQ,MACR,KAAQ,CACN,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,QAGJ,CACE,KAAQ,MACR,KAAQ,CACN,MACA,MACA,MACA,MACA,MACA,MACA,UACA,YACA,iBAGJ,CACE,KAAQ,MACR,KAAQ,CACN,MACA,MACA,MACA,MACA,QAGJ,CACE,KAAQ,MACR,KAAQ,CACN,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,QAGJ,CACE,KAAQ,MACR,KAAQ,CACN,MACA,MACA,MACA,WACA,YAGJ,CACE,KAAQ,MACR,KAAQ,CACN,MACA,aACA,WACA,UACA,YACA,gBACA,aACA,eACA,WACA,YAGJ,CACE,KAAQ,MACR,KAAQ,CACN,MACA,MACA,KACA,MACA,MACA,kBACA,YACA,YAGJ,CACE,KAAQ,aACR,KAAQ,CACN,MACA,MACA,MACA,MACA,QAGJ,CACE,KAAQ,WACR,KAAQ,CACN,MACA,MACA,aACA,eAGJ,CACE,KAAQ,UACR,KAAQ,CACN,QACA,MACA,aAGJ,CACE,KAAQ,UACR,KAAQ,CACN,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,UACA,UACA,cAGJ,CACE,KAAQ,UACR,KAAQ,CACN,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,QAGJ,CACE,KAAQ,aACR,KAAQ,CACN,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,cACA,UACA,YAGJ,CACE,KAAQ,YACR,KAAQ,CACN,MACA,MACA,MACA,OACA,MACA,MACA,MACA,QAGJ,CACE,KAAQ,YACR,KAAQ,CACN,MACA,MACA,UAKR,CACE,KAAQ,KACR,KAAQ,CACN,CACE,KAAQ,MACR,KAAQ,CACN,MACA,MACA,MACA,MACA,MACA,QACA,MACA,UAGJ,CACE,KAAQ,OACR,KAAQ,CACN,MACA,MACA,MACA,MACA,MACA,MACA,KACA,MACA,MACA,QAGJ,CACE,KAAQ,OACR,KAAQ,CACN,MACA,MACA,MACA,OACA,MACA,MACA,MACA,MACA,MACA,MACA,QAGJ,CACE,KAAQ,OACR,KAAQ,CACN,MACA,QACA,MACA,MACA,MACA,MACA,OAGJ,CACE,KAAQ,OACR,KAAQ,CACN,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,SAGJ,CACE,KAAQ,QACR,KAAQ,CACN,OACA,OACA,MACA,MACA,MACA,MACA,MACA,OACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,OACA,MACA,QAGJ,CACE,KAAQ,OACR,KAAQ,CACN,MACA,MACA,MACA,MACA,MACA,MACA,UAKR,CACE,KAAQ,MACR,KAAQ,CACN,CACE,KAAQ,MACR,KAAQ,CACN,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,KACA,QAGJ,CACE,KAAQ,MACR,KAAQ,CACN,MACA,MACA,MACA,QAGJ,CACE,KAAQ,MACR,KAAQ,CACN,MACA,MACA,MACA,MACA,MACA,KACA,MACA,MACA,MACA,MACA,KACA,OAGJ,CACE,KAAQ,MACR,KAAQ,CACN,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,KACA,MACA,MACA,KACA,MACA,QAGJ,CACE,KAAQ,MACR,KAAQ,CACN,MACA,MACA,MACA,MACA,MACA,MACA,MACA,KACA,MACA,MACA,QAGJ,CACE,KAAQ,MACR,KAAQ,CACN,MACA,MACA,MACA,MACA,MACA,MACA,KACA,MACA,MACA,MACA,MACA,MACA,QAGJ,CACE,KAAQ,MACR,KAAQ,CACN,MACA,MACA,MACA,MACA,MACA,KACA,MACA,MACA,KACA,MACA,QAGJ,CACE,KAAQ,MACR,KAAQ,CACN,MACA,MACA,MACA,MACA,KACA,MACA,MACA,MACA,MACA,MACA,MACA,QAGJ,CACE,KAAQ,MACR,KAAQ,CACN,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,QAGJ,CACE,KAAQ,MACR,KAAQ,CACN,MACA,MACA,MACA,MACA,MACA,MACA,UAKR,CACE,KAAQ,MACR,KAAQ,CACN,CACE,KAAQ,MACR,KAAQ,CACN,MACA,OACA,MACA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","file":"common/vendor.js","sourcesContent":["const objectKeys = [\r\n 'qy',\r\n 'env',\r\n 'error',\r\n 'version',\r\n 'lanDebug',\r\n 'cloud',\r\n 'serviceMarket',\r\n 'router',\r\n 'worklet',\r\n '__webpack_require_UNI_MP_PLUGIN__'\r\n]\r\nconst singlePageDisableKey = [\r\n 'lanDebug',\r\n 'router',\r\n 'worklet'\r\n]\r\nconst target = typeof globalThis !== 'undefined' ? globalThis : (function () {\r\n return this\r\n})()\r\n\r\nconst key = ['w', 'x'].join('')\r\nconst oldWx = target[key]\r\nconst launchOption = oldWx.getLaunchOptionsSync ? oldWx.getLaunchOptionsSync() : null\r\n\r\nfunction isWxKey (key) {\r\n if (launchOption && launchOption.scene === 1154 && singlePageDisableKey.includes(key)) {\r\n return false\r\n }\r\n return objectKeys.indexOf(key) > -1 || typeof oldWx[key] === 'function'\r\n}\r\n\r\nfunction initWx () {\r\n const newWx = {}\r\n for (const key in oldWx) {\r\n if (isWxKey(key)) {\r\n // TODO wrapper function\r\n newWx[key] = oldWx[key]\r\n }\r\n }\r\n return newWx\r\n}\r\ntarget[key] = initWx()\r\nif (!target[key].canIUse('getAppBaseInfo')) {\r\n target[key].getAppBaseInfo = target[key].getSystemInfoSync\r\n}\r\n\r\nif (!target[key].canIUse('getWindowInfo')) {\r\n target[key].getWindowInfo = target[key].getSystemInfoSync\r\n}\r\n\r\nif (!target[key].canIUse('getDeviceInfo')) {\r\n target[key].getDeviceInfo = target[key].getSystemInfoSync\r\n}\r\nexport default target[key]\r\n","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;","import { initVueI18n } from '@dcloudio/uni-i18n';\nimport Vue from 'vue';\n\nlet realAtob;\n\nconst b64 = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=';\nconst b64re = /^(?:[A-Za-z\\d+/]{4})*?(?:[A-Za-z\\d+/]{2}(?:==)?|[A-Za-z\\d+/]{3}=?)?$/;\n\nif (typeof atob !== 'function') {\n realAtob = function (str) {\n str = String(str).replace(/[\\t\\n\\f\\r ]+/g, '');\n if (!b64re.test(str)) { throw new Error(\"Failed to execute 'atob' on 'Window': The string to be decoded is not correctly encoded.\") }\n\n // Adding the padding if missing, for semplicity\n str += '=='.slice(2 - (str.length & 3));\n var bitmap; var result = ''; var r1; var r2; var i = 0;\n for (; i < str.length;) {\n bitmap = b64.indexOf(str.charAt(i++)) << 18 | b64.indexOf(str.charAt(i++)) << 12 |\n (r1 = b64.indexOf(str.charAt(i++))) << 6 | (r2 = b64.indexOf(str.charAt(i++)));\n\n result += r1 === 64 ? String.fromCharCode(bitmap >> 16 & 255)\n : r2 === 64 ? String.fromCharCode(bitmap >> 16 & 255, bitmap >> 8 & 255)\n : String.fromCharCode(bitmap >> 16 & 255, bitmap >> 8 & 255, bitmap & 255);\n }\n return result\n };\n} else {\n // 注意atob只能在全局对象上调用,例如:`const Base64 = {atob};Base64.atob('xxxx')`是错误的用法\n realAtob = atob;\n}\n\nfunction b64DecodeUnicode (str) {\n return decodeURIComponent(realAtob(str).split('').map(function (c) {\n return '%' + ('00' + c.charCodeAt(0).toString(16)).slice(-2)\n }).join(''))\n}\n\nfunction getCurrentUserInfo () {\n const token = ( wx).getStorageSync('uni_id_token') || '';\n const tokenArr = token.split('.');\n if (!token || tokenArr.length !== 3) {\n return {\n uid: null,\n role: [],\n permission: [],\n tokenExpired: 0\n }\n }\n let userInfo;\n try {\n userInfo = JSON.parse(b64DecodeUnicode(tokenArr[1]));\n } catch (error) {\n throw new Error('获取当前用户信息出错,详细错误信息为:' + error.message)\n }\n userInfo.tokenExpired = userInfo.exp * 1000;\n delete userInfo.exp;\n delete userInfo.iat;\n return userInfo\n}\n\nfunction uniIdMixin (Vue) {\n Vue.prototype.uniIDHasRole = function (roleId) {\n const {\n role\n } = getCurrentUserInfo();\n return role.indexOf(roleId) > -1\n };\n Vue.prototype.uniIDHasPermission = function (permissionId) {\n const {\n permission\n } = getCurrentUserInfo();\n return this.uniIDHasRole('admin') || permission.indexOf(permissionId) > -1\n };\n Vue.prototype.uniIDTokenValid = function () {\n const {\n tokenExpired\n } = getCurrentUserInfo();\n return tokenExpired > Date.now()\n };\n}\n\nconst _toString = Object.prototype.toString;\nconst hasOwnProperty = Object.prototype.hasOwnProperty;\n\nfunction isFn (fn) {\n return typeof fn === 'function'\n}\n\nfunction isStr (str) {\n return typeof str === 'string'\n}\n\nfunction isObject (obj) {\n return obj !== null && typeof obj === 'object'\n}\n\nfunction isPlainObject (obj) {\n return _toString.call(obj) === '[object Object]'\n}\n\nfunction hasOwn (obj, key) {\n return hasOwnProperty.call(obj, key)\n}\n\nfunction noop () {}\n\n/**\n * Create a cached version of a pure function.\n */\nfunction cached (fn) {\n const cache = Object.create(null);\n return function cachedFn (str) {\n const hit = cache[str];\n return hit || (cache[str] = fn(str))\n }\n}\n\n/**\n * Camelize a hyphen-delimited string.\n */\nconst camelizeRE = /-(\\w)/g;\nconst camelize = cached((str) => {\n return str.replace(camelizeRE, (_, c) => c ? c.toUpperCase() : '')\n});\n\nfunction sortObject (obj) {\n const sortObj = {};\n if (isPlainObject(obj)) {\n Object.keys(obj).sort().forEach(key => {\n sortObj[key] = obj[key];\n });\n }\n return !Object.keys(sortObj) ? obj : sortObj\n}\n\nconst HOOKS = [\n 'invoke',\n 'success',\n 'fail',\n 'complete',\n 'returnValue'\n];\n\nconst globalInterceptors = {};\nconst scopedInterceptors = {};\n\nfunction mergeHook (parentVal, childVal) {\n const res = childVal\n ? parentVal\n ? parentVal.concat(childVal)\n : Array.isArray(childVal)\n ? childVal : [childVal]\n : parentVal;\n return res\n ? dedupeHooks(res)\n : res\n}\n\nfunction dedupeHooks (hooks) {\n const res = [];\n for (let 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\nfunction removeHook (hooks, hook) {\n const index = hooks.indexOf(hook);\n if (index !== -1) {\n hooks.splice(index, 1);\n }\n}\n\nfunction mergeInterceptorHook (interceptor, option) {\n Object.keys(option).forEach(hook => {\n if (HOOKS.indexOf(hook) !== -1 && isFn(option[hook])) {\n interceptor[hook] = mergeHook(interceptor[hook], option[hook]);\n }\n });\n}\n\nfunction removeInterceptorHook (interceptor, option) {\n if (!interceptor || !option) {\n return\n }\n Object.keys(option).forEach(hook => {\n if (HOOKS.indexOf(hook) !== -1 && isFn(option[hook])) {\n removeHook(interceptor[hook], option[hook]);\n }\n });\n}\n\nfunction addInterceptor (method, option) {\n if (typeof method === 'string' && isPlainObject(option)) {\n mergeInterceptorHook(scopedInterceptors[method] || (scopedInterceptors[method] = {}), option);\n } else if (isPlainObject(method)) {\n mergeInterceptorHook(globalInterceptors, method);\n }\n}\n\nfunction removeInterceptor (method, option) {\n if (typeof method === 'string') {\n if (isPlainObject(option)) {\n removeInterceptorHook(scopedInterceptors[method], option);\n } else {\n delete scopedInterceptors[method];\n }\n } else if (isPlainObject(method)) {\n removeInterceptorHook(globalInterceptors, method);\n }\n}\n\nfunction wrapperHook (hook, params) {\n return function (data) {\n return hook(data, params) || data\n }\n}\n\nfunction isPromise (obj) {\n return !!obj && (typeof obj === 'object' || typeof obj === 'function') && typeof obj.then === 'function'\n}\n\nfunction queue (hooks, data, params) {\n let promise = false;\n for (let i = 0; i < hooks.length; i++) {\n const hook = hooks[i];\n if (promise) {\n promise = Promise.resolve(wrapperHook(hook, params));\n } else {\n const res = hook(data, params);\n if (isPromise(res)) {\n promise = Promise.resolve(res);\n }\n if (res === false) {\n return {\n then () { }\n }\n }\n }\n }\n return promise || {\n then (callback) {\n return callback(data)\n }\n }\n}\n\nfunction wrapperOptions (interceptor, options = {}) {\n ['success', 'fail', 'complete'].forEach(name => {\n if (Array.isArray(interceptor[name])) {\n const oldCallback = options[name];\n options[name] = function callbackInterceptor (res) {\n queue(interceptor[name], res, options).then((res) => {\n /* eslint-disable no-mixed-operators */\n return isFn(oldCallback) && oldCallback(res) || res\n });\n };\n }\n });\n return options\n}\n\nfunction wrapperReturnValue (method, returnValue) {\n const returnValueHooks = [];\n if (Array.isArray(globalInterceptors.returnValue)) {\n returnValueHooks.push(...globalInterceptors.returnValue);\n }\n const interceptor = scopedInterceptors[method];\n if (interceptor && Array.isArray(interceptor.returnValue)) {\n returnValueHooks.push(...interceptor.returnValue);\n }\n returnValueHooks.forEach(hook => {\n returnValue = hook(returnValue) || returnValue;\n });\n return returnValue\n}\n\nfunction getApiInterceptorHooks (method) {\n const interceptor = Object.create(null);\n Object.keys(globalInterceptors).forEach(hook => {\n if (hook !== 'returnValue') {\n interceptor[hook] = globalInterceptors[hook].slice();\n }\n });\n const scopedInterceptor = scopedInterceptors[method];\n if (scopedInterceptor) {\n Object.keys(scopedInterceptor).forEach(hook => {\n if (hook !== 'returnValue') {\n interceptor[hook] = (interceptor[hook] || []).concat(scopedInterceptor[hook]);\n }\n });\n }\n return interceptor\n}\n\nfunction invokeApi (method, api, options, ...params) {\n const interceptor = getApiInterceptorHooks(method);\n if (interceptor && Object.keys(interceptor).length) {\n if (Array.isArray(interceptor.invoke)) {\n const res = queue(interceptor.invoke, options);\n return res.then((options) => {\n // 重新访问 getApiInterceptorHooks, 允许 invoke 中再次调用 addInterceptor,removeInterceptor\n return api(\n wrapperOptions(getApiInterceptorHooks(method), options),\n ...params\n )\n })\n } else {\n return api(wrapperOptions(interceptor, options), ...params)\n }\n }\n return api(options, ...params)\n}\n\nconst promiseInterceptor = {\n returnValue (res) {\n if (!isPromise(res)) {\n return res\n }\n return new Promise((resolve, reject) => {\n res.then(res => {\n if (!res) {\n resolve(res);\n return\n }\n if (res[0]) {\n reject(res[0]);\n } else {\n resolve(res[1]);\n }\n });\n })\n }\n};\n\nconst SYNC_API_RE =\n /^\\$|__f__|Window$|WindowStyle$|sendHostEvent|sendNativeEvent|restoreGlobal|requireGlobal|getCurrentSubNVue|getMenuButtonBoundingClientRect|^report|interceptors|Interceptor$|getSubNVueById|requireNativePlugin|rpx2px|upx2px|hideKeyboard|canIUse|^create|Sync$|Manager$|base64ToArrayBuffer|arrayBufferToBase64|getLocale|setLocale|invokePushCallback|getWindowInfo|getDeviceInfo|getAppBaseInfo|getSystemSetting|getAppAuthorizeSetting|initUTS|requireUTS|registerUTS/;\n\nconst CONTEXT_API_RE = /^create|Manager$/;\n\n// Context例外情况\nconst CONTEXT_API_RE_EXC = ['createBLEConnection'];\n\n// 同步例外情况\nconst ASYNC_API = ['createBLEConnection', 'createPushMessage'];\n\nconst CALLBACK_API_RE = /^on|^off/;\n\nfunction isContextApi (name) {\n return CONTEXT_API_RE.test(name) && CONTEXT_API_RE_EXC.indexOf(name) === -1\n}\nfunction isSyncApi (name) {\n return SYNC_API_RE.test(name) && ASYNC_API.indexOf(name) === -1\n}\n\nfunction isCallbackApi (name) {\n return CALLBACK_API_RE.test(name) && name !== 'onPush'\n}\n\nfunction handlePromise (promise) {\n return promise.then(data => {\n return [null, data]\n })\n .catch(err => [err])\n}\n\nfunction shouldPromise (name) {\n if (\n isContextApi(name) ||\n isSyncApi(name) ||\n isCallbackApi(name)\n ) {\n return false\n }\n return true\n}\n\n/* eslint-disable no-extend-native */\nif (!Promise.prototype.finally) {\n Promise.prototype.finally = function (callback) {\n const promise = this.constructor;\n return this.then(\n value => promise.resolve(callback()).then(() => value),\n reason => promise.resolve(callback()).then(() => {\n throw reason\n })\n )\n };\n}\n\nfunction promisify (name, api) {\n if (!shouldPromise(name) || !isFn(api)) {\n return api\n }\n return function promiseApi (options = {}, ...params) {\n if (isFn(options.success) || isFn(options.fail) || isFn(options.complete)) {\n return wrapperReturnValue(name, invokeApi(name, api, Object.assign({}, options), ...params))\n }\n return wrapperReturnValue(name, handlePromise(new Promise((resolve, reject) => {\n invokeApi(name, api, Object.assign({}, options, {\n success: resolve,\n fail: reject\n }), ...params);\n })))\n }\n}\n\nconst EPS = 1e-4;\nconst BASE_DEVICE_WIDTH = 750;\nlet isIOS = false;\nlet deviceWidth = 0;\nlet deviceDPR = 0;\n\nfunction checkDeviceWidth () {\n let windowWidth, pixelRatio, platform;\n\n {\n const windowInfo = typeof wx.getWindowInfo === 'function' && wx.getWindowInfo() ? wx.getWindowInfo() : wx.getSystemInfoSync();\n const deviceInfo = typeof wx.getDeviceInfo === 'function' && wx.getDeviceInfo() ? wx.getDeviceInfo() : wx.getSystemInfoSync();\n\n windowWidth = windowInfo.windowWidth;\n pixelRatio = windowInfo.pixelRatio;\n platform = deviceInfo.platform;\n }\n\n deviceWidth = windowWidth;\n deviceDPR = pixelRatio;\n isIOS = platform === 'ios';\n}\n\nfunction upx2px (number, newDeviceWidth) {\n if (deviceWidth === 0) {\n checkDeviceWidth();\n }\n\n number = Number(number);\n if (number === 0) {\n return 0\n }\n let result = (number / BASE_DEVICE_WIDTH) * (newDeviceWidth || deviceWidth);\n if (result < 0) {\n result = -result;\n }\n result = Math.floor(result + EPS);\n if (result === 0) {\n if (deviceDPR === 1 || !isIOS) {\n result = 1;\n } else {\n result = 0.5;\n }\n }\n return number < 0 ? -result : result\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';\n\nconst messages = {};\n\nfunction getLocaleLanguage () {\n let localeLanguage = '';\n {\n const appBaseInfo = typeof wx.getAppBaseInfo === 'function' && wx.getAppBaseInfo() ? wx.getAppBaseInfo() : wx.getSystemInfoSync();\n const language =\n appBaseInfo && appBaseInfo.language ? appBaseInfo.language : LOCALE_EN;\n localeLanguage = normalizeLocale(language) || LOCALE_EN;\n }\n return localeLanguage\n}\n\nlet locale;\n\n{\n locale = getLocaleLanguage();\n}\n\nfunction initI18nMessages () {\n if (!isEnableLocale()) {\n return\n }\n const localeKeys = Object.keys(__uniConfig.locales);\n if (localeKeys.length) {\n localeKeys.forEach((locale) => {\n const curMessages = messages[locale];\n const userMessages = __uniConfig.locales[locale];\n if (curMessages) {\n Object.assign(curMessages, userMessages);\n } else {\n messages[locale] = userMessages;\n }\n });\n }\n}\n\ninitI18nMessages();\n\nconst i18n = initVueI18n(\n locale,\n {}\n);\nconst t = i18n.t;\nconst i18nMixin = (i18n.mixin = {\n beforeCreate () {\n const unwatch = i18n.i18n.watchLocale(() => {\n this.$forceUpdate();\n });\n this.$once('hook:beforeDestroy', function () {\n unwatch();\n });\n },\n methods: {\n $$t (key, values) {\n return t(key, values)\n }\n }\n});\nconst setLocale = i18n.setLocale;\nconst getLocale = i18n.getLocale;\n\nfunction initAppLocale (Vue, appVm, locale) {\n const state = Vue.observable({\n locale: locale || i18n.getLocale()\n });\n const localeWatchers = [];\n appVm.$watchLocale = fn => {\n localeWatchers.push(fn);\n };\n Object.defineProperty(appVm, '$locale', {\n get () {\n return state.locale\n },\n set (v) {\n state.locale = v;\n localeWatchers.forEach(watch => watch(v));\n }\n });\n}\n\nfunction isEnableLocale () {\n return typeof __uniConfig !== 'undefined' && __uniConfig.locales && !!Object.keys(__uniConfig.locales).length\n}\n\nfunction include (str, parts) {\n return !!parts.find((part) => str.indexOf(part) !== -1)\n}\n\nfunction startsWith (str, parts) {\n return parts.find((part) => str.indexOf(part) === 0)\n}\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 const lang = startsWith(locale, [LOCALE_EN, LOCALE_FR, LOCALE_ES]);\n if (lang) {\n return lang\n }\n}\n// export function initI18n() {\n// const localeKeys = Object.keys(__uniConfig.locales || {})\n// if (localeKeys.length) {\n// localeKeys.forEach((locale) =>\n// i18n.add(locale, __uniConfig.locales[locale])\n// )\n// }\n// }\n\nfunction getLocale$1 () {\n // 优先使用 $locale\n if (isFn(getApp)) {\n const app = getApp({\n allowDefault: true\n });\n if (app && app.$vm) {\n return app.$vm.$locale\n }\n }\n return getLocaleLanguage()\n}\n\nfunction setLocale$1 (locale) {\n const app = isFn(getApp) ? getApp() : false;\n if (!app) {\n return false\n }\n const oldLocale = app.$vm.$locale;\n if (oldLocale !== locale) {\n app.$vm.$locale = locale;\n onLocaleChangeCallbacks.forEach((fn) => fn({\n locale\n }));\n return true\n }\n return false\n}\n\nconst onLocaleChangeCallbacks = [];\nfunction onLocaleChange (fn) {\n if (onLocaleChangeCallbacks.indexOf(fn) === -1) {\n onLocaleChangeCallbacks.push(fn);\n }\n}\n\nif (typeof global !== 'undefined') {\n global.getLocale = getLocale$1;\n}\n\nconst interceptors = {\n promiseInterceptor\n};\n\nvar baseApi = /*#__PURE__*/Object.freeze({\n __proto__: null,\n upx2px: upx2px,\n rpx2px: upx2px,\n getLocale: getLocale$1,\n setLocale: setLocale$1,\n onLocaleChange: onLocaleChange,\n addInterceptor: addInterceptor,\n removeInterceptor: removeInterceptor,\n interceptors: interceptors\n});\n\nfunction findExistsPageIndex (url) {\n const pages = getCurrentPages();\n let len = pages.length;\n while (len--) {\n const page = pages[len];\n if (page.$page && page.$page.fullPath === url) {\n return len\n }\n }\n return -1\n}\n\nvar redirectTo = {\n name (fromArgs) {\n if (fromArgs.exists === 'back' && fromArgs.delta) {\n return 'navigateBack'\n }\n return 'redirectTo'\n },\n args (fromArgs) {\n if (fromArgs.exists === 'back' && fromArgs.url) {\n const existsPageIndex = findExistsPageIndex(fromArgs.url);\n if (existsPageIndex !== -1) {\n const delta = getCurrentPages().length - 1 - existsPageIndex;\n if (delta > 0) {\n fromArgs.delta = delta;\n }\n }\n }\n }\n};\n\nvar previewImage = {\n args (fromArgs) {\n let currentIndex = parseInt(fromArgs.current);\n if (isNaN(currentIndex)) {\n return\n }\n const urls = fromArgs.urls;\n if (!Array.isArray(urls)) {\n return\n }\n const len = urls.length;\n if (!len) {\n return\n }\n if (currentIndex < 0) {\n currentIndex = 0;\n } else if (currentIndex >= len) {\n currentIndex = len - 1;\n }\n if (currentIndex > 0) {\n fromArgs.current = urls[currentIndex];\n fromArgs.urls = urls.filter(\n (item, index) => index < currentIndex ? item !== urls[currentIndex] : true\n );\n } else {\n fromArgs.current = urls[0];\n }\n return {\n indicator: false,\n loop: false\n }\n }\n};\n\nconst UUID_KEY = '__DC_STAT_UUID';\nlet deviceId;\nfunction useDeviceId (result) {\n deviceId = deviceId || wx.getStorageSync(UUID_KEY);\n if (!deviceId) {\n deviceId = Date.now() + '' + Math.floor(Math.random() * 1e7);\n wx.setStorage({\n key: UUID_KEY,\n data: deviceId\n });\n }\n result.deviceId = deviceId;\n}\n\nfunction addSafeAreaInsets (result) {\n if (result.safeArea) {\n const safeArea = result.safeArea;\n result.safeAreaInsets = {\n top: safeArea.top,\n left: safeArea.left,\n right: result.windowWidth - safeArea.right,\n bottom: result.screenHeight - safeArea.bottom\n };\n }\n}\n\nfunction getOSInfo (system, platform) {\n let osName = '';\n let osVersion = '';\n\n if (\n platform &&\n ( \"mp-weixin\" === 'mp-baidu')\n ) {\n osName = platform;\n osVersion = system;\n } else {\n osName = system.split(' ')[0] || platform;\n osVersion = system.split(' ')[1] || '';\n }\n\n osName = osName.toLocaleLowerCase();\n switch (osName) {\n case 'harmony': // alipay\n case 'ohos': // weixin\n case 'openharmony': // feishu\n osName = 'harmonyos';\n break\n case 'iphone os': // alipay\n osName = 'ios';\n break\n case 'mac': // weixin qq\n case 'darwin': // feishu\n osName = 'macos';\n break\n case 'windows_nt': // feishu\n osName = 'windows';\n break\n }\n\n return {\n osName,\n osVersion\n }\n}\n\nfunction populateParameters (result) {\n const {\n brand = '', model = '', system = '',\n language = '', theme, version,\n platform, fontSizeSetting,\n SDKVersion, pixelRatio, deviceOrientation\n } = result;\n // const isQuickApp = \"mp-weixin\".indexOf('quickapp-webview') !== -1\n\n const extraParam = {};\n\n // osName osVersion\n const { osName, osVersion } = getOSInfo(system, platform);\n let hostVersion = version;\n\n // deviceType\n const deviceType = getGetDeviceType(result, model);\n\n // deviceModel\n const deviceBrand = getDeviceBrand(brand);\n\n // hostName\n const _hostName = getHostName(result);\n\n // deviceOrientation\n let _deviceOrientation = deviceOrientation; // 仅 微信 百度 支持\n\n // devicePixelRatio\n let _devicePixelRatio = pixelRatio;\n\n // SDKVersion\n let _SDKVersion = SDKVersion;\n\n // hostLanguage\n const hostLanguage = (language || '').replace(/_/g, '-');\n\n // wx.getAccountInfoSync\n\n const parameters = {\n appId: process.env.UNI_APP_ID,\n appName: process.env.UNI_APP_NAME,\n appVersion: process.env.UNI_APP_VERSION_NAME,\n appVersionCode: process.env.UNI_APP_VERSION_CODE,\n appLanguage: getAppLanguage(hostLanguage),\n uniCompileVersion: process.env.UNI_COMPILER_VERSION,\n uniCompilerVersion: process.env.UNI_COMPILER_VERSION,\n uniRuntimeVersion: process.env.UNI_COMPILER_VERSION,\n uniPlatform: process.env.UNI_SUB_PLATFORM || process.env.UNI_PLATFORM,\n deviceBrand,\n deviceModel: model,\n deviceType,\n devicePixelRatio: _devicePixelRatio,\n deviceOrientation: _deviceOrientation,\n osName: osName.toLocaleLowerCase(),\n osVersion,\n hostTheme: theme,\n hostVersion,\n hostLanguage,\n hostName: _hostName,\n hostSDKVersion: _SDKVersion,\n hostFontSizeSetting: fontSizeSetting,\n windowTop: 0,\n windowBottom: 0,\n // TODO\n osLanguage: undefined,\n osTheme: undefined,\n ua: undefined,\n hostPackageName: undefined,\n browserName: undefined,\n browserVersion: undefined,\n isUniAppX: false\n };\n\n Object.assign(result, parameters, extraParam);\n}\n\nfunction getGetDeviceType (result, model) {\n let deviceType = result.deviceType || 'phone';\n {\n const deviceTypeMaps = {\n ipad: 'pad',\n windows: 'pc',\n mac: 'pc'\n };\n const deviceTypeMapsKeys = Object.keys(deviceTypeMaps);\n const _model = model.toLocaleLowerCase();\n for (let index = 0; index < deviceTypeMapsKeys.length; index++) {\n const _m = deviceTypeMapsKeys[index];\n if (_model.indexOf(_m) !== -1) {\n deviceType = deviceTypeMaps[_m];\n break\n }\n }\n }\n return deviceType\n}\n\nfunction getDeviceBrand (brand) {\n let deviceBrand = brand;\n if (deviceBrand) {\n deviceBrand = brand.toLocaleLowerCase();\n }\n return deviceBrand\n}\n\nfunction getAppLanguage (defaultLanguage) {\n return getLocale$1\n ? getLocale$1()\n : defaultLanguage\n}\n\nfunction getHostName (result) {\n const _platform =\n 'WeChat'\n ;\n let _hostName = result.hostName || _platform; // mp-jd\n {\n if (result.environment) {\n _hostName = result.environment;\n } else if (result.host && result.host.env) {\n _hostName = result.host.env;\n }\n }\n\n return _hostName\n}\n\nvar getSystemInfo = {\n returnValue: function (result) {\n useDeviceId(result);\n addSafeAreaInsets(result);\n populateParameters(result);\n }\n};\n\nvar showActionSheet = {\n args (fromArgs) {\n if (typeof fromArgs === 'object') {\n fromArgs.alertText = fromArgs.title;\n }\n }\n};\n\nvar getAppBaseInfo = {\n returnValue: function (result) {\n const { version, language, SDKVersion, theme } = result;\n\n const _hostName = getHostName(result);\n\n const hostLanguage = (language || '').replace('_', '-');\n\n result = sortObject(Object.assign(result, {\n appId: process.env.UNI_APP_ID,\n appName: process.env.UNI_APP_NAME,\n appVersion: process.env.UNI_APP_VERSION_NAME,\n appVersionCode: process.env.UNI_APP_VERSION_CODE,\n appLanguage: getAppLanguage(hostLanguage),\n hostVersion: version,\n hostLanguage,\n hostName: _hostName,\n hostSDKVersion: SDKVersion,\n hostTheme: theme,\n isUniAppX: false,\n uniPlatform: process.env.UNI_SUB_PLATFORM || process.env.UNI_PLATFORM,\n uniCompileVersion: process.env.UNI_COMPILER_VERSION,\n uniCompilerVersion: process.env.UNI_COMPILER_VERSION,\n uniRuntimeVersion: process.env.UNI_COMPILER_VERSION\n }));\n }\n};\n\nvar getDeviceInfo = {\n returnValue: function (result) {\n const { brand, model, system = '', platform = '' } = result;\n const deviceType = getGetDeviceType(result, model);\n const deviceBrand = getDeviceBrand(brand);\n useDeviceId(result);\n\n const { osName, osVersion } = getOSInfo(system, platform);\n\n result = sortObject(Object.assign(result, {\n deviceType,\n deviceBrand,\n deviceModel: model,\n osName,\n osVersion\n }));\n }\n};\n\nvar getWindowInfo = {\n returnValue: function (result) {\n addSafeAreaInsets(result);\n\n result = sortObject(Object.assign(result, {\n windowTop: 0,\n windowBottom: 0\n }));\n }\n};\n\nvar getAppAuthorizeSetting = {\n returnValue: function (result) {\n const { locationReducedAccuracy } = result;\n\n result.locationAccuracy = 'unsupported';\n if (locationReducedAccuracy === true) {\n result.locationAccuracy = 'reduced';\n } else if (locationReducedAccuracy === false) {\n result.locationAccuracy = 'full';\n }\n }\n};\n\n// import navigateTo from 'uni-helpers/navigate-to'\n\nconst compressImage = {\n args (fromArgs) {\n // https://developers.weixin.qq.com/community/develop/doc/000c08940c865011298e0a43256800?highLine=compressHeight\n if (fromArgs.compressedHeight && !fromArgs.compressHeight) {\n fromArgs.compressHeight = fromArgs.compressedHeight;\n }\n if (fromArgs.compressedWidth && !fromArgs.compressWidth) {\n fromArgs.compressWidth = fromArgs.compressedWidth;\n }\n }\n};\n\nconst protocols = {\n redirectTo,\n // navigateTo, // 由于在微信开发者工具的页面参数,会显示__id__参数,因此暂时关闭mp-weixin对于navigateTo的AOP\n previewImage,\n getSystemInfo,\n getSystemInfoSync: getSystemInfo,\n showActionSheet,\n getAppBaseInfo,\n getDeviceInfo,\n getWindowInfo,\n getAppAuthorizeSetting,\n compressImage\n};\nconst todos = [\n 'vibrate',\n 'preloadPage',\n 'unPreloadPage',\n 'loadSubPackage'\n];\nconst canIUses = [];\n\nconst CALLBACKS = ['success', 'fail', 'cancel', 'complete'];\n\nfunction processCallback (methodName, method, returnValue) {\n return function (res) {\n return method(processReturnValue(methodName, res, returnValue))\n }\n}\n\nfunction processArgs (methodName, fromArgs, argsOption = {}, returnValue = {}, keepFromArgs = false) {\n if (isPlainObject(fromArgs)) { // 一般 api 的参数解析\n const toArgs = keepFromArgs === true ? fromArgs : {}; // returnValue 为 false 时,说明是格式化返回值,直接在返回值对象上修改赋值\n if (isFn(argsOption)) {\n argsOption = argsOption(fromArgs, toArgs) || {};\n }\n for (const key in fromArgs) {\n if (hasOwn(argsOption, key)) {\n let keyOption = argsOption[key];\n if (isFn(keyOption)) {\n keyOption = keyOption(fromArgs[key], fromArgs, toArgs);\n }\n if (!keyOption) { // 不支持的参数\n console.warn(`The '${methodName}' method of platform '微信小程序' does not support option '${key}'`);\n } else if (isStr(keyOption)) { // 重写参数 key\n toArgs[keyOption] = fromArgs[key];\n } else if (isPlainObject(keyOption)) { // {name:newName,value:value}可重新指定参数 key:value\n toArgs[keyOption.name ? keyOption.name : key] = keyOption.value;\n }\n } else if (CALLBACKS.indexOf(key) !== -1) {\n if (isFn(fromArgs[key])) {\n toArgs[key] = processCallback(methodName, fromArgs[key], returnValue);\n }\n } else {\n if (!keepFromArgs) {\n toArgs[key] = fromArgs[key];\n }\n }\n }\n return toArgs\n } else if (isFn(fromArgs)) {\n fromArgs = processCallback(methodName, fromArgs, returnValue);\n }\n return fromArgs\n}\n\nfunction processReturnValue (methodName, res, returnValue, keepReturnValue = false) {\n if (isFn(protocols.returnValue)) { // 处理通用 returnValue\n res = protocols.returnValue(methodName, res);\n }\n return processArgs(methodName, res, returnValue, {}, keepReturnValue)\n}\n\nfunction wrapper (methodName, method) {\n if (hasOwn(protocols, methodName)) {\n const protocol = protocols[methodName];\n if (!protocol) { // 暂不支持的 api\n return function () {\n console.error(`Platform '微信小程序' does not support '${methodName}'.`);\n }\n }\n return function (arg1, arg2) { // 目前 api 最多两个参数\n let options = protocol;\n if (isFn(protocol)) {\n options = protocol(arg1);\n }\n\n arg1 = processArgs(methodName, arg1, options.args, options.returnValue);\n\n const args = [arg1];\n if (typeof arg2 !== 'undefined') {\n args.push(arg2);\n }\n if (isFn(options.name)) {\n methodName = options.name(arg1);\n } else if (isStr(options.name)) {\n methodName = options.name;\n }\n const returnValue = wx[methodName].apply(wx, args);\n if (isSyncApi(methodName)) { // 同步 api\n return processReturnValue(methodName, returnValue, options.returnValue, isContextApi(methodName))\n }\n return returnValue\n }\n }\n return method\n}\n\nconst todoApis = Object.create(null);\n\nconst TODOS = [\n 'onTabBarMidButtonTap',\n 'subscribePush',\n 'unsubscribePush',\n 'onPush',\n 'offPush',\n 'share'\n];\n\nfunction createTodoApi (name) {\n return function todoApi ({\n fail,\n complete\n }) {\n const res = {\n errMsg: `${name}:fail method '${name}' not supported`\n };\n isFn(fail) && fail(res);\n isFn(complete) && complete(res);\n }\n}\n\nTODOS.forEach(function (name) {\n todoApis[name] = createTodoApi(name);\n});\n\nvar providers = {\n oauth: ['weixin'],\n share: ['weixin'],\n payment: ['wxpay'],\n push: ['weixin']\n};\n\nfunction getProvider ({\n service,\n success,\n fail,\n complete\n}) {\n let res = false;\n if (providers[service]) {\n res = {\n errMsg: 'getProvider:ok',\n service,\n provider: providers[service]\n };\n isFn(success) && success(res);\n } else {\n res = {\n errMsg: 'getProvider:fail service not found'\n };\n isFn(fail) && fail(res);\n }\n isFn(complete) && complete(res);\n}\n\nvar extraApi = /*#__PURE__*/Object.freeze({\n __proto__: null,\n getProvider: getProvider\n});\n\nconst getEmitter = (function () {\n let Emitter;\n return function getUniEmitter () {\n if (!Emitter) {\n Emitter = new Vue();\n }\n return Emitter\n }\n})();\n\nfunction apply (ctx, method, args) {\n return ctx[method].apply(ctx, args)\n}\n\nfunction $on () {\n return apply(getEmitter(), '$on', [...arguments])\n}\nfunction $off () {\n return apply(getEmitter(), '$off', [...arguments])\n}\nfunction $once () {\n return apply(getEmitter(), '$once', [...arguments])\n}\nfunction $emit () {\n return apply(getEmitter(), '$emit', [...arguments])\n}\n\nvar eventApi = /*#__PURE__*/Object.freeze({\n __proto__: null,\n $on: $on,\n $off: $off,\n $once: $once,\n $emit: $emit\n});\n\n/**\n * 框架内 try-catch\n */\n/**\n * 开发者 try-catch\n */\nfunction tryCatch (fn) {\n return function () {\n try {\n return fn.apply(fn, arguments)\n } catch (e) {\n // TODO\n console.error(e);\n }\n }\n}\n\nfunction getApiCallbacks (params) {\n const apiCallbacks = {};\n for (const name in params) {\n const param = params[name];\n if (isFn(param)) {\n apiCallbacks[name] = tryCatch(param);\n delete params[name];\n }\n }\n return apiCallbacks\n}\n\nlet cid;\nlet cidErrMsg;\nlet enabled;\n\nfunction normalizePushMessage (message) {\n try {\n return JSON.parse(message)\n } catch (e) {}\n return message\n}\n\nfunction invokePushCallback (\n args\n) {\n if (args.type === 'enabled') {\n enabled = true;\n } else if (args.type === 'clientId') {\n cid = args.cid;\n cidErrMsg = args.errMsg;\n invokeGetPushCidCallbacks(cid, args.errMsg);\n } else if (args.type === 'pushMsg') {\n const message = {\n type: 'receive',\n data: normalizePushMessage(args.message)\n };\n for (let i = 0; i < onPushMessageCallbacks.length; i++) {\n const callback = onPushMessageCallbacks[i];\n callback(message);\n // 该消息已被阻止\n if (message.stopped) {\n break\n }\n }\n } else if (args.type === 'click') {\n onPushMessageCallbacks.forEach((callback) => {\n callback({\n type: 'click',\n data: normalizePushMessage(args.message)\n });\n });\n }\n}\n\nconst getPushCidCallbacks = [];\n\nfunction invokeGetPushCidCallbacks (cid, errMsg) {\n getPushCidCallbacks.forEach((callback) => {\n callback(cid, errMsg);\n });\n getPushCidCallbacks.length = 0;\n}\n\nfunction getPushClientId (args) {\n if (!isPlainObject(args)) {\n args = {};\n }\n const {\n success,\n fail,\n complete\n } = getApiCallbacks(args);\n const hasSuccess = isFn(success);\n const hasFail = isFn(fail);\n const hasComplete = isFn(complete);\n\n Promise.resolve().then(() => {\n if (typeof enabled === 'undefined') {\n enabled = false;\n cid = '';\n cidErrMsg = 'uniPush is not enabled';\n }\n getPushCidCallbacks.push((cid, errMsg) => {\n let res;\n if (cid) {\n res = {\n errMsg: 'getPushClientId:ok',\n cid\n };\n hasSuccess && success(res);\n } else {\n res = {\n errMsg: 'getPushClientId:fail' + (errMsg ? ' ' + errMsg : '')\n };\n hasFail && fail(res);\n }\n hasComplete && complete(res);\n });\n if (typeof cid !== 'undefined') {\n invokeGetPushCidCallbacks(cid, cidErrMsg);\n }\n });\n}\n\nconst onPushMessageCallbacks = [];\n// 不使用 defineOnApi 实现,是因为 defineOnApi 依赖 UniServiceJSBridge ,该对象目前在小程序上未提供,故简单实现\nconst onPushMessage = (fn) => {\n if (onPushMessageCallbacks.indexOf(fn) === -1) {\n onPushMessageCallbacks.push(fn);\n }\n};\n\nconst offPushMessage = (fn) => {\n if (!fn) {\n onPushMessageCallbacks.length = 0;\n } else {\n const index = onPushMessageCallbacks.indexOf(fn);\n if (index > -1) {\n onPushMessageCallbacks.splice(index, 1);\n }\n }\n};\n\nfunction __f__ (\n type,\n ...args\n) {\n console[type].apply(console, args);\n}\n\nlet baseInfo = wx.getAppBaseInfo && wx.getAppBaseInfo();\nif (!baseInfo) {\n baseInfo = wx.getSystemInfoSync();\n}\nconst host = baseInfo ? baseInfo.host : null;\nconst shareVideoMessage =\n host && host.env === 'SAAASDK' ? wx.miniapp.shareVideoMessage : wx.shareVideoMessage;\n\nvar api = /*#__PURE__*/Object.freeze({\n __proto__: null,\n shareVideoMessage: shareVideoMessage,\n getPushClientId: getPushClientId,\n onPushMessage: onPushMessage,\n offPushMessage: offPushMessage,\n invokePushCallback: invokePushCallback,\n __f__: __f__\n});\n\nconst mocks = ['__route__', '__wxExparserNodeId__', '__wxWebviewId__'];\n\nfunction findVmByVueId (vm, vuePid) {\n const $children = vm.$children;\n // 优先查找直属(反向查找:https://github.com/dcloudio/uni-app/issues/1200)\n for (let i = $children.length - 1; i >= 0; i--) {\n const childVm = $children[i];\n if (childVm.$scope._$vueId === vuePid) {\n return childVm\n }\n }\n // 反向递归查找\n let parentVm;\n for (let i = $children.length - 1; i >= 0; i--) {\n parentVm = findVmByVueId($children[i], vuePid);\n if (parentVm) {\n return parentVm\n }\n }\n}\n\nfunction initBehavior (options) {\n return Behavior(options)\n}\n\nfunction isPage () {\n return !!this.route\n}\n\nfunction initRelation (detail) {\n this.triggerEvent('__l', detail);\n}\n\nfunction selectAllComponents (mpInstance, selector, $refs) {\n const components = mpInstance.selectAllComponents(selector) || [];\n components.forEach(component => {\n const ref = component.dataset.ref;\n $refs[ref] = component.$vm || toSkip(component);\n {\n if (component.dataset.vueGeneric === 'scoped') {\n component.selectAllComponents('.scoped-ref').forEach(scopedComponent => {\n selectAllComponents(scopedComponent, selector, $refs);\n });\n }\n }\n });\n}\n\nfunction syncRefs (refs, newRefs) {\n const oldKeys = new Set(...Object.keys(refs));\n const newKeys = Object.keys(newRefs);\n newKeys.forEach(key => {\n const oldValue = refs[key];\n const newValue = newRefs[key];\n if (Array.isArray(oldValue) && Array.isArray(newValue) && oldValue.length === newValue.length && newValue.every(value => oldValue.includes(value))) {\n return\n }\n refs[key] = newValue;\n oldKeys.delete(key);\n });\n oldKeys.forEach(key => {\n delete refs[key];\n });\n return refs\n}\n\nfunction initRefs (vm) {\n const mpInstance = vm.$scope;\n const refs = {};\n Object.defineProperty(vm, '$refs', {\n get () {\n const $refs = {};\n selectAllComponents(mpInstance, '.vue-ref', $refs);\n // TODO 暂不考虑 for 中的 scoped\n const forComponents = mpInstance.selectAllComponents('.vue-ref-in-for') || [];\n forComponents.forEach(component => {\n const ref = component.dataset.ref;\n if (!$refs[ref]) {\n $refs[ref] = [];\n }\n $refs[ref].push(component.$vm || toSkip(component));\n });\n return syncRefs(refs, $refs)\n }\n });\n}\n\nfunction handleLink (event) {\n const {\n vuePid,\n vueOptions\n } = event.detail || event.value; // detail 是微信,value 是百度(dipatch)\n\n let parentVm;\n\n if (vuePid) {\n parentVm = findVmByVueId(this.$vm, vuePid);\n }\n\n if (!parentVm) {\n parentVm = this.$vm;\n }\n\n vueOptions.parent = parentVm;\n}\n\nfunction markMPComponent (component) {\n // 在 Vue 中标记为小程序组件\n const IS_MP = '__v_isMPComponent';\n Object.defineProperty(component, IS_MP, {\n configurable: true,\n enumerable: false,\n value: true\n });\n return component\n}\n\nfunction toSkip (obj) {\n const OB = '__ob__';\n const SKIP = '__v_skip';\n if (isObject(obj) && Object.isExtensible(obj)) {\n // 避免被 @vue/composition-api 观测\n Object.defineProperty(obj, OB, {\n configurable: true,\n enumerable: false,\n value: {\n [SKIP]: true\n }\n });\n }\n return obj\n}\n\nconst WORKLET_RE = /_(.*)_worklet_factory_/;\nfunction initWorkletMethods (mpMethods, vueMethods) {\n if (vueMethods) {\n Object.keys(vueMethods).forEach((name) => {\n const matches = name.match(WORKLET_RE);\n if (matches) {\n const workletName = matches[1];\n mpMethods[name] = vueMethods[name];\n mpMethods[workletName] = vueMethods[workletName];\n }\n });\n }\n}\n\nconst MPPage = Page;\nconst MPComponent = Component;\n\nconst customizeRE = /:/g;\n\nconst customize = cached((str) => {\n return camelize(str.replace(customizeRE, '-'))\n});\n\nfunction initTriggerEvent (mpInstance) {\n const oldTriggerEvent = mpInstance.triggerEvent;\n const newTriggerEvent = function (event, ...args) {\n // 事件名统一转驼峰格式,仅处理:当前组件为 vue 组件、当前组件为 vue 组件子组件\n if (this.$vm || (this.dataset && this.dataset.comType)) {\n event = customize(event);\n } else {\n // 针对微信/QQ小程序单独补充驼峰格式事件,以兼容历史项目\n const newEvent = customize(event);\n if (newEvent !== event) {\n oldTriggerEvent.apply(this, [newEvent, ...args]);\n }\n }\n return oldTriggerEvent.apply(this, [event, ...args])\n };\n try {\n // 京东小程序 triggerEvent 为只读\n mpInstance.triggerEvent = newTriggerEvent;\n } catch (error) {\n mpInstance._triggerEvent = newTriggerEvent;\n }\n}\n\nfunction initHook (name, options, isComponent) {\n const oldHook = options[name];\n options[name] = function (...args) {\n markMPComponent(this);\n initTriggerEvent(this);\n if (oldHook) {\n return oldHook.apply(this, args)\n }\n };\n}\nif (!MPPage.__$wrappered) {\n MPPage.__$wrappered = true;\n Page = function (options = {}) {\n initHook('onLoad', options);\n return MPPage(options)\n };\n Page.after = MPPage.after;\n\n Component = function (options = {}) {\n initHook('created', options);\n return MPComponent(options)\n };\n}\n\nconst PAGE_EVENT_HOOKS = [\n 'onPullDownRefresh',\n 'onReachBottom',\n 'onAddToFavorites',\n 'onShareTimeline',\n 'onShareAppMessage',\n 'onPageScroll',\n 'onResize',\n 'onTabItemTap'\n];\n\nfunction initMocks (vm, mocks) {\n const mpInstance = vm.$mp[vm.mpType];\n mocks.forEach(mock => {\n if (hasOwn(mpInstance, mock)) {\n vm[mock] = mpInstance[mock];\n }\n });\n}\n\nfunction hasHook (hook, vueOptions) {\n if (!vueOptions) {\n return true\n }\n\n if (Vue.options && Array.isArray(Vue.options[hook])) {\n return true\n }\n\n vueOptions = vueOptions.default || vueOptions;\n\n if (isFn(vueOptions)) {\n if (isFn(vueOptions.extendOptions[hook])) {\n return true\n }\n if (vueOptions.super &&\n vueOptions.super.options &&\n Array.isArray(vueOptions.super.options[hook])) {\n return true\n }\n return false\n }\n\n if (isFn(vueOptions[hook]) || Array.isArray(vueOptions[hook])) {\n return true\n }\n const mixins = vueOptions.mixins;\n if (Array.isArray(mixins)) {\n return !!mixins.find(mixin => hasHook(hook, mixin))\n }\n}\n\nfunction initHooks (mpOptions, hooks, vueOptions) {\n hooks.forEach(hook => {\n if (hasHook(hook, vueOptions)) {\n mpOptions[hook] = function (args) {\n return this.$vm && this.$vm.__call_hook(hook, args)\n };\n }\n });\n}\n\nfunction initUnknownHooks (mpOptions, vueOptions, excludes = []) {\n findHooks(vueOptions).forEach((hook) => initHook$1(mpOptions, hook, excludes));\n}\n\nfunction findHooks (vueOptions, hooks = []) {\n if (vueOptions) {\n Object.keys(vueOptions).forEach((name) => {\n if (name.indexOf('on') === 0 && isFn(vueOptions[name])) {\n hooks.push(name);\n }\n });\n }\n return hooks\n}\n\nfunction initHook$1 (mpOptions, hook, excludes) {\n if (excludes.indexOf(hook) === -1 && !hasOwn(mpOptions, hook)) {\n mpOptions[hook] = function (args) {\n return this.$vm && this.$vm.__call_hook(hook, args)\n };\n }\n}\n\nfunction initVueComponent (Vue, vueOptions) {\n vueOptions = vueOptions.default || vueOptions;\n let VueComponent;\n if (isFn(vueOptions)) {\n VueComponent = vueOptions;\n } else {\n VueComponent = Vue.extend(vueOptions);\n }\n vueOptions = VueComponent.options;\n return [VueComponent, vueOptions]\n}\n\nfunction initSlots (vm, vueSlots) {\n if (Array.isArray(vueSlots) && vueSlots.length) {\n const $slots = Object.create(null);\n vueSlots.forEach(slotName => {\n $slots[slotName] = true;\n });\n vm.$scopedSlots = vm.$slots = $slots;\n }\n}\n\nfunction initVueIds (vueIds, mpInstance) {\n vueIds = (vueIds || '').split(',');\n const len = vueIds.length;\n\n if (len === 1) {\n mpInstance._$vueId = vueIds[0];\n } else if (len === 2) {\n mpInstance._$vueId = vueIds[0];\n mpInstance._$vuePid = vueIds[1];\n }\n}\n\nfunction initData (vueOptions, context) {\n let data = vueOptions.data || {};\n const methods = vueOptions.methods || {};\n\n if (typeof data === 'function') {\n try {\n data = data.call(context); // 支持 Vue.prototype 上挂的数据\n } catch (e) {\n if (process.env.VUE_APP_DEBUG) {\n console.warn('根据 Vue 的 data 函数初始化小程序 data 失败,请尽量确保 data 函数中不访问 vm 对象,否则可能影响首次数据渲染速度。', data);\n }\n }\n } else {\n try {\n // 对 data 格式化\n data = JSON.parse(JSON.stringify(data));\n } catch (e) { }\n }\n\n if (!isPlainObject(data)) {\n data = {};\n }\n\n Object.keys(methods).forEach(methodName => {\n if (context.__lifecycle_hooks__.indexOf(methodName) === -1 && !hasOwn(data, methodName)) {\n data[methodName] = methods[methodName];\n }\n });\n\n return data\n}\n\nconst PROP_TYPES = [String, Number, Boolean, Object, Array, null];\n\nfunction createObserver (name) {\n return function observer (newVal, oldVal) {\n if (this.$vm) {\n this.$vm[name] = newVal; // 为了触发其他非 render watcher\n }\n }\n}\n\nfunction initBehaviors (vueOptions, initBehavior) {\n const vueBehaviors = vueOptions.behaviors;\n const vueExtends = vueOptions.extends;\n const vueMixins = vueOptions.mixins;\n\n let vueProps = vueOptions.props;\n\n if (!vueProps) {\n vueOptions.props = vueProps = [];\n }\n\n const behaviors = [];\n if (Array.isArray(vueBehaviors)) {\n vueBehaviors.forEach(behavior => {\n behaviors.push(behavior.replace('uni://', `${\"wx\"}://`));\n if (behavior === 'uni://form-field') {\n if (Array.isArray(vueProps)) {\n vueProps.push('name');\n vueProps.push('value');\n } else {\n vueProps.name = {\n type: String,\n default: ''\n };\n vueProps.value = {\n type: [String, Number, Boolean, Array, Object, Date],\n default: ''\n };\n }\n }\n });\n }\n if (isPlainObject(vueExtends) && vueExtends.props) {\n behaviors.push(\n initBehavior({\n properties: initProperties(vueExtends.props, true)\n })\n );\n }\n if (Array.isArray(vueMixins)) {\n vueMixins.forEach(vueMixin => {\n if (isPlainObject(vueMixin) && vueMixin.props) {\n behaviors.push(\n initBehavior({\n properties: initProperties(vueMixin.props, true)\n })\n );\n }\n });\n }\n return behaviors\n}\n\nfunction parsePropType (key, type, defaultValue, file) {\n // [String]=>String\n if (Array.isArray(type) && type.length === 1) {\n return type[0]\n }\n return type\n}\n\nfunction initProperties (props, isBehavior = false, file = '', options) {\n const properties = {};\n if (!isBehavior) {\n properties.vueId = {\n type: String,\n value: ''\n };\n {\n if ( options.virtualHost) {\n properties.virtualHostStyle = {\n type: null,\n value: ''\n };\n properties.virtualHostClass = {\n type: null,\n value: ''\n };\n }\n }\n // scopedSlotsCompiler auto\n properties.scopedSlotsCompiler = {\n type: String,\n value: ''\n };\n properties.vueSlots = { // 小程序不能直接定义 $slots 的 props,所以通过 vueSlots 转换到 $slots\n type: null,\n value: [],\n observer: function (newVal, oldVal) {\n const $slots = Object.create(null);\n newVal.forEach(slotName => {\n $slots[slotName] = true;\n });\n this.setData({\n $slots\n });\n }\n };\n }\n if (Array.isArray(props)) { // ['title']\n props.forEach(key => {\n properties[key] = {\n type: null,\n observer: createObserver(key)\n };\n });\n } else if (isPlainObject(props)) { // {title:{type:String,default:''},content:String}\n Object.keys(props).forEach(key => {\n const opts = props[key];\n if (isPlainObject(opts)) { // title:{type:String,default:''}\n let value = opts.default;\n if (isFn(value)) {\n value = value();\n }\n\n opts.type = parsePropType(key, opts.type);\n\n properties[key] = {\n type: PROP_TYPES.indexOf(opts.type) !== -1 ? opts.type : null,\n value,\n observer: createObserver(key)\n };\n } else { // content:String\n const type = parsePropType(key, opts);\n properties[key] = {\n type: PROP_TYPES.indexOf(type) !== -1 ? type : null,\n observer: createObserver(key)\n };\n }\n });\n }\n return properties\n}\n\nfunction wrapper$1 (event) {\n // TODO 又得兼容 mpvue 的 mp 对象\n try {\n event.mp = JSON.parse(JSON.stringify(event));\n } catch (e) { }\n\n event.stopPropagation = noop;\n event.preventDefault = noop;\n\n event.target = event.target || {};\n\n if (!hasOwn(event, 'detail')) {\n event.detail = {};\n }\n\n if (hasOwn(event, 'markerId')) {\n event.detail = typeof event.detail === 'object' ? event.detail : {};\n event.detail.markerId = event.markerId;\n }\n\n if (isPlainObject(event.detail)) {\n event.target = Object.assign({}, event.target, event.detail);\n }\n\n return event\n}\n\nfunction getExtraValue (vm, dataPathsArray) {\n let context = vm;\n dataPathsArray.forEach(dataPathArray => {\n const dataPath = dataPathArray[0];\n const value = dataPathArray[2];\n if (dataPath || typeof value !== 'undefined') { // ['','',index,'disable']\n const propPath = dataPathArray[1];\n const valuePath = dataPathArray[3];\n\n let vFor;\n if (Number.isInteger(dataPath)) {\n vFor = dataPath;\n } else if (!dataPath) {\n vFor = context;\n } else if (typeof dataPath === 'string' && dataPath) {\n if (dataPath.indexOf('#s#') === 0) {\n vFor = dataPath.substr(3);\n } else {\n vFor = vm.__get_value(dataPath, context);\n }\n }\n\n if (Number.isInteger(vFor)) {\n context = value;\n } else if (!propPath) {\n context = vFor[value];\n } else {\n if (Array.isArray(vFor)) {\n context = vFor.find(vForItem => {\n return vm.__get_value(propPath, vForItem) === value\n });\n } else if (isPlainObject(vFor)) {\n context = Object.keys(vFor).find(vForKey => {\n return vm.__get_value(propPath, vFor[vForKey]) === value\n });\n } else {\n console.error('v-for 暂不支持循环数据:', vFor);\n }\n }\n\n if (valuePath) {\n context = vm.__get_value(valuePath, context);\n }\n }\n });\n return context\n}\n\nfunction processEventExtra (vm, extra, event, __args__) {\n const extraObj = {};\n\n if (Array.isArray(extra) && extra.length) {\n /**\n *[\n * ['data.items', 'data.id', item.data.id],\n * ['metas', 'id', meta.id]\n *],\n *[\n * ['data.items', 'data.id', item.data.id],\n * ['metas', 'id', meta.id]\n *],\n *'test'\n */\n extra.forEach((dataPath, index) => {\n if (typeof dataPath === 'string') {\n if (!dataPath) { // model,prop.sync\n extraObj['$' + index] = vm;\n } else {\n if (dataPath === '$event') { // $event\n extraObj['$' + index] = event;\n } else if (dataPath === 'arguments') {\n extraObj['$' + index] = event.detail ? event.detail.__args__ || __args__ : __args__;\n } else if (dataPath.indexOf('$event.') === 0) { // $event.target.value\n extraObj['$' + index] = vm.__get_value(dataPath.replace('$event.', ''), event);\n } else {\n extraObj['$' + index] = vm.__get_value(dataPath);\n }\n }\n } else {\n extraObj['$' + index] = getExtraValue(vm, dataPath);\n }\n });\n }\n\n return extraObj\n}\n\nfunction getObjByArray (arr) {\n const obj = {};\n for (let i = 1; i < arr.length; i++) {\n const element = arr[i];\n obj[element[0]] = element[1];\n }\n return obj\n}\n\nfunction processEventArgs (vm, event, args = [], extra = [], isCustom, methodName) {\n let isCustomMPEvent = false; // wxcomponent 组件,传递原始 event 对象\n\n // fixed 用户直接触发 mpInstance.triggerEvent\n const __args__ = isPlainObject(event.detail)\n ? event.detail.__args__ || [event.detail]\n : [event.detail];\n\n if (isCustom) { // 自定义事件\n isCustomMPEvent = event.currentTarget &&\n event.currentTarget.dataset &&\n event.currentTarget.dataset.comType === 'wx';\n if (!args.length) { // 无参数,直接传入 event 或 detail 数组\n if (isCustomMPEvent) {\n return [event]\n }\n return __args__\n }\n }\n\n const extraObj = processEventExtra(vm, extra, event, __args__);\n\n const ret = [];\n args.forEach(arg => {\n if (arg === '$event') {\n if (methodName === '__set_model' && !isCustom) { // input v-model value\n ret.push(event.target.value);\n } else {\n if (isCustom && !isCustomMPEvent) {\n ret.push(__args__[0]);\n } else { // wxcomponent 组件或内置组件\n ret.push(event);\n }\n }\n } else {\n if (Array.isArray(arg) && arg[0] === 'o') {\n ret.push(getObjByArray(arg));\n } else if (typeof arg === 'string' && hasOwn(extraObj, arg)) {\n ret.push(extraObj[arg]);\n } else {\n ret.push(arg);\n }\n }\n });\n\n return ret\n}\n\nconst ONCE = '~';\nconst CUSTOM = '^';\n\nfunction isMatchEventType (eventType, optType) {\n return (eventType === optType) ||\n (\n optType === 'regionchange' &&\n (\n eventType === 'begin' ||\n eventType === 'end'\n )\n )\n}\n\nfunction getContextVm (vm) {\n let $parent = vm.$parent;\n // 父组件是 scoped slots 或者其他自定义组件时继续查找\n while ($parent && $parent.$parent && ($parent.$options.generic || $parent.$parent.$options.generic || $parent.$scope._$vuePid)) {\n $parent = $parent.$parent;\n }\n return $parent && $parent.$parent\n}\n\nfunction handleEvent (event) {\n event = wrapper$1(event);\n\n // [['tap',[['handle',[1,2,a]],['handle1',[1,2,a]]]]]\n const dataset = (event.currentTarget || event.target).dataset;\n if (!dataset) {\n return console.warn('事件信息不存在')\n }\n const eventOpts = dataset.eventOpts || dataset['event-opts']; // 支付宝 web-view 组件 dataset 非驼峰\n if (!eventOpts) {\n return console.warn('事件信息不存在')\n }\n\n // [['handle',[1,2,a]],['handle1',[1,2,a]]]\n const eventType = event.type;\n\n const ret = [];\n\n eventOpts.forEach(eventOpt => {\n let type = eventOpt[0];\n const eventsArray = eventOpt[1];\n\n const isCustom = type.charAt(0) === CUSTOM;\n type = isCustom ? type.slice(1) : type;\n const isOnce = type.charAt(0) === ONCE;\n type = isOnce ? type.slice(1) : type;\n\n if (eventsArray && isMatchEventType(eventType, type)) {\n eventsArray.forEach(eventArray => {\n const methodName = eventArray[0];\n if (methodName) {\n let handlerCtx = this.$vm;\n if (handlerCtx.$options.generic) { // mp-weixin,mp-toutiao 抽象节点模拟 scoped slots\n handlerCtx = getContextVm(handlerCtx) || handlerCtx;\n }\n if (methodName === '$emit') {\n handlerCtx.$emit.apply(handlerCtx,\n processEventArgs(\n this.$vm,\n event,\n eventArray[1],\n eventArray[2],\n isCustom,\n methodName\n ));\n return\n }\n const handler = handlerCtx[methodName];\n if (!isFn(handler)) {\n const type = this.$vm.mpType === 'page' ? 'Page' : 'Component';\n const path = this.route || this.is;\n throw new Error(`${type} \"${path}\" does not have a method \"${methodName}\"`)\n }\n if (isOnce) {\n if (handler.once) {\n return\n }\n handler.once = true;\n }\n let params = processEventArgs(\n this.$vm,\n event,\n eventArray[1],\n eventArray[2],\n isCustom,\n methodName\n );\n params = Array.isArray(params) ? params : [];\n // 参数尾部增加原始事件对象用于复杂表达式内获取额外数据\n if (/=\\s*\\S+\\.eventParams\\s*\\|\\|\\s*\\S+\\[['\"]event-params['\"]\\]/.test(handler.toString())) {\n // eslint-disable-next-line no-sparse-arrays\n params = params.concat([, , , , , , , , , , event]);\n }\n ret.push(handler.apply(handlerCtx, params));\n }\n });\n }\n });\n\n if (\n eventType === 'input' &&\n ret.length === 1 &&\n typeof ret[0] !== 'undefined'\n ) {\n return ret[0]\n }\n}\n\nconst eventChannels = {};\n\nfunction getEventChannel (id) {\n const eventChannel = eventChannels[id];\n delete eventChannels[id];\n return eventChannel\n}\n\nconst hooks = [\n 'onShow',\n 'onHide',\n 'onError',\n 'onPageNotFound',\n 'onThemeChange',\n 'onUnhandledRejection'\n];\n\nfunction initEventChannel () {\n Vue.prototype.getOpenerEventChannel = function () {\n // 微信小程序使用自身getOpenerEventChannel\n {\n return this.$scope.getOpenerEventChannel()\n }\n };\n const callHook = Vue.prototype.__call_hook;\n Vue.prototype.__call_hook = function (hook, args) {\n if (hook === 'onLoad' && args && args.__id__) {\n this.__eventChannel__ = getEventChannel(args.__id__);\n delete args.__id__;\n }\n return callHook.call(this, hook, args)\n };\n}\n\nfunction initScopedSlotsParams () {\n const center = {};\n const parents = {};\n\n function currentId (fn) {\n const vueIds = this.$options.propsData.vueId;\n if (vueIds) {\n const vueId = vueIds.split(',')[0];\n fn(vueId);\n }\n }\n\n Vue.prototype.$hasSSP = function (vueId) {\n const slot = center[vueId];\n if (!slot) {\n parents[vueId] = this;\n this.$on('hook:destroyed', () => {\n delete parents[vueId];\n });\n }\n return slot\n };\n\n Vue.prototype.$getSSP = function (vueId, name, needAll) {\n const slot = center[vueId];\n if (slot) {\n const params = slot[name] || [];\n if (needAll) {\n return params\n }\n return params[0]\n }\n };\n\n Vue.prototype.$setSSP = function (name, value) {\n let index = 0;\n currentId.call(this, vueId => {\n const slot = center[vueId];\n const params = slot[name] = slot[name] || [];\n params.push(value);\n index = params.length - 1;\n });\n return index\n };\n\n Vue.prototype.$initSSP = function () {\n currentId.call(this, vueId => {\n center[vueId] = {};\n });\n };\n\n Vue.prototype.$callSSP = function () {\n currentId.call(this, vueId => {\n if (parents[vueId]) {\n parents[vueId].$forceUpdate();\n }\n });\n };\n\n Vue.mixin({\n destroyed () {\n const propsData = this.$options.propsData;\n const vueId = propsData && propsData.vueId;\n if (vueId) {\n delete center[vueId];\n delete parents[vueId];\n }\n }\n });\n}\n\nfunction parseBaseApp (vm, {\n mocks,\n initRefs\n}) {\n initEventChannel();\n {\n initScopedSlotsParams();\n }\n if (vm.$options.store) {\n Vue.prototype.$store = vm.$options.store;\n }\n uniIdMixin(Vue);\n\n Vue.prototype.mpHost = \"mp-weixin\";\n\n Vue.mixin({\n beforeCreate () {\n if (!this.$options.mpType) {\n return\n }\n\n this.mpType = this.$options.mpType;\n\n this.$mp = {\n data: {},\n [this.mpType]: this.$options.mpInstance\n };\n\n this.$scope = this.$options.mpInstance;\n\n delete this.$options.mpType;\n delete this.$options.mpInstance;\n if (\n ( this.mpType === 'page') &&\n typeof getApp === 'function'\n ) { // hack vue-i18n\n const app = getApp();\n if (app.$vm && app.$vm.$i18n) {\n this._i18n = app.$vm.$i18n;\n }\n }\n if (this.mpType !== 'app') {\n initRefs(this);\n initMocks(this, mocks);\n }\n }\n });\n\n const appOptions = {\n onLaunch (args) {\n if (this.$vm) { // 已经初始化过了,主要是为了百度,百度 onShow 在 onLaunch 之前\n return\n }\n {\n if (wx.canIUse && !wx.canIUse('nextTick')) { // 事实 上2.2.3 即可,简单使用 2.3.0 的 nextTick 判断\n console.error('当前微信基础库版本过低,请将 微信开发者工具-详情-项目设置-调试基础库版本 更换为`2.3.0`以上');\n }\n }\n\n this.$vm = vm;\n\n this.$vm.$mp = {\n app: this\n };\n\n this.$vm.$scope = this;\n // vm 上也挂载 globalData\n this.$vm.globalData = this.globalData;\n\n this.$vm._isMounted = true;\n this.$vm.__call_hook('mounted', args);\n\n this.$vm.__call_hook('onLaunch', args);\n }\n };\n\n // 兼容旧版本 globalData\n appOptions.globalData = vm.$options.globalData || {};\n // 将 methods 中的方法挂在 getApp() 中\n const methods = vm.$options.methods;\n if (methods) {\n Object.keys(methods).forEach(name => {\n appOptions[name] = methods[name];\n });\n }\n\n initAppLocale(Vue, vm, getLocaleLanguage$1());\n\n initHooks(appOptions, hooks);\n initUnknownHooks(appOptions, vm.$options);\n\n return appOptions\n}\n\nfunction getLocaleLanguage$1 () {\n let localeLanguage = '';\n {\n const appBaseInfo = wx.getAppBaseInfo();\n const language =\n appBaseInfo && appBaseInfo.language ? appBaseInfo.language : LOCALE_EN;\n localeLanguage = normalizeLocale(language) || LOCALE_EN;\n }\n return localeLanguage\n}\n\nfunction parseApp (vm) {\n return parseBaseApp(vm, {\n mocks,\n initRefs\n })\n}\n\nfunction createApp (vm) {\n App(parseApp(vm));\n return vm\n}\n\nconst encodeReserveRE = /[!'()*]/g;\nconst encodeReserveReplacer = c => '%' + c.charCodeAt(0).toString(16);\nconst commaRE = /%2C/g;\n\n// fixed encodeURIComponent which is more conformant to RFC3986:\n// - escapes [!'()*]\n// - preserve commas\nconst encode = str => encodeURIComponent(str)\n .replace(encodeReserveRE, encodeReserveReplacer)\n .replace(commaRE, ',');\n\nfunction stringifyQuery (obj, encodeStr = encode) {\n const res = obj ? Object.keys(obj).map(key => {\n const val = obj[key];\n\n if (val === undefined) {\n return ''\n }\n\n if (val === null) {\n return encodeStr(key)\n }\n\n if (Array.isArray(val)) {\n const result = [];\n val.forEach(val2 => {\n if (val2 === undefined) {\n return\n }\n if (val2 === null) {\n result.push(encodeStr(key));\n } else {\n result.push(encodeStr(key) + '=' + encodeStr(val2));\n }\n });\n return result.join('&')\n }\n\n return encodeStr(key) + '=' + encodeStr(val)\n }).filter(x => x.length > 0).join('&') : null;\n return res ? `?${res}` : ''\n}\n\nfunction parseBaseComponent (vueComponentOptions, {\n isPage,\n initRelation\n} = {}, needVueOptions) {\n const [VueComponent, vueOptions] = initVueComponent(Vue, vueComponentOptions);\n\n const options = {\n multipleSlots: true,\n // styleIsolation: 'apply-shared',\n addGlobalClass: true,\n ...(vueOptions.options || {})\n };\n\n {\n // 微信 multipleSlots 部分情况有 bug,导致内容顺序错乱 如 u-list,提供覆盖选项\n if (vueOptions['mp-weixin'] && vueOptions['mp-weixin'].options) {\n Object.assign(options, vueOptions['mp-weixin'].options);\n }\n }\n\n const componentOptions = {\n options,\n data: initData(vueOptions, Vue.prototype),\n behaviors: initBehaviors(vueOptions, initBehavior),\n properties: initProperties(vueOptions.props, false, vueOptions.__file, options),\n lifetimes: {\n attached () {\n const properties = this.properties;\n\n const options = {\n mpType: isPage.call(this) ? 'page' : 'component',\n mpInstance: this,\n propsData: properties\n };\n\n initVueIds(properties.vueId, this);\n\n // 处理父子关系\n initRelation.call(this, {\n vuePid: this._$vuePid,\n vueOptions: options\n });\n\n // 初始化 vue 实例\n this.$vm = new VueComponent(options);\n\n // 处理$slots,$scopedSlots(暂不支持动态变化$slots)\n initSlots(this.$vm, properties.vueSlots);\n\n // 触发首次 setData\n this.$vm.$mount();\n },\n ready () {\n // 当组件 props 默认值为 true,初始化时传入 false 会导致 created,ready 触发, 但 attached 不触发\n // https://developers.weixin.qq.com/community/develop/doc/00066ae2844cc0f8eb883e2a557800\n if (this.$vm) {\n this.$vm._isMounted = true;\n this.$vm.__call_hook('mounted');\n this.$vm.__call_hook('onReady');\n }\n },\n detached () {\n this.$vm && this.$vm.$destroy();\n }\n },\n pageLifetimes: {\n show (args) {\n this.$vm && this.$vm.__call_hook('onPageShow', args);\n },\n hide () {\n this.$vm && this.$vm.__call_hook('onPageHide');\n },\n resize (size) {\n this.$vm && this.$vm.__call_hook('onPageResize', size);\n }\n },\n methods: {\n __l: handleLink,\n __e: handleEvent\n }\n };\n // externalClasses\n if (vueOptions.externalClasses) {\n componentOptions.externalClasses = vueOptions.externalClasses;\n }\n\n if (Array.isArray(vueOptions.wxsCallMethods)) {\n vueOptions.wxsCallMethods.forEach(callMethod => {\n componentOptions.methods[callMethod] = function (args) {\n return this.$vm[callMethod](args)\n };\n });\n }\n\n if (needVueOptions) {\n return [componentOptions, vueOptions, VueComponent]\n }\n if (isPage) {\n return componentOptions\n }\n return [componentOptions, VueComponent]\n}\n\nfunction parseComponent (vueComponentOptions, needVueOptions) {\n return parseBaseComponent(vueComponentOptions, {\n isPage,\n initRelation\n }, needVueOptions)\n}\n\nconst hooks$1 = [\n 'onShow',\n 'onHide',\n 'onUnload'\n];\n\nhooks$1.push(...PAGE_EVENT_HOOKS);\n\nfunction parseBasePage (vuePageOptions) {\n const [pageOptions, vueOptions] = parseComponent(vuePageOptions, true);\n\n initHooks(pageOptions.methods, hooks$1, vueOptions);\n\n pageOptions.methods.onLoad = function (query) {\n this.options = query;\n const copyQuery = Object.assign({}, query);\n delete copyQuery.__id__;\n this.$page = {\n fullPath: '/' + (this.route || this.is) + stringifyQuery(copyQuery)\n };\n this.$vm.$mp.query = query; // 兼容 mpvue\n this.$vm.__call_hook('onLoad', query);\n };\n {\n initUnknownHooks(pageOptions.methods, vuePageOptions, ['onReady']);\n }\n {\n initWorkletMethods(pageOptions.methods, vueOptions.methods);\n }\n\n return pageOptions\n}\n\nfunction parsePage (vuePageOptions) {\n return parseBasePage(vuePageOptions)\n}\n\nfunction createPage (vuePageOptions) {\n {\n return Component(parsePage(vuePageOptions))\n }\n}\n\nfunction createComponent (vueOptions) {\n {\n return Component(parseComponent(vueOptions))\n }\n}\n\nfunction createSubpackageApp (vm) {\n const appOptions = parseApp(vm);\n const app = getApp({\n allowDefault: true\n });\n vm.$scope = app;\n const globalData = app.globalData;\n if (globalData) {\n Object.keys(appOptions.globalData).forEach(name => {\n if (!hasOwn(globalData, name)) {\n globalData[name] = appOptions.globalData[name];\n }\n });\n }\n Object.keys(appOptions).forEach(name => {\n if (!hasOwn(app, name)) {\n app[name] = appOptions[name];\n }\n });\n if (isFn(appOptions.onShow) && wx.onAppShow) {\n wx.onAppShow((...args) => {\n vm.__call_hook('onShow', args);\n });\n }\n if (isFn(appOptions.onHide) && wx.onAppHide) {\n wx.onAppHide((...args) => {\n vm.__call_hook('onHide', args);\n });\n }\n if (isFn(appOptions.onLaunch)) {\n const args = wx.getLaunchOptionsSync && wx.getLaunchOptionsSync();\n vm.__call_hook('onLaunch', args);\n }\n return vm\n}\n\nfunction createPlugin (vm) {\n const appOptions = parseApp(vm);\n if (isFn(appOptions.onShow) && wx.onAppShow) {\n wx.onAppShow((...args) => {\n vm.__call_hook('onShow', args);\n });\n }\n if (isFn(appOptions.onHide) && wx.onAppHide) {\n wx.onAppHide((...args) => {\n vm.__call_hook('onHide', args);\n });\n }\n if (isFn(appOptions.onLaunch)) {\n const args = wx.getLaunchOptionsSync && wx.getLaunchOptionsSync();\n vm.__call_hook('onLaunch', args);\n }\n return vm\n}\n\ntodos.forEach(todoApi => {\n protocols[todoApi] = false;\n});\n\ncanIUses.forEach(canIUseApi => {\n const apiName = protocols[canIUseApi] && protocols[canIUseApi].name ? protocols[canIUseApi].name\n : canIUseApi;\n if (!wx.canIUse(apiName)) {\n protocols[canIUseApi] = false;\n }\n});\n\nlet uni = {};\n\nif (typeof Proxy !== 'undefined' && \"mp-weixin\" !== 'app-plus') {\n uni = new Proxy({}, {\n get (target, name) {\n if (hasOwn(target, name)) {\n return target[name]\n }\n if (baseApi[name]) {\n return baseApi[name]\n }\n if (api[name]) {\n return promisify(name, api[name])\n }\n {\n if (extraApi[name]) {\n return promisify(name, extraApi[name])\n }\n if (todoApis[name]) {\n return promisify(name, todoApis[name])\n }\n }\n if (eventApi[name]) {\n return eventApi[name]\n }\n return promisify(name, wrapper(name, wx[name]))\n },\n set (target, name, value) {\n target[name] = value;\n return true\n }\n });\n} else {\n Object.keys(baseApi).forEach(name => {\n uni[name] = baseApi[name];\n });\n\n {\n Object.keys(todoApis).forEach(name => {\n uni[name] = promisify(name, todoApis[name]);\n });\n Object.keys(extraApi).forEach(name => {\n uni[name] = promisify(name, extraApi[name]);\n });\n }\n\n Object.keys(eventApi).forEach(name => {\n uni[name] = eventApi[name];\n });\n\n Object.keys(api).forEach(name => {\n uni[name] = promisify(name, api[name]);\n });\n\n Object.keys(wx).forEach(name => {\n if (hasOwn(wx, name) || hasOwn(protocols, name)) {\n uni[name] = promisify(name, wrapper(name, wx[name]));\n }\n });\n}\n\nwx.createApp = createApp;\nwx.createPage = createPage;\nwx.createComponent = createComponent;\nwx.createSubpackageApp = createSubpackageApp;\nwx.createPlugin = createPlugin;\n\nvar uni$1 = uni;\n\nexport default uni$1;\nexport { createApp, createComponent, createPage, createPlugin, createSubpackageApp };\n","function _iterableToArray(iter) {\n if (typeof Symbol !== \"undefined\" && iter[Symbol.iterator] != null || iter[\"@@iterator\"] != null) return Array.from(iter);\n}\nmodule.exports = _iterableToArray, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _nonIterableSpread() {\n throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}\nmodule.exports = _nonIterableSpread, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","const isObject = (val) => val !== null && typeof val === 'object';\nconst defaultDelimiters = ['{', '}'];\nclass BaseFormatter {\n constructor() {\n this._caches = Object.create(null);\n }\n interpolate(message, values, delimiters = defaultDelimiters) {\n if (!values) {\n return [message];\n }\n let tokens = this._caches[message];\n if (!tokens) {\n tokens = parse(message, delimiters);\n this._caches[message] = tokens;\n }\n return compile(tokens, values);\n }\n}\nconst RE_TOKEN_LIST_VALUE = /^(?:\\d)+/;\nconst RE_TOKEN_NAMED_VALUE = /^(?:\\w)+/;\nfunction parse(format, [startDelimiter, endDelimiter]) {\n const tokens = [];\n let position = 0;\n let text = '';\n while (position < format.length) {\n let char = format[position++];\n if (char === startDelimiter) {\n if (text) {\n tokens.push({ type: 'text', value: text });\n }\n text = '';\n let sub = '';\n char = format[position++];\n while (char !== undefined && char !== endDelimiter) {\n sub += char;\n char = format[position++];\n }\n const isClosed = char === endDelimiter;\n const type = RE_TOKEN_LIST_VALUE.test(sub)\n ? 'list'\n : isClosed && RE_TOKEN_NAMED_VALUE.test(sub)\n ? 'named'\n : 'unknown';\n tokens.push({ value: sub, type });\n }\n // else if (char === '%') {\n // // when found rails i18n syntax, skip text capture\n // if (format[position] !== '{') {\n // text += char\n // }\n // }\n else {\n text += char;\n }\n }\n text && tokens.push({ type: 'text', value: text });\n return tokens;\n}\nfunction compile(tokens, values) {\n const compiled = [];\n let index = 0;\n const mode = Array.isArray(values)\n ? 'list'\n : isObject(values)\n ? 'named'\n : 'unknown';\n if (mode === 'unknown') {\n return compiled;\n }\n while (index < tokens.length) {\n const token = tokens[index];\n switch (token.type) {\n case 'text':\n compiled.push(token.value);\n break;\n case 'list':\n compiled.push(values[parseInt(token.value, 10)]);\n break;\n case 'named':\n if (mode === 'named') {\n compiled.push(values[token.value]);\n }\n else {\n if (process.env.NODE_ENV !== 'production') {\n console.warn(`Type of token '${token.type}' and format of value '${mode}' don't match!`);\n }\n }\n break;\n case 'unknown':\n if (process.env.NODE_ENV !== 'production') {\n console.warn(`Detect 'unknown' type of token!`);\n }\n break;\n }\n index++;\n }\n return compiled;\n}\n\nconst LOCALE_ZH_HANS = 'zh-Hans';\nconst LOCALE_ZH_HANT = 'zh-Hant';\nconst LOCALE_EN = 'en';\nconst LOCALE_FR = 'fr';\nconst LOCALE_ES = 'es';\nconst hasOwnProperty = Object.prototype.hasOwnProperty;\nconst hasOwn = (val, key) => hasOwnProperty.call(val, key);\nconst defaultFormatter = new BaseFormatter();\nfunction include(str, parts) {\n return !!parts.find((part) => str.indexOf(part) !== -1);\n}\nfunction startsWith(str, parts) {\n return parts.find((part) => str.indexOf(part) === 0);\n}\nfunction normalizeLocale(locale, messages) {\n if (!locale) {\n return;\n }\n locale = locale.trim().replace(/_/g, '-');\n if (messages && messages[locale]) {\n return locale;\n }\n locale = locale.toLowerCase();\n if (locale === 'chinese') {\n // 支付宝\n return LOCALE_ZH_HANS;\n }\n if (locale.indexOf('zh') === 0) {\n if (locale.indexOf('-hans') > -1) {\n return LOCALE_ZH_HANS;\n }\n if (locale.indexOf('-hant') > -1) {\n return LOCALE_ZH_HANT;\n }\n if (include(locale, ['-tw', '-hk', '-mo', '-cht'])) {\n return LOCALE_ZH_HANT;\n }\n return LOCALE_ZH_HANS;\n }\n let locales = [LOCALE_EN, LOCALE_FR, LOCALE_ES];\n if (messages && Object.keys(messages).length > 0) {\n locales = Object.keys(messages);\n }\n const lang = startsWith(locale, locales);\n if (lang) {\n return lang;\n }\n}\nclass I18n {\n constructor({ locale, fallbackLocale, messages, watcher, formater, }) {\n this.locale = LOCALE_EN;\n this.fallbackLocale = LOCALE_EN;\n this.message = {};\n this.messages = {};\n this.watchers = [];\n if (fallbackLocale) {\n this.fallbackLocale = fallbackLocale;\n }\n this.formater = formater || defaultFormatter;\n this.messages = messages || {};\n this.setLocale(locale || LOCALE_EN);\n if (watcher) {\n this.watchLocale(watcher);\n }\n }\n setLocale(locale) {\n const oldLocale = this.locale;\n this.locale = normalizeLocale(locale, this.messages) || this.fallbackLocale;\n if (!this.messages[this.locale]) {\n // 可能初始化时不存在\n this.messages[this.locale] = {};\n }\n this.message = this.messages[this.locale];\n // 仅发生变化时,通知\n if (oldLocale !== this.locale) {\n this.watchers.forEach((watcher) => {\n watcher(this.locale, oldLocale);\n });\n }\n }\n getLocale() {\n return this.locale;\n }\n watchLocale(fn) {\n const index = this.watchers.push(fn) - 1;\n return () => {\n this.watchers.splice(index, 1);\n };\n }\n add(locale, message, override = true) {\n const curMessages = this.messages[locale];\n if (curMessages) {\n if (override) {\n Object.assign(curMessages, message);\n }\n else {\n Object.keys(message).forEach((key) => {\n if (!hasOwn(curMessages, key)) {\n curMessages[key] = message[key];\n }\n });\n }\n }\n else {\n this.messages[locale] = message;\n }\n }\n f(message, values, delimiters) {\n return this.formater.interpolate(message, values, delimiters).join('');\n }\n t(key, locale, values) {\n let message = this.message;\n if (typeof locale === 'string') {\n locale = normalizeLocale(locale, this.messages);\n locale && (message = this.messages[locale]);\n }\n else {\n values = locale;\n }\n if (!hasOwn(message, key)) {\n console.warn(`Cannot translate the value of keypath ${key}. Use the value of keypath as default.`);\n return key;\n }\n return this.formater.interpolate(message[key], values).join('');\n }\n}\n\nfunction watchAppLocale(appVm, i18n) {\n // 需要保证 watch 的触发在组件渲染之前\n if (appVm.$watchLocale) {\n // vue2\n appVm.$watchLocale((newLocale) => {\n i18n.setLocale(newLocale);\n });\n }\n else {\n appVm.$watch(() => appVm.$locale, (newLocale) => {\n i18n.setLocale(newLocale);\n });\n }\n}\nfunction getDefaultLocale() {\n if (typeof uni !== 'undefined' && uni.getLocale) {\n return uni.getLocale();\n }\n // 小程序平台,uni 和 uni-i18n 互相引用,导致访问不到 uni,故在 global 上挂了 getLocale\n if (typeof global !== 'undefined' && global.getLocale) {\n return global.getLocale();\n }\n return LOCALE_EN;\n}\nfunction initVueI18n(locale, messages = {}, fallbackLocale, watcher) {\n // 兼容旧版本入参\n if (typeof locale !== 'string') {\n [locale, messages] = [\n messages,\n locale,\n ];\n }\n if (typeof locale !== 'string') {\n // 因为小程序平台,uni-i18n 和 uni 互相引用,导致此时访问 uni 时,为 undefined\n locale = getDefaultLocale();\n }\n if (typeof fallbackLocale !== 'string') {\n fallbackLocale =\n (typeof __uniConfig !== 'undefined' && __uniConfig.fallbackLocale) ||\n LOCALE_EN;\n }\n const i18n = new I18n({\n locale,\n fallbackLocale,\n messages,\n watcher,\n });\n let t = (key, values) => {\n if (typeof getApp !== 'function') {\n // app view\n /* eslint-disable no-func-assign */\n t = function (key, values) {\n return i18n.t(key, values);\n };\n }\n else {\n let isWatchedAppLocale = false;\n t = function (key, values) {\n const appVm = getApp().$vm;\n // 可能$vm还不存在,比如在支付宝小程序中,组件定义较早,在props的default里使用了t()函数(如uni-goods-nav),此时app还未初始化\n // options: {\n // \ttype: Array,\n // \tdefault () {\n // \t\treturn [{\n // \t\t\ticon: 'shop',\n // \t\t\ttext: t(\"uni-goods-nav.options.shop\"),\n // \t\t}, {\n // \t\t\ticon: 'cart',\n // \t\t\ttext: t(\"uni-goods-nav.options.cart\")\n // \t\t}]\n // \t}\n // },\n if (appVm) {\n // 触发响应式\n appVm.$locale;\n if (!isWatchedAppLocale) {\n isWatchedAppLocale = true;\n watchAppLocale(appVm, i18n);\n }\n }\n return i18n.t(key, values);\n };\n }\n return t(key, values);\n };\n return {\n i18n,\n f(message, values, delimiters) {\n return i18n.f(message, values, delimiters);\n },\n t(key, values) {\n return t(key, values);\n },\n add(locale, message, override = true) {\n return i18n.add(locale, message, override);\n },\n watch(fn) {\n return i18n.watchLocale(fn);\n },\n getLocale() {\n return i18n.getLocale();\n },\n setLocale(newLocale) {\n return i18n.setLocale(newLocale);\n },\n };\n}\n\nconst isString = (val) => typeof val === 'string';\nlet formater;\nfunction hasI18nJson(jsonObj, delimiters) {\n if (!formater) {\n formater = new BaseFormatter();\n }\n return walkJsonObj(jsonObj, (jsonObj, key) => {\n const value = jsonObj[key];\n if (isString(value)) {\n if (isI18nStr(value, delimiters)) {\n return true;\n }\n }\n else {\n return hasI18nJson(value, delimiters);\n }\n });\n}\nfunction parseI18nJson(jsonObj, values, delimiters) {\n if (!formater) {\n formater = new BaseFormatter();\n }\n walkJsonObj(jsonObj, (jsonObj, key) => {\n const value = jsonObj[key];\n if (isString(value)) {\n if (isI18nStr(value, delimiters)) {\n jsonObj[key] = compileStr(value, values, delimiters);\n }\n }\n else {\n parseI18nJson(value, values, delimiters);\n }\n });\n return jsonObj;\n}\nfunction compileI18nJsonStr(jsonStr, { locale, locales, delimiters, }) {\n if (!isI18nStr(jsonStr, delimiters)) {\n return jsonStr;\n }\n if (!formater) {\n formater = new BaseFormatter();\n }\n const localeValues = [];\n Object.keys(locales).forEach((name) => {\n if (name !== locale) {\n localeValues.push({\n locale: name,\n values: locales[name],\n });\n }\n });\n localeValues.unshift({ locale, values: locales[locale] });\n try {\n return JSON.stringify(compileJsonObj(JSON.parse(jsonStr), localeValues, delimiters), null, 2);\n }\n catch (e) { }\n return jsonStr;\n}\nfunction isI18nStr(value, delimiters) {\n return value.indexOf(delimiters[0]) > -1;\n}\nfunction compileStr(value, values, delimiters) {\n return formater.interpolate(value, values, delimiters).join('');\n}\nfunction compileValue(jsonObj, key, localeValues, delimiters) {\n const value = jsonObj[key];\n if (isString(value)) {\n // 存在国际化\n if (isI18nStr(value, delimiters)) {\n jsonObj[key] = compileStr(value, localeValues[0].values, delimiters);\n if (localeValues.length > 1) {\n // 格式化国际化语言\n const valueLocales = (jsonObj[key + 'Locales'] = {});\n localeValues.forEach((localValue) => {\n valueLocales[localValue.locale] = compileStr(value, localValue.values, delimiters);\n });\n }\n }\n }\n else {\n compileJsonObj(value, localeValues, delimiters);\n }\n}\nfunction compileJsonObj(jsonObj, localeValues, delimiters) {\n walkJsonObj(jsonObj, (jsonObj, key) => {\n compileValue(jsonObj, key, localeValues, delimiters);\n });\n return jsonObj;\n}\nfunction walkJsonObj(jsonObj, walk) {\n if (Array.isArray(jsonObj)) {\n for (let i = 0; i < jsonObj.length; i++) {\n if (walk(jsonObj, i)) {\n return true;\n }\n }\n }\n else if (isObject(jsonObj)) {\n for (const key in jsonObj) {\n if (walk(jsonObj, key)) {\n return true;\n }\n }\n }\n return false;\n}\n\nfunction resolveLocale(locales) {\n return (locale) => {\n if (!locale) {\n return locale;\n }\n locale = normalizeLocale(locale) || locale;\n return resolveLocaleChain(locale).find((locale) => locales.indexOf(locale) > -1);\n };\n}\nfunction resolveLocaleChain(locale) {\n const chain = [];\n const tokens = locale.split('-');\n while (tokens.length) {\n chain.push(tokens.join('-'));\n tokens.pop();\n }\n return chain;\n}\n\nexport { BaseFormatter as Formatter, I18n, LOCALE_EN, LOCALE_ES, LOCALE_FR, LOCALE_ZH_HANS, LOCALE_ZH_HANT, compileI18nJsonStr, hasI18nJson, initVueI18n, isI18nStr, isString, normalizeLocale, parseI18nJson, resolveLocale };\n","function _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n}\nmodule.exports = _classCallCheck, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var toPropertyKey = require(\"./toPropertyKey.js\");\nfunction _defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, toPropertyKey(descriptor.key), descriptor);\n }\n}\nfunction _createClass(Constructor, protoProps, staticProps) {\n if (protoProps) _defineProperties(Constructor.prototype, protoProps);\n if (staticProps) _defineProperties(Constructor, staticProps);\n Object.defineProperty(Constructor, \"prototype\", {\n writable: false\n });\n return Constructor;\n}\nmodule.exports = _createClass, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","/*!\n * Vue.js v2.6.11\n * (c) 2014-2024 Evan You\n * Released under the MIT License.\n */\n/* */\n\nvar emptyObject = Object.freeze({});\n\n// These helpers produce better VM code in JS engines due to their\n// explicitness and function inlining.\nfunction isUndef (v) {\n return v === undefined || v === null\n}\n\nfunction isDef (v) {\n return v !== undefined && v !== null\n}\n\nfunction isTrue (v) {\n return v === true\n}\n\nfunction isFalse (v) {\n return v === false\n}\n\n/**\n * Check if value is primitive.\n */\nfunction isPrimitive (value) {\n return (\n typeof value === 'string' ||\n typeof value === 'number' ||\n // $flow-disable-line\n typeof value === 'symbol' ||\n typeof value === 'boolean'\n )\n}\n\n/**\n * Quick object check - this is primarily used to tell\n * Objects from primitive values when we know the value\n * is a JSON-compliant type.\n */\nfunction isObject (obj) {\n return obj !== null && typeof obj === 'object'\n}\n\n/**\n * Get the raw type string of a value, e.g., [object Object].\n */\nvar _toString = Object.prototype.toString;\n\nfunction toRawType (value) {\n return _toString.call(value).slice(8, -1)\n}\n\n/**\n * Strict object type check. Only returns true\n * for plain JavaScript objects.\n */\nfunction isPlainObject (obj) {\n return _toString.call(obj) === '[object Object]'\n}\n\nfunction isRegExp (v) {\n return _toString.call(v) === '[object RegExp]'\n}\n\n/**\n * Check if val is a valid array index.\n */\nfunction isValidArrayIndex (val) {\n var n = parseFloat(String(val));\n return n >= 0 && Math.floor(n) === n && isFinite(val)\n}\n\nfunction isPromise (val) {\n return (\n isDef(val) &&\n typeof val.then === 'function' &&\n typeof val.catch === 'function'\n )\n}\n\n/**\n * Convert a value to a string that is actually rendered.\n */\nfunction toString (val) {\n return val == null\n ? ''\n : Array.isArray(val) || (isPlainObject(val) && val.toString === _toString)\n ? JSON.stringify(val, null, 2)\n : String(val)\n}\n\n/**\n * Convert an input value to a number for persistence.\n * If the conversion fails, return original string.\n */\nfunction toNumber (val) {\n var n = parseFloat(val);\n return isNaN(n) ? val : n\n}\n\n/**\n * Make a map and return a function for checking if a key\n * is in that map.\n */\nfunction makeMap (\n str,\n expectsLowerCase\n) {\n var map = Object.create(null);\n var list = str.split(',');\n for (var i = 0; i < list.length; i++) {\n map[list[i]] = true;\n }\n return expectsLowerCase\n ? function (val) { return map[val.toLowerCase()]; }\n : function (val) { return map[val]; }\n}\n\n/**\n * Check if a tag is a built-in tag.\n */\nvar isBuiltInTag = makeMap('slot,component', true);\n\n/**\n * Check if an attribute is a reserved attribute.\n */\nvar isReservedAttribute = makeMap('key,ref,slot,slot-scope,is');\n\n/**\n * Remove an item from an array.\n */\nfunction remove (arr, item) {\n if (arr.length) {\n var index = arr.indexOf(item);\n if (index > -1) {\n return arr.splice(index, 1)\n }\n }\n}\n\n/**\n * Check whether an object has the property.\n */\nvar hasOwnProperty = Object.prototype.hasOwnProperty;\nfunction hasOwn (obj, key) {\n return hasOwnProperty.call(obj, key)\n}\n\n/**\n * Create a cached version of a pure function.\n */\nfunction cached (fn) {\n var cache = Object.create(null);\n return (function cachedFn (str) {\n var hit = cache[str];\n return hit || (cache[str] = fn(str))\n })\n}\n\n/**\n * Camelize a hyphen-delimited string.\n */\nvar camelizeRE = /-(\\w)/g;\nvar camelize = cached(function (str) {\n return str.replace(camelizeRE, function (_, c) { return c ? c.toUpperCase() : ''; })\n});\n\n/**\n * Capitalize a string.\n */\nvar capitalize = cached(function (str) {\n return str.charAt(0).toUpperCase() + str.slice(1)\n});\n\n/**\n * Hyphenate a camelCase string.\n */\nvar hyphenateRE = /\\B([A-Z])/g;\nvar hyphenate = cached(function (str) {\n return str.replace(hyphenateRE, '-$1').toLowerCase()\n});\n\n/**\n * Simple bind polyfill for environments that do not support it,\n * e.g., PhantomJS 1.x. Technically, we don't need this anymore\n * since native bind is now performant enough in most browsers.\n * But removing it would mean breaking code that was able to run in\n * PhantomJS 1.x, so this must be kept for backward compatibility.\n */\n\n/* istanbul ignore next */\nfunction polyfillBind (fn, ctx) {\n function boundFn (a) {\n var l = arguments.length;\n return l\n ? l > 1\n ? fn.apply(ctx, arguments)\n : fn.call(ctx, a)\n : fn.call(ctx)\n }\n\n boundFn._length = fn.length;\n return boundFn\n}\n\nfunction nativeBind (fn, ctx) {\n return fn.bind(ctx)\n}\n\nvar bind = Function.prototype.bind\n ? nativeBind\n : polyfillBind;\n\n/**\n * Convert an Array-like object to a real Array.\n */\nfunction toArray (list, start) {\n start = start || 0;\n var i = list.length - start;\n var ret = new Array(i);\n while (i--) {\n ret[i] = list[i + start];\n }\n return ret\n}\n\n/**\n * Mix properties into target object.\n */\nfunction extend (to, _from) {\n for (var key in _from) {\n to[key] = _from[key];\n }\n return to\n}\n\n/**\n * Merge an Array of Objects into a single Object.\n */\nfunction toObject (arr) {\n var res = {};\n for (var i = 0; i < arr.length; i++) {\n if (arr[i]) {\n extend(res, arr[i]);\n }\n }\n return res\n}\n\n/* eslint-disable no-unused-vars */\n\n/**\n * Perform no operation.\n * Stubbing args to make Flow happy without leaving useless transpiled code\n * with ...rest (https://flow.org/blog/2017/05/07/Strict-Function-Call-Arity/).\n */\nfunction noop (a, b, c) {}\n\n/**\n * Always return false.\n */\nvar no = function (a, b, c) { return false; };\n\n/* eslint-enable no-unused-vars */\n\n/**\n * Return the same value.\n */\nvar identity = function (_) { return _; };\n\n/**\n * Check if two values are loosely equal - that is,\n * if they are plain objects, do they have the same shape?\n */\nfunction looseEqual (a, b) {\n if (a === b) { return true }\n var isObjectA = isObject(a);\n var isObjectB = isObject(b);\n if (isObjectA && isObjectB) {\n try {\n var isArrayA = Array.isArray(a);\n var isArrayB = Array.isArray(b);\n if (isArrayA && isArrayB) {\n return a.length === b.length && a.every(function (e, i) {\n return looseEqual(e, b[i])\n })\n } else if (a instanceof Date && b instanceof Date) {\n return a.getTime() === b.getTime()\n } else if (!isArrayA && !isArrayB) {\n var keysA = Object.keys(a);\n var keysB = Object.keys(b);\n return keysA.length === keysB.length && keysA.every(function (key) {\n return looseEqual(a[key], b[key])\n })\n } else {\n /* istanbul ignore next */\n return false\n }\n } catch (e) {\n /* istanbul ignore next */\n return false\n }\n } else if (!isObjectA && !isObjectB) {\n return String(a) === String(b)\n } else {\n return false\n }\n}\n\n/**\n * Return the first index at which a loosely equal value can be\n * found in the array (if value is a plain object, the array must\n * contain an object of the same shape), or -1 if it is not present.\n */\nfunction looseIndexOf (arr, val) {\n for (var i = 0; i < arr.length; i++) {\n if (looseEqual(arr[i], val)) { return i }\n }\n return -1\n}\n\n/**\n * Ensure a function is called only once.\n */\nfunction once (fn) {\n var called = false;\n return function () {\n if (!called) {\n called = true;\n fn.apply(this, arguments);\n }\n }\n}\n\nvar ASSET_TYPES = [\n 'component',\n 'directive',\n 'filter'\n];\n\nvar LIFECYCLE_HOOKS = [\n 'beforeCreate',\n 'created',\n 'beforeMount',\n 'mounted',\n 'beforeUpdate',\n 'updated',\n 'beforeDestroy',\n 'destroyed',\n 'activated',\n 'deactivated',\n 'errorCaptured',\n 'serverPrefetch'\n];\n\n/* */\n\n\n\nvar config = ({\n /**\n * Option merge strategies (used in core/util/options)\n */\n // $flow-disable-line\n optionMergeStrategies: Object.create(null),\n\n /**\n * Whether to suppress warnings.\n */\n silent: false,\n\n /**\n * Show production mode tip message on boot?\n */\n productionTip: process.env.NODE_ENV !== 'production',\n\n /**\n * Whether to enable devtools\n */\n devtools: process.env.NODE_ENV !== 'production',\n\n /**\n * Whether to record perf\n */\n performance: false,\n\n /**\n * Error handler for watcher errors\n */\n errorHandler: null,\n\n /**\n * Warn handler for watcher warns\n */\n warnHandler: null,\n\n /**\n * Ignore certain custom elements\n */\n ignoredElements: [],\n\n /**\n * Custom user key aliases for v-on\n */\n // $flow-disable-line\n keyCodes: Object.create(null),\n\n /**\n * Check if a tag is reserved so that it cannot be registered as a\n * component. This is platform-dependent and may be overwritten.\n */\n isReservedTag: no,\n\n /**\n * Check if an attribute is reserved so that it cannot be used as a component\n * prop. This is platform-dependent and may be overwritten.\n */\n isReservedAttr: no,\n\n /**\n * Check if a tag is an unknown element.\n * Platform-dependent.\n */\n isUnknownElement: no,\n\n /**\n * Get the namespace of an element\n */\n getTagNamespace: noop,\n\n /**\n * Parse the real tag name for the specific platform.\n */\n parsePlatformTagName: identity,\n\n /**\n * Check if an attribute must be bound using property, e.g. value\n * Platform-dependent.\n */\n mustUseProp: no,\n\n /**\n * Perform updates asynchronously. Intended to be used by Vue Test Utils\n * This will significantly reduce performance if set to false.\n */\n async: true,\n\n /**\n * Exposed for legacy reasons\n */\n _lifecycleHooks: LIFECYCLE_HOOKS\n});\n\n/* */\n\n/**\n * unicode letters used for parsing html tags, component names and property paths.\n * using https://www.w3.org/TR/html53/semantics-scripting.html#potentialcustomelementname\n * skipping \\u10000-\\uEFFFF due to it freezing up PhantomJS\n */\nvar unicodeRegExp = /a-zA-Z\\u00B7\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u203F-\\u2040\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD/;\n\n/**\n * Check if a string starts with $ or _\n */\nfunction isReserved (str) {\n var c = (str + '').charCodeAt(0);\n return c === 0x24 || c === 0x5F\n}\n\n/**\n * Define a property.\n */\nfunction def (obj, key, val, enumerable) {\n Object.defineProperty(obj, key, {\n value: val,\n enumerable: !!enumerable,\n writable: true,\n configurable: true\n });\n}\n\n/**\n * Parse simple path.\n */\nvar bailRE = new RegExp((\"[^\" + (unicodeRegExp.source) + \".$_\\\\d]\"));\nfunction parsePath (path) {\n if (bailRE.test(path)) {\n return\n }\n var segments = path.split('.');\n return function (obj) {\n for (var i = 0; i < segments.length; i++) {\n if (!obj) { return }\n obj = obj[segments[i]];\n }\n return obj\n }\n}\n\n/* */\n\n// can we use __proto__?\nvar hasProto = '__proto__' in {};\n\n// Browser environment sniffing\nvar inBrowser = typeof window !== 'undefined';\nvar inWeex = typeof WXEnvironment !== 'undefined' && !!WXEnvironment.platform;\nvar weexPlatform = inWeex && WXEnvironment.platform.toLowerCase();\nvar UA = inBrowser && window.navigator && window.navigator.userAgent.toLowerCase();\nvar isIE = UA && /msie|trident/.test(UA);\nvar isIE9 = UA && UA.indexOf('msie 9.0') > 0;\nvar isEdge = UA && UA.indexOf('edge/') > 0;\nvar isAndroid = (UA && UA.indexOf('android') > 0) || (weexPlatform === 'android');\nvar isIOS = (UA && /iphone|ipad|ipod|ios/.test(UA)) || (weexPlatform === 'ios');\nvar isChrome = UA && /chrome\\/\\d+/.test(UA) && !isEdge;\nvar isPhantomJS = UA && /phantomjs/.test(UA);\nvar isFF = UA && UA.match(/firefox\\/(\\d+)/);\n\n// Firefox has a \"watch\" function on Object.prototype...\nvar nativeWatch = ({}).watch;\nif (inBrowser) {\n try {\n var opts = {};\n Object.defineProperty(opts, 'passive', ({\n get: function get () {\n }\n })); // https://github.com/facebook/flow/issues/285\n window.addEventListener('test-passive', null, opts);\n } catch (e) {}\n}\n\n// this needs to be lazy-evaled because vue may be required before\n// vue-server-renderer can set VUE_ENV\nvar _isServer;\nvar isServerRendering = function () {\n if (_isServer === undefined) {\n /* istanbul ignore if */\n if (!inBrowser && !inWeex && typeof global !== 'undefined') {\n // detect presence of vue-server-renderer and avoid\n // Webpack shimming the process\n _isServer = global['process'] && global['process'].env.VUE_ENV === 'server';\n } else {\n _isServer = false;\n }\n }\n return _isServer\n};\n\n// detect devtools\nvar devtools = inBrowser && window.__VUE_DEVTOOLS_GLOBAL_HOOK__;\n\n/* istanbul ignore next */\nfunction isNative (Ctor) {\n return typeof Ctor === 'function' && /native code/.test(Ctor.toString())\n}\n\nvar hasSymbol =\n typeof Symbol !== 'undefined' && isNative(Symbol) &&\n typeof Reflect !== 'undefined' && isNative(Reflect.ownKeys);\n\nvar _Set;\n/* istanbul ignore if */ // $flow-disable-line\nif (typeof Set !== 'undefined' && isNative(Set)) {\n // use native Set when available.\n _Set = Set;\n} else {\n // a non-standard Set polyfill that only works with primitive keys.\n _Set = /*@__PURE__*/(function () {\n function Set () {\n this.set = Object.create(null);\n }\n Set.prototype.has = function has (key) {\n return this.set[key] === true\n };\n Set.prototype.add = function add (key) {\n this.set[key] = true;\n };\n Set.prototype.clear = function clear () {\n this.set = Object.create(null);\n };\n\n return Set;\n }());\n}\n\n/* */\n\nvar warn = noop;\nvar tip = noop;\nvar generateComponentTrace = (noop); // work around flow check\nvar formatComponentName = (noop);\n\nif (process.env.NODE_ENV !== 'production') {\n var hasConsole = typeof console !== 'undefined';\n var classifyRE = /(?:^|[-_])(\\w)/g;\n var classify = function (str) { return str\n .replace(classifyRE, function (c) { return c.toUpperCase(); })\n .replace(/[-_]/g, ''); };\n\n warn = function (msg, vm) {\n var trace = vm ? generateComponentTrace(vm) : '';\n\n if (config.warnHandler) {\n config.warnHandler.call(null, msg, vm, trace);\n } else if (hasConsole && (!config.silent)) {\n console.error((\"[Vue warn]: \" + msg + trace));\n }\n };\n\n tip = function (msg, vm) {\n if (hasConsole && (!config.silent)) {\n console.warn(\"[Vue tip]: \" + msg + (\n vm ? generateComponentTrace(vm) : ''\n ));\n }\n };\n\n formatComponentName = function (vm, includeFile) {\n if (vm.$root === vm) {\n if (vm.$options && vm.$options.__file) { // fixed by xxxxxx\n return ('') + vm.$options.__file\n }\n return ''\n }\n var options = typeof vm === 'function' && vm.cid != null\n ? vm.options\n : vm._isVue\n ? vm.$options || vm.constructor.options\n : vm;\n var name = options.name || options._componentTag;\n var file = options.__file;\n if (!name && file) {\n var match = file.match(/([^/\\\\]+)\\.vue$/);\n name = match && match[1];\n }\n\n return (\n (name ? (\"<\" + (classify(name)) + \">\") : \"\") +\n (file && includeFile !== false ? (\" at \" + file) : '')\n )\n };\n\n var repeat = function (str, n) {\n var res = '';\n while (n) {\n if (n % 2 === 1) { res += str; }\n if (n > 1) { str += str; }\n n >>= 1;\n }\n return res\n };\n\n generateComponentTrace = function (vm) {\n if (vm._isVue && vm.$parent) {\n var tree = [];\n var currentRecursiveSequence = 0;\n while (vm && vm.$options.name !== 'PageBody') {\n if (tree.length > 0) {\n var last = tree[tree.length - 1];\n if (last.constructor === vm.constructor) {\n currentRecursiveSequence++;\n vm = vm.$parent;\n continue\n } else if (currentRecursiveSequence > 0) {\n tree[tree.length - 1] = [last, currentRecursiveSequence];\n currentRecursiveSequence = 0;\n }\n }\n !vm.$options.isReserved && tree.push(vm);\n vm = vm.$parent;\n }\n return '\\n\\nfound in\\n\\n' + tree\n .map(function (vm, i) { return (\"\" + (i === 0 ? '---> ' : repeat(' ', 5 + i * 2)) + (Array.isArray(vm)\n ? ((formatComponentName(vm[0])) + \"... (\" + (vm[1]) + \" recursive calls)\")\n : formatComponentName(vm))); })\n .join('\\n')\n } else {\n return (\"\\n\\n(found in \" + (formatComponentName(vm)) + \")\")\n }\n };\n}\n\n/* */\n\nvar uid = 0;\n\n/**\n * A dep is an observable that can have multiple\n * directives subscribing to it.\n */\nvar Dep = function Dep () {\n this.id = uid++;\n this.subs = [];\n};\n\nDep.prototype.addSub = function addSub (sub) {\n this.subs.push(sub);\n};\n\nDep.prototype.removeSub = function removeSub (sub) {\n remove(this.subs, sub);\n};\n\nDep.prototype.depend = function depend () {\n if (Dep.SharedObject.target) {\n Dep.SharedObject.target.addDep(this);\n }\n};\n\nDep.prototype.notify = function notify () {\n // stabilize the subscriber list first\n var subs = this.subs.slice();\n if (process.env.NODE_ENV !== 'production' && !config.async) {\n // subs aren't sorted in scheduler if not running async\n // we need to sort them now to make sure they fire in correct\n // order\n subs.sort(function (a, b) { return a.id - b.id; });\n }\n for (var i = 0, l = subs.length; i < l; i++) {\n subs[i].update();\n }\n};\n\n// The current target watcher being evaluated.\n// This is globally unique because only one watcher\n// can be evaluated at a time.\n// fixed by xxxxxx (nvue shared vuex)\n/* eslint-disable no-undef */\nDep.SharedObject = {};\nDep.SharedObject.target = null;\nDep.SharedObject.targetStack = [];\n\nfunction pushTarget (target) {\n Dep.SharedObject.targetStack.push(target);\n Dep.SharedObject.target = target;\n Dep.target = target;\n}\n\nfunction popTarget () {\n Dep.SharedObject.targetStack.pop();\n Dep.SharedObject.target = Dep.SharedObject.targetStack[Dep.SharedObject.targetStack.length - 1];\n Dep.target = Dep.SharedObject.target;\n}\n\n/* */\n\nvar VNode = function VNode (\n tag,\n data,\n children,\n text,\n elm,\n context,\n componentOptions,\n asyncFactory\n) {\n this.tag = tag;\n this.data = data;\n this.children = children;\n this.text = text;\n this.elm = elm;\n this.ns = undefined;\n this.context = context;\n this.fnContext = undefined;\n this.fnOptions = undefined;\n this.fnScopeId = undefined;\n this.key = data && data.key;\n this.componentOptions = componentOptions;\n this.componentInstance = undefined;\n this.parent = undefined;\n this.raw = false;\n this.isStatic = false;\n this.isRootInsert = true;\n this.isComment = false;\n this.isCloned = false;\n this.isOnce = false;\n this.asyncFactory = asyncFactory;\n this.asyncMeta = undefined;\n this.isAsyncPlaceholder = false;\n};\n\nvar prototypeAccessors = { child: { configurable: true } };\n\n// DEPRECATED: alias for componentInstance for backwards compat.\n/* istanbul ignore next */\nprototypeAccessors.child.get = function () {\n return this.componentInstance\n};\n\nObject.defineProperties( VNode.prototype, prototypeAccessors );\n\nvar createEmptyVNode = function (text) {\n if ( text === void 0 ) text = '';\n\n var node = new VNode();\n node.text = text;\n node.isComment = true;\n return node\n};\n\nfunction createTextVNode (val) {\n return new VNode(undefined, undefined, undefined, String(val))\n}\n\n// optimized shallow clone\n// used for static nodes and slot nodes because they may be reused across\n// multiple renders, cloning them avoids errors when DOM manipulations rely\n// on their elm reference.\nfunction cloneVNode (vnode) {\n var cloned = new VNode(\n vnode.tag,\n vnode.data,\n // #7975\n // clone children array to avoid mutating original in case of cloning\n // a child.\n vnode.children && vnode.children.slice(),\n vnode.text,\n vnode.elm,\n vnode.context,\n vnode.componentOptions,\n vnode.asyncFactory\n );\n cloned.ns = vnode.ns;\n cloned.isStatic = vnode.isStatic;\n cloned.key = vnode.key;\n cloned.isComment = vnode.isComment;\n cloned.fnContext = vnode.fnContext;\n cloned.fnOptions = vnode.fnOptions;\n cloned.fnScopeId = vnode.fnScopeId;\n cloned.asyncMeta = vnode.asyncMeta;\n cloned.isCloned = true;\n return cloned\n}\n\n/*\n * not type checking this file because flow doesn't play well with\n * dynamically accessing methods on Array prototype\n */\n\nvar arrayProto = Array.prototype;\nvar arrayMethods = Object.create(arrayProto);\n\nvar methodsToPatch = [\n 'push',\n 'pop',\n 'shift',\n 'unshift',\n 'splice',\n 'sort',\n 'reverse'\n];\n\n/**\n * Intercept mutating methods and emit events\n */\nmethodsToPatch.forEach(function (method) {\n // cache original method\n var original = arrayProto[method];\n def(arrayMethods, method, function mutator () {\n var args = [], len = arguments.length;\n while ( len-- ) args[ len ] = arguments[ len ];\n\n var result = original.apply(this, args);\n var ob = this.__ob__;\n var inserted;\n switch (method) {\n case 'push':\n case 'unshift':\n inserted = args;\n break\n case 'splice':\n inserted = args.slice(2);\n break\n }\n if (inserted) { ob.observeArray(inserted); }\n // notify change\n ob.dep.notify();\n return result\n });\n});\n\n/* */\n\nvar arrayKeys = Object.getOwnPropertyNames(arrayMethods);\n\n/**\n * In some cases we may want to disable observation inside a component's\n * update computation.\n */\nvar shouldObserve = true;\n\nfunction toggleObserving (value) {\n shouldObserve = value;\n}\n\n/**\n * Observer class that is attached to each observed\n * object. Once attached, the observer converts the target\n * object's property keys into getter/setters that\n * collect dependencies and dispatch updates.\n */\nvar Observer = function Observer (value) {\n this.value = value;\n this.dep = new Dep();\n this.vmCount = 0;\n def(value, '__ob__', this);\n if (Array.isArray(value)) {\n if (hasProto) {\n {// fixed by xxxxxx 微信小程序使用 plugins 之后,数组方法被直接挂载到了数组对象上,需要执行 copyAugment 逻辑\n if(value.push !== value.__proto__.push){\n copyAugment(value, arrayMethods, arrayKeys);\n } else {\n protoAugment(value, arrayMethods);\n }\n }\n } else {\n copyAugment(value, arrayMethods, arrayKeys);\n }\n this.observeArray(value);\n } else {\n this.walk(value);\n }\n};\n\n/**\n * Walk through all properties and convert them into\n * getter/setters. This method should only be called when\n * value type is Object.\n */\nObserver.prototype.walk = function walk (obj) {\n var keys = Object.keys(obj);\n for (var i = 0; i < keys.length; i++) {\n defineReactive$$1(obj, keys[i]);\n }\n};\n\n/**\n * Observe a list of Array items.\n */\nObserver.prototype.observeArray = function observeArray (items) {\n for (var i = 0, l = items.length; i < l; i++) {\n observe(items[i]);\n }\n};\n\n// helpers\n\n/**\n * Augment a target Object or Array by intercepting\n * the prototype chain using __proto__\n */\nfunction protoAugment (target, src) {\n /* eslint-disable no-proto */\n target.__proto__ = src;\n /* eslint-enable no-proto */\n}\n\n/**\n * Augment a target Object or Array by defining\n * hidden properties.\n */\n/* istanbul ignore next */\nfunction copyAugment (target, src, keys) {\n for (var i = 0, l = keys.length; i < l; i++) {\n var key = keys[i];\n def(target, key, src[key]);\n }\n}\n\n/**\n * Attempt to create an observer instance for a value,\n * returns the new observer if successfully observed,\n * or the existing observer if the value already has one.\n */\nfunction observe (value, asRootData) {\n if (!isObject(value) || value instanceof VNode) {\n return\n }\n var ob;\n if (hasOwn(value, '__ob__') && value.__ob__ instanceof Observer) {\n ob = value.__ob__;\n } else if (\n shouldObserve &&\n !isServerRendering() &&\n (Array.isArray(value) || isPlainObject(value)) &&\n Object.isExtensible(value) &&\n !value._isVue &&\n !value.__v_isMPComponent\n ) {\n ob = new Observer(value);\n }\n if (asRootData && ob) {\n ob.vmCount++;\n }\n return ob\n}\n\n/**\n * Define a reactive property on an Object.\n */\nfunction defineReactive$$1 (\n obj,\n key,\n val,\n customSetter,\n shallow\n) {\n var dep = new Dep();\n\n var property = Object.getOwnPropertyDescriptor(obj, key);\n if (property && property.configurable === false) {\n return\n }\n\n // cater for pre-defined getter/setters\n var getter = property && property.get;\n var setter = property && property.set;\n if ((!getter || setter) && arguments.length === 2) {\n val = obj[key];\n }\n\n var childOb = !shallow && observe(val);\n Object.defineProperty(obj, key, {\n enumerable: true,\n configurable: true,\n get: function reactiveGetter () {\n var value = getter ? getter.call(obj) : val;\n if (Dep.SharedObject.target) { // fixed by xxxxxx\n dep.depend();\n if (childOb) {\n childOb.dep.depend();\n if (Array.isArray(value)) {\n dependArray(value);\n }\n }\n }\n return value\n },\n set: function reactiveSetter (newVal) {\n var value = getter ? getter.call(obj) : val;\n /* eslint-disable no-self-compare */\n if (newVal === value || (newVal !== newVal && value !== value)) {\n return\n }\n /* eslint-enable no-self-compare */\n if (process.env.NODE_ENV !== 'production' && customSetter) {\n customSetter();\n }\n // #7981: for accessor properties without setter\n if (getter && !setter) { return }\n if (setter) {\n setter.call(obj, newVal);\n } else {\n val = newVal;\n }\n childOb = !shallow && observe(newVal);\n dep.notify();\n }\n });\n}\n\n/**\n * Set a property on an object. Adds the new property and\n * triggers change notification if the property doesn't\n * already exist.\n */\nfunction set (target, key, val) {\n if (process.env.NODE_ENV !== 'production' &&\n (isUndef(target) || isPrimitive(target))\n ) {\n warn((\"Cannot set reactive property on undefined, null, or primitive value: \" + ((target))));\n }\n if (Array.isArray(target) && isValidArrayIndex(key)) {\n target.length = Math.max(target.length, key);\n target.splice(key, 1, val);\n return val\n }\n if (key in target && !(key in Object.prototype)) {\n target[key] = val;\n return val\n }\n var ob = (target).__ob__;\n if (target._isVue || (ob && ob.vmCount)) {\n process.env.NODE_ENV !== 'production' && warn(\n 'Avoid adding reactive properties to a Vue instance or its root $data ' +\n 'at runtime - declare it upfront in the data option.'\n );\n return val\n }\n if (!ob) {\n target[key] = val;\n return val\n }\n defineReactive$$1(ob.value, key, val);\n ob.dep.notify();\n return val\n}\n\n/**\n * Delete a property and trigger change if necessary.\n */\nfunction del (target, key) {\n if (process.env.NODE_ENV !== 'production' &&\n (isUndef(target) || isPrimitive(target))\n ) {\n warn((\"Cannot delete reactive property on undefined, null, or primitive value: \" + ((target))));\n }\n if (Array.isArray(target) && isValidArrayIndex(key)) {\n target.splice(key, 1);\n return\n }\n var ob = (target).__ob__;\n if (target._isVue || (ob && ob.vmCount)) {\n process.env.NODE_ENV !== 'production' && warn(\n 'Avoid deleting properties on a Vue instance or its root $data ' +\n '- just set it to null.'\n );\n return\n }\n if (!hasOwn(target, key)) {\n return\n }\n delete target[key];\n if (!ob) {\n return\n }\n ob.dep.notify();\n}\n\n/**\n * Collect dependencies on array elements when the array is touched, since\n * we cannot intercept array element access like property getters.\n */\nfunction dependArray (value) {\n for (var e = (void 0), i = 0, l = value.length; i < l; i++) {\n e = value[i];\n e && e.__ob__ && e.__ob__.dep.depend();\n if (Array.isArray(e)) {\n dependArray(e);\n }\n }\n}\n\n/* */\n\n/**\n * Option overwriting strategies are functions that handle\n * how to merge a parent option value and a child option\n * value into the final value.\n */\nvar strats = config.optionMergeStrategies;\n\n/**\n * Options with restrictions\n */\nif (process.env.NODE_ENV !== 'production') {\n strats.el = strats.propsData = function (parent, child, vm, key) {\n if (!vm) {\n warn(\n \"option \\\"\" + key + \"\\\" can only be used during instance \" +\n 'creation with the `new` keyword.'\n );\n }\n return defaultStrat(parent, child)\n };\n}\n\n/**\n * Helper that recursively merges two data objects together.\n */\nfunction mergeData (to, from) {\n if (!from) { return to }\n var key, toVal, fromVal;\n\n var keys = hasSymbol\n ? Reflect.ownKeys(from)\n : Object.keys(from);\n\n for (var i = 0; i < keys.length; i++) {\n key = keys[i];\n // in case the object is already observed...\n if (key === '__ob__') { continue }\n toVal = to[key];\n fromVal = from[key];\n if (!hasOwn(to, key)) {\n set(to, key, fromVal);\n } else if (\n toVal !== fromVal &&\n isPlainObject(toVal) &&\n isPlainObject(fromVal)\n ) {\n mergeData(toVal, fromVal);\n }\n }\n return to\n}\n\n/**\n * Data\n */\nfunction mergeDataOrFn (\n parentVal,\n childVal,\n vm\n) {\n if (!vm) {\n // in a Vue.extend merge, both should be functions\n if (!childVal) {\n return parentVal\n }\n if (!parentVal) {\n return childVal\n }\n // when parentVal & childVal are both present,\n // we need to return a function that returns the\n // merged result of both functions... no need to\n // check if parentVal is a function here because\n // it has to be a function to pass previous merges.\n return function mergedDataFn () {\n return mergeData(\n typeof childVal === 'function' ? childVal.call(this, this) : childVal,\n typeof parentVal === 'function' ? parentVal.call(this, this) : parentVal\n )\n }\n } else {\n return function mergedInstanceDataFn () {\n // instance merge\n var instanceData = typeof childVal === 'function'\n ? childVal.call(vm, vm)\n : childVal;\n var defaultData = typeof parentVal === 'function'\n ? parentVal.call(vm, vm)\n : parentVal;\n if (instanceData) {\n return mergeData(instanceData, defaultData)\n } else {\n return defaultData\n }\n }\n }\n}\n\nstrats.data = function (\n parentVal,\n childVal,\n vm\n) {\n if (!vm) {\n if (childVal && typeof childVal !== 'function') {\n process.env.NODE_ENV !== 'production' && warn(\n 'The \"data\" option should be a function ' +\n 'that returns a per-instance value in component ' +\n 'definitions.',\n vm\n );\n\n return parentVal\n }\n return mergeDataOrFn(parentVal, childVal)\n }\n\n return mergeDataOrFn(parentVal, childVal, vm)\n};\n\n/**\n * Hooks and props are merged as arrays.\n */\nfunction mergeHook (\n parentVal,\n childVal\n) {\n var res = childVal\n ? parentVal\n ? parentVal.concat(childVal)\n : Array.isArray(childVal)\n ? childVal\n : [childVal]\n : parentVal;\n return res\n ? dedupeHooks(res)\n : res\n}\n\nfunction dedupeHooks (hooks) {\n var res = [];\n for (var i = 0; i < hooks.length; i++) {\n if (res.indexOf(hooks[i]) === -1) {\n res.push(hooks[i]);\n }\n }\n return res\n}\n\nLIFECYCLE_HOOKS.forEach(function (hook) {\n strats[hook] = mergeHook;\n});\n\n/**\n * Assets\n *\n * When a vm is present (instance creation), we need to do\n * a three-way merge between constructor options, instance\n * options and parent options.\n */\nfunction mergeAssets (\n parentVal,\n childVal,\n vm,\n key\n) {\n var res = Object.create(parentVal || null);\n if (childVal) {\n process.env.NODE_ENV !== 'production' && assertObjectType(key, childVal, vm);\n return extend(res, childVal)\n } else {\n return res\n }\n}\n\nASSET_TYPES.forEach(function (type) {\n strats[type + 's'] = mergeAssets;\n});\n\n/**\n * Watchers.\n *\n * Watchers hashes should not overwrite one\n * another, so we merge them as arrays.\n */\nstrats.watch = function (\n parentVal,\n childVal,\n vm,\n key\n) {\n // work around Firefox's Object.prototype.watch...\n if (parentVal === nativeWatch) { parentVal = undefined; }\n if (childVal === nativeWatch) { childVal = undefined; }\n /* istanbul ignore if */\n if (!childVal) { return Object.create(parentVal || null) }\n if (process.env.NODE_ENV !== 'production') {\n assertObjectType(key, childVal, vm);\n }\n if (!parentVal) { return childVal }\n var ret = {};\n extend(ret, parentVal);\n for (var key$1 in childVal) {\n var parent = ret[key$1];\n var child = childVal[key$1];\n if (parent && !Array.isArray(parent)) {\n parent = [parent];\n }\n ret[key$1] = parent\n ? parent.concat(child)\n : Array.isArray(child) ? child : [child];\n }\n return ret\n};\n\n/**\n * Other object hashes.\n */\nstrats.props =\nstrats.methods =\nstrats.inject =\nstrats.computed = function (\n parentVal,\n childVal,\n vm,\n key\n) {\n if (childVal && process.env.NODE_ENV !== 'production') {\n assertObjectType(key, childVal, vm);\n }\n if (!parentVal) { return childVal }\n var ret = Object.create(null);\n extend(ret, parentVal);\n if (childVal) { extend(ret, childVal); }\n return ret\n};\nstrats.provide = mergeDataOrFn;\n\n/**\n * Default strategy.\n */\nvar defaultStrat = function (parentVal, childVal) {\n return childVal === undefined\n ? parentVal\n : childVal\n};\n\n/**\n * Validate component names\n */\nfunction checkComponents (options) {\n for (var key in options.components) {\n validateComponentName(key);\n }\n}\n\nfunction validateComponentName (name) {\n if (!new RegExp((\"^[a-zA-Z][\\\\-\\\\.0-9_\" + (unicodeRegExp.source) + \"]*$\")).test(name)) {\n warn(\n 'Invalid component name: \"' + name + '\". Component names ' +\n 'should conform to valid custom element name in html5 specification.'\n );\n }\n if (isBuiltInTag(name) || config.isReservedTag(name)) {\n warn(\n 'Do not use built-in or reserved HTML elements as component ' +\n 'id: ' + name\n );\n }\n}\n\n/**\n * Ensure all props option syntax are normalized into the\n * Object-based format.\n */\nfunction normalizeProps (options, vm) {\n var props = options.props;\n if (!props) { return }\n var res = {};\n var i, val, name;\n if (Array.isArray(props)) {\n i = props.length;\n while (i--) {\n val = props[i];\n if (typeof val === 'string') {\n name = camelize(val);\n res[name] = { type: null };\n } else if (process.env.NODE_ENV !== 'production') {\n warn('props must be strings when using array syntax.');\n }\n }\n } else if (isPlainObject(props)) {\n for (var key in props) {\n val = props[key];\n name = camelize(key);\n res[name] = isPlainObject(val)\n ? val\n : { type: val };\n }\n } else if (process.env.NODE_ENV !== 'production') {\n warn(\n \"Invalid value for option \\\"props\\\": expected an Array or an Object, \" +\n \"but got \" + (toRawType(props)) + \".\",\n vm\n );\n }\n options.props = res;\n}\n\n/**\n * Normalize all injections into Object-based format\n */\nfunction normalizeInject (options, vm) {\n var inject = options.inject;\n if (!inject) { return }\n var normalized = options.inject = {};\n if (Array.isArray(inject)) {\n for (var i = 0; i < inject.length; i++) {\n normalized[inject[i]] = { from: inject[i] };\n }\n } else if (isPlainObject(inject)) {\n for (var key in inject) {\n var val = inject[key];\n normalized[key] = isPlainObject(val)\n ? extend({ from: key }, val)\n : { from: val };\n }\n } else if (process.env.NODE_ENV !== 'production') {\n warn(\n \"Invalid value for option \\\"inject\\\": expected an Array or an Object, \" +\n \"but got \" + (toRawType(inject)) + \".\",\n vm\n );\n }\n}\n\n/**\n * Normalize raw function directives into object format.\n */\nfunction normalizeDirectives (options) {\n var dirs = options.directives;\n if (dirs) {\n for (var key in dirs) {\n var def$$1 = dirs[key];\n if (typeof def$$1 === 'function') {\n dirs[key] = { bind: def$$1, update: def$$1 };\n }\n }\n }\n}\n\nfunction assertObjectType (name, value, vm) {\n if (!isPlainObject(value)) {\n warn(\n \"Invalid value for option \\\"\" + name + \"\\\": expected an Object, \" +\n \"but got \" + (toRawType(value)) + \".\",\n vm\n );\n }\n}\n\n/**\n * Merge two option objects into a new one.\n * Core utility used in both instantiation and inheritance.\n */\nfunction mergeOptions (\n parent,\n child,\n vm\n) {\n if (process.env.NODE_ENV !== 'production') {\n checkComponents(child);\n }\n\n if (typeof child === 'function') {\n child = child.options;\n }\n\n normalizeProps(child, vm);\n normalizeInject(child, vm);\n normalizeDirectives(child);\n\n // Apply extends and mixins on the child options,\n // but only if it is a raw options object that isn't\n // the result of another mergeOptions call.\n // Only merged options has the _base property.\n if (!child._base) {\n if (child.extends) {\n parent = mergeOptions(parent, child.extends, vm);\n }\n if (child.mixins) {\n for (var i = 0, l = child.mixins.length; i < l; i++) {\n parent = mergeOptions(parent, child.mixins[i], vm);\n }\n }\n }\n\n var options = {};\n var key;\n for (key in parent) {\n mergeField(key);\n }\n for (key in child) {\n if (!hasOwn(parent, key)) {\n mergeField(key);\n }\n }\n function mergeField (key) {\n var strat = strats[key] || defaultStrat;\n options[key] = strat(parent[key], child[key], vm, key);\n }\n return options\n}\n\n/**\n * Resolve an asset.\n * This function is used because child instances need access\n * to assets defined in its ancestor chain.\n */\nfunction resolveAsset (\n options,\n type,\n id,\n warnMissing\n) {\n /* istanbul ignore if */\n if (typeof id !== 'string') {\n return\n }\n var assets = options[type];\n // check local registration variations first\n if (hasOwn(assets, id)) { return assets[id] }\n var camelizedId = camelize(id);\n if (hasOwn(assets, camelizedId)) { return assets[camelizedId] }\n var PascalCaseId = capitalize(camelizedId);\n if (hasOwn(assets, PascalCaseId)) { return assets[PascalCaseId] }\n // fallback to prototype chain\n var res = assets[id] || assets[camelizedId] || assets[PascalCaseId];\n if (process.env.NODE_ENV !== 'production' && warnMissing && !res) {\n warn(\n 'Failed to resolve ' + type.slice(0, -1) + ': ' + id,\n options\n );\n }\n return res\n}\n\n/* */\n\n\n\nfunction validateProp (\n key,\n propOptions,\n propsData,\n vm\n) {\n var prop = propOptions[key];\n var absent = !hasOwn(propsData, key);\n var value = propsData[key];\n // boolean casting\n var booleanIndex = getTypeIndex(Boolean, prop.type);\n if (booleanIndex > -1) {\n if (absent && !hasOwn(prop, 'default')) {\n value = false;\n } else if (value === '' || value === hyphenate(key)) {\n // only cast empty string / same name to boolean if\n // boolean has higher priority\n var stringIndex = getTypeIndex(String, prop.type);\n if (stringIndex < 0 || booleanIndex < stringIndex) {\n value = true;\n }\n }\n }\n // check default value\n if (value === undefined) {\n value = getPropDefaultValue(vm, prop, key);\n // since the default value is a fresh copy,\n // make sure to observe it.\n var prevShouldObserve = shouldObserve;\n toggleObserving(true);\n observe(value);\n toggleObserving(prevShouldObserve);\n }\n if (\n process.env.NODE_ENV !== 'production' &&\n // skip validation for weex recycle-list child component props\n !(false)\n ) {\n assertProp(prop, key, value, vm, absent);\n }\n return value\n}\n\n/**\n * Get the default value of a prop.\n */\nfunction getPropDefaultValue (vm, prop, key) {\n // no default, return undefined\n if (!hasOwn(prop, 'default')) {\n return undefined\n }\n var def = prop.default;\n // warn against non-factory defaults for Object & Array\n if (process.env.NODE_ENV !== 'production' && isObject(def)) {\n warn(\n 'Invalid default value for prop \"' + key + '\": ' +\n 'Props with type Object/Array must use a factory function ' +\n 'to return the default value.',\n vm\n );\n }\n // the raw prop value was also undefined from previous render,\n // return previous default value to avoid unnecessary watcher trigger\n if (vm && vm.$options.propsData &&\n vm.$options.propsData[key] === undefined &&\n vm._props[key] !== undefined\n ) {\n return vm._props[key]\n }\n // call factory function for non-Function types\n // a value is Function if its prototype is function even across different execution context\n return typeof def === 'function' && getType(prop.type) !== 'Function'\n ? def.call(vm)\n : def\n}\n\n/**\n * Assert whether a prop is valid.\n */\nfunction assertProp (\n prop,\n name,\n value,\n vm,\n absent\n) {\n if (prop.required && absent) {\n warn(\n 'Missing required prop: \"' + name + '\"',\n vm\n );\n return\n }\n if (value == null && !prop.required) {\n return\n }\n var type = prop.type;\n var valid = !type || type === true;\n var expectedTypes = [];\n if (type) {\n if (!Array.isArray(type)) {\n type = [type];\n }\n for (var i = 0; i < type.length && !valid; i++) {\n var assertedType = assertType(value, type[i]);\n expectedTypes.push(assertedType.expectedType || '');\n valid = assertedType.valid;\n }\n }\n\n if (!valid) {\n warn(\n getInvalidTypeMessage(name, value, expectedTypes),\n vm\n );\n return\n }\n var validator = prop.validator;\n if (validator) {\n if (!validator(value)) {\n warn(\n 'Invalid prop: custom validator check failed for prop \"' + name + '\".',\n vm\n );\n }\n }\n}\n\nvar simpleCheckRE = /^(String|Number|Boolean|Function|Symbol)$/;\n\nfunction assertType (value, type) {\n var valid;\n var expectedType = getType(type);\n if (simpleCheckRE.test(expectedType)) {\n var t = typeof value;\n valid = t === expectedType.toLowerCase();\n // for primitive wrapper objects\n if (!valid && t === 'object') {\n valid = value instanceof type;\n }\n } else if (expectedType === 'Object') {\n valid = isPlainObject(value);\n } else if (expectedType === 'Array') {\n valid = Array.isArray(value);\n } else {\n valid = value instanceof type;\n }\n return {\n valid: valid,\n expectedType: expectedType\n }\n}\n\n/**\n * Use function string name to check built-in types,\n * because a simple equality check will fail when running\n * across different vms / iframes.\n */\nfunction getType (fn) {\n var match = fn && fn.toString().match(/^\\s*function (\\w+)/);\n return match ? match[1] : ''\n}\n\nfunction isSameType (a, b) {\n return getType(a) === getType(b)\n}\n\nfunction getTypeIndex (type, expectedTypes) {\n if (!Array.isArray(expectedTypes)) {\n return isSameType(expectedTypes, type) ? 0 : -1\n }\n for (var i = 0, len = expectedTypes.length; i < len; i++) {\n if (isSameType(expectedTypes[i], type)) {\n return i\n }\n }\n return -1\n}\n\nfunction getInvalidTypeMessage (name, value, expectedTypes) {\n var message = \"Invalid prop: type check failed for prop \\\"\" + name + \"\\\".\" +\n \" Expected \" + (expectedTypes.map(capitalize).join(', '));\n var expectedType = expectedTypes[0];\n var receivedType = toRawType(value);\n var expectedValue = styleValue(value, expectedType);\n var receivedValue = styleValue(value, receivedType);\n // check if we need to specify expected value\n if (expectedTypes.length === 1 &&\n isExplicable(expectedType) &&\n !isBoolean(expectedType, receivedType)) {\n message += \" with value \" + expectedValue;\n }\n message += \", got \" + receivedType + \" \";\n // check if we need to specify received value\n if (isExplicable(receivedType)) {\n message += \"with value \" + receivedValue + \".\";\n }\n return message\n}\n\nfunction styleValue (value, type) {\n if (type === 'String') {\n return (\"\\\"\" + value + \"\\\"\")\n } else if (type === 'Number') {\n return (\"\" + (Number(value)))\n } else {\n return (\"\" + value)\n }\n}\n\nfunction isExplicable (value) {\n var explicitTypes = ['string', 'number', 'boolean'];\n return explicitTypes.some(function (elem) { return value.toLowerCase() === elem; })\n}\n\nfunction isBoolean () {\n var args = [], len = arguments.length;\n while ( len-- ) args[ len ] = arguments[ len ];\n\n return args.some(function (elem) { return elem.toLowerCase() === 'boolean'; })\n}\n\n/* */\n\nfunction handleError (err, vm, info) {\n // Deactivate deps tracking while processing error handler to avoid possible infinite rendering.\n // See: https://github.com/vuejs/vuex/issues/1505\n pushTarget();\n try {\n if (vm) {\n var cur = vm;\n while ((cur = cur.$parent)) {\n var hooks = cur.$options.errorCaptured;\n if (hooks) {\n for (var i = 0; i < hooks.length; i++) {\n try {\n var capture = hooks[i].call(cur, err, vm, info) === false;\n if (capture) { return }\n } catch (e) {\n globalHandleError(e, cur, 'errorCaptured hook');\n }\n }\n }\n }\n }\n globalHandleError(err, vm, info);\n } finally {\n popTarget();\n }\n}\n\nfunction invokeWithErrorHandling (\n handler,\n context,\n args,\n vm,\n info\n) {\n var res;\n try {\n res = args ? handler.apply(context, args) : handler.call(context);\n if (res && !res._isVue && isPromise(res) && !res._handled) {\n res.catch(function (e) { return handleError(e, vm, info + \" (Promise/async)\"); });\n // issue #9511\n // avoid catch triggering multiple times when nested calls\n res._handled = true;\n }\n } catch (e) {\n handleError(e, vm, info);\n }\n return res\n}\n\nfunction globalHandleError (err, vm, info) {\n if (config.errorHandler) {\n try {\n return config.errorHandler.call(null, err, vm, info)\n } catch (e) {\n // if the user intentionally throws the original error in the handler,\n // do not log it twice\n if (e !== err) {\n logError(e, null, 'config.errorHandler');\n }\n }\n }\n logError(err, vm, info);\n}\n\nfunction logError (err, vm, info) {\n if (process.env.NODE_ENV !== 'production') {\n warn((\"Error in \" + info + \": \\\"\" + (err.toString()) + \"\\\"\"), vm);\n }\n /* istanbul ignore else */\n if ((inBrowser || inWeex) && typeof console !== 'undefined') {\n console.error(err);\n } else {\n throw err\n }\n}\n\n/* */\n\nvar callbacks = [];\nvar pending = false;\n\nfunction flushCallbacks () {\n pending = false;\n var copies = callbacks.slice(0);\n callbacks.length = 0;\n for (var i = 0; i < copies.length; i++) {\n copies[i]();\n }\n}\n\n// Here we have async deferring wrappers using microtasks.\n// In 2.5 we used (macro) tasks (in combination with microtasks).\n// However, it has subtle problems when state is changed right before repaint\n// (e.g. #6813, out-in transitions).\n// Also, using (macro) tasks in event handler would cause some weird behaviors\n// that cannot be circumvented (e.g. #7109, #7153, #7546, #7834, #8109).\n// So we now use microtasks everywhere, again.\n// A major drawback of this tradeoff is that there are some scenarios\n// where microtasks have too high a priority and fire in between supposedly\n// sequential events (e.g. #4521, #6690, which have workarounds)\n// or even between bubbling of the same event (#6566).\nvar timerFunc;\n\n// The nextTick behavior leverages the microtask queue, which can be accessed\n// via either native Promise.then or MutationObserver.\n// MutationObserver has wider support, however it is seriously bugged in\n// UIWebView in iOS >= 9.3.3 when triggered in touch event handlers. It\n// completely stops working after triggering a few times... so, if native\n// Promise is available, we will use it:\n/* istanbul ignore next, $flow-disable-line */\nif (typeof Promise !== 'undefined' && isNative(Promise)) {\n var p = Promise.resolve();\n timerFunc = function () {\n p.then(flushCallbacks);\n // In problematic UIWebViews, Promise.then doesn't completely break, but\n // it can get stuck in a weird state where callbacks are pushed into the\n // microtask queue but the queue isn't being flushed, until the browser\n // needs to do some other work, e.g. handle a timer. Therefore we can\n // \"force\" the microtask queue to be flushed by adding an empty timer.\n if (isIOS) { setTimeout(noop); }\n };\n} else if (!isIE && typeof MutationObserver !== 'undefined' && (\n isNative(MutationObserver) ||\n // PhantomJS and iOS 7.x\n MutationObserver.toString() === '[object MutationObserverConstructor]'\n)) {\n // Use MutationObserver where native Promise is not available,\n // e.g. PhantomJS, iOS7, Android 4.4\n // (#6466 MutationObserver is unreliable in IE11)\n var counter = 1;\n var observer = new MutationObserver(flushCallbacks);\n var textNode = document.createTextNode(String(counter));\n observer.observe(textNode, {\n characterData: true\n });\n timerFunc = function () {\n counter = (counter + 1) % 2;\n textNode.data = String(counter);\n };\n} else if (typeof setImmediate !== 'undefined' && isNative(setImmediate)) {\n // Fallback to setImmediate.\n // Technically it leverages the (macro) task queue,\n // but it is still a better choice than setTimeout.\n timerFunc = function () {\n setImmediate(flushCallbacks);\n };\n} else {\n // Fallback to setTimeout.\n timerFunc = function () {\n setTimeout(flushCallbacks, 0);\n };\n}\n\nfunction nextTick (cb, ctx) {\n var _resolve;\n callbacks.push(function () {\n if (cb) {\n try {\n cb.call(ctx);\n } catch (e) {\n handleError(e, ctx, 'nextTick');\n }\n } else if (_resolve) {\n _resolve(ctx);\n }\n });\n if (!pending) {\n pending = true;\n timerFunc();\n }\n // $flow-disable-line\n if (!cb && typeof Promise !== 'undefined') {\n return new Promise(function (resolve) {\n _resolve = resolve;\n })\n }\n}\n\n/* */\n\n/* not type checking this file because flow doesn't play well with Proxy */\n\nvar initProxy;\n\nif (process.env.NODE_ENV !== 'production') {\n var allowedGlobals = makeMap(\n 'Infinity,undefined,NaN,isFinite,isNaN,' +\n 'parseFloat,parseInt,decodeURI,decodeURIComponent,encodeURI,encodeURIComponent,' +\n 'Math,Number,Date,Array,Object,Boolean,String,RegExp,Map,Set,JSON,Intl,' +\n 'require' // for Webpack/Browserify\n );\n\n var warnNonPresent = function (target, key) {\n warn(\n \"Property or method \\\"\" + key + \"\\\" is not defined on the instance but \" +\n 'referenced during render. Make sure that this property is reactive, ' +\n 'either in the data option, or for class-based components, by ' +\n 'initializing the property. ' +\n 'See: https://vuejs.org/v2/guide/reactivity.html#Declaring-Reactive-Properties.',\n target\n );\n };\n\n var warnReservedPrefix = function (target, key) {\n warn(\n \"Property \\\"\" + key + \"\\\" must be accessed with \\\"$data.\" + key + \"\\\" because \" +\n 'properties starting with \"$\" or \"_\" are not proxied in the Vue instance to ' +\n 'prevent conflicts with Vue internals. ' +\n 'See: https://vuejs.org/v2/api/#data',\n target\n );\n };\n\n var hasProxy =\n typeof Proxy !== 'undefined' && isNative(Proxy);\n\n if (hasProxy) {\n var isBuiltInModifier = makeMap('stop,prevent,self,ctrl,shift,alt,meta,exact');\n config.keyCodes = new Proxy(config.keyCodes, {\n set: function set (target, key, value) {\n if (isBuiltInModifier(key)) {\n warn((\"Avoid overwriting built-in modifier in config.keyCodes: .\" + key));\n return false\n } else {\n target[key] = value;\n return true\n }\n }\n });\n }\n\n var hasHandler = {\n has: function has (target, key) {\n var has = key in target;\n var isAllowed = allowedGlobals(key) ||\n (typeof key === 'string' && key.charAt(0) === '_' && !(key in target.$data));\n if (!has && !isAllowed) {\n if (key in target.$data) { warnReservedPrefix(target, key); }\n else { warnNonPresent(target, key); }\n }\n return has || !isAllowed\n }\n };\n\n var getHandler = {\n get: function get (target, key) {\n if (typeof key === 'string' && !(key in target)) {\n if (key in target.$data) { warnReservedPrefix(target, key); }\n else { warnNonPresent(target, key); }\n }\n return target[key]\n }\n };\n\n initProxy = function initProxy (vm) {\n if (hasProxy) {\n // determine which proxy handler to use\n var options = vm.$options;\n var handlers = options.render && options.render._withStripped\n ? getHandler\n : hasHandler;\n vm._renderProxy = new Proxy(vm, handlers);\n } else {\n vm._renderProxy = vm;\n }\n };\n}\n\n/* */\n\nvar seenObjects = new _Set();\n\n/**\n * Recursively traverse an object to evoke all converted\n * getters, so that every nested property inside the object\n * is collected as a \"deep\" dependency.\n */\nfunction traverse (val) {\n _traverse(val, seenObjects);\n seenObjects.clear();\n}\n\nfunction _traverse (val, seen) {\n var i, keys;\n var isA = Array.isArray(val);\n if ((!isA && !isObject(val)) || Object.isFrozen(val) || val instanceof VNode) {\n return\n }\n if (val.__ob__) {\n var depId = val.__ob__.dep.id;\n if (seen.has(depId)) {\n return\n }\n seen.add(depId);\n }\n if (isA) {\n i = val.length;\n while (i--) { _traverse(val[i], seen); }\n } else {\n keys = Object.keys(val);\n i = keys.length;\n while (i--) { _traverse(val[keys[i]], seen); }\n }\n}\n\nvar mark;\nvar measure;\n\nif (process.env.NODE_ENV !== 'production') {\n var perf = inBrowser && window.performance;\n /* istanbul ignore if */\n if (\n perf &&\n perf.mark &&\n perf.measure &&\n perf.clearMarks &&\n perf.clearMeasures\n ) {\n mark = function (tag) { return perf.mark(tag); };\n measure = function (name, startTag, endTag) {\n perf.measure(name, startTag, endTag);\n perf.clearMarks(startTag);\n perf.clearMarks(endTag);\n // perf.clearMeasures(name)\n };\n }\n}\n\n/* */\n\nvar normalizeEvent = cached(function (name) {\n var passive = name.charAt(0) === '&';\n name = passive ? name.slice(1) : name;\n var once$$1 = name.charAt(0) === '~'; // Prefixed last, checked first\n name = once$$1 ? name.slice(1) : name;\n var capture = name.charAt(0) === '!';\n name = capture ? name.slice(1) : name;\n return {\n name: name,\n once: once$$1,\n capture: capture,\n passive: passive\n }\n});\n\nfunction createFnInvoker (fns, vm) {\n function invoker () {\n var arguments$1 = arguments;\n\n var fns = invoker.fns;\n if (Array.isArray(fns)) {\n var cloned = fns.slice();\n for (var i = 0; i < cloned.length; i++) {\n invokeWithErrorHandling(cloned[i], null, arguments$1, vm, \"v-on handler\");\n }\n } else {\n // return handler return value for single handlers\n return invokeWithErrorHandling(fns, null, arguments, vm, \"v-on handler\")\n }\n }\n invoker.fns = fns;\n return invoker\n}\n\nfunction updateListeners (\n on,\n oldOn,\n add,\n remove$$1,\n createOnceHandler,\n vm\n) {\n var name, def$$1, cur, old, event;\n for (name in on) {\n def$$1 = cur = on[name];\n old = oldOn[name];\n event = normalizeEvent(name);\n if (isUndef(cur)) {\n process.env.NODE_ENV !== 'production' && warn(\n \"Invalid handler for event \\\"\" + (event.name) + \"\\\": got \" + String(cur),\n vm\n );\n } else if (isUndef(old)) {\n if (isUndef(cur.fns)) {\n cur = on[name] = createFnInvoker(cur, vm);\n }\n if (isTrue(event.once)) {\n cur = on[name] = createOnceHandler(event.name, cur, event.capture);\n }\n add(event.name, cur, event.capture, event.passive, event.params);\n } else if (cur !== old) {\n old.fns = cur;\n on[name] = old;\n }\n }\n for (name in oldOn) {\n if (isUndef(on[name])) {\n event = normalizeEvent(name);\n remove$$1(event.name, oldOn[name], event.capture);\n }\n }\n}\n\n/* */\n\n/* */\n\n// fixed by xxxxxx (mp properties)\r\nfunction extractPropertiesFromVNodeData(data, Ctor, res, context) {\r\n var propOptions = Ctor.options.mpOptions && Ctor.options.mpOptions.properties;\r\n if (isUndef(propOptions)) {\r\n return res\r\n }\n var externalClasses = Ctor.options.mpOptions.externalClasses || [];\r\n var attrs = data.attrs;\n var props = data.props;\r\n if (isDef(attrs) || isDef(props)) {\r\n for (var key in propOptions) {\r\n var altKey = hyphenate(key);\n var result = checkProp(res, props, key, altKey, true) ||\n checkProp(res, attrs, key, altKey, false);\n // externalClass\n if (\n result &&\n res[key] &&\n externalClasses.indexOf(altKey) !== -1 &&\n context[camelize(res[key])]\n ) {\n // 赋值 externalClass 真正的值(模板里 externalClass 的值可能是字符串)\n res[key] = context[camelize(res[key])];\n }\r\n }\r\n }\r\n return res\r\n}\n\nfunction extractPropsFromVNodeData (\n data,\n Ctor,\n tag,\n context// fixed by xxxxxx\n) {\n // we are only extracting raw values here.\n // validation and default values are handled in the child\n // component itself.\n var propOptions = Ctor.options.props;\n if (isUndef(propOptions)) {\n // fixed by xxxxxx\n return extractPropertiesFromVNodeData(data, Ctor, {}, context)\n }\n var res = {};\n var attrs = data.attrs;\n var props = data.props;\n if (isDef(attrs) || isDef(props)) {\n for (var key in propOptions) {\n var altKey = hyphenate(key);\n if (process.env.NODE_ENV !== 'production') {\n var keyInLowerCase = key.toLowerCase();\n if (\n key !== keyInLowerCase &&\n attrs && hasOwn(attrs, keyInLowerCase)\n ) {\n tip(\n \"Prop \\\"\" + keyInLowerCase + \"\\\" is passed to component \" +\n (formatComponentName(tag || Ctor)) + \", but the declared prop name is\" +\n \" \\\"\" + key + \"\\\". \" +\n \"Note that HTML attributes are case-insensitive and camelCased \" +\n \"props need to use their kebab-case equivalents when using in-DOM \" +\n \"templates. You should probably use \\\"\" + altKey + \"\\\" instead of \\\"\" + key + \"\\\".\"\n );\n }\n }\n checkProp(res, props, key, altKey, true) ||\n checkProp(res, attrs, key, altKey, false);\n }\n }\n // fixed by xxxxxx\n return extractPropertiesFromVNodeData(data, Ctor, res, context)\n}\n\nfunction checkProp (\n res,\n hash,\n key,\n altKey,\n preserve\n) {\n if (isDef(hash)) {\n if (hasOwn(hash, key)) {\n res[key] = hash[key];\n if (!preserve) {\n delete hash[key];\n }\n return true\n } else if (hasOwn(hash, altKey)) {\n res[key] = hash[altKey];\n if (!preserve) {\n delete hash[altKey];\n }\n return true\n }\n }\n return false\n}\n\n/* */\n\n// The template compiler attempts to minimize the need for normalization by\n// statically analyzing the template at compile time.\n//\n// For plain HTML markup, normalization can be completely skipped because the\n// generated render function is guaranteed to return Array. There are\n// two cases where extra normalization is needed:\n\n// 1. When the children contains components - because a functional component\n// may return an Array instead of a single root. In this case, just a simple\n// normalization is needed - if any child is an Array, we flatten the whole\n// thing with Array.prototype.concat. It is guaranteed to be only 1-level deep\n// because functional components already normalize their own children.\nfunction simpleNormalizeChildren (children) {\n for (var i = 0; i < children.length; i++) {\n if (Array.isArray(children[i])) {\n return Array.prototype.concat.apply([], children)\n }\n }\n return children\n}\n\n// 2. When the children contains constructs that always generated nested Arrays,\n// e.g. , , 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","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","/* 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","export const mixin = {\n data () {\n return {\n share: {\n // 转发的标题\n // title: '新住装修顾问',\n // 转发的路径,默认是当前页面,必须是以‘/’开头的完整路径,/pages/index/index\n // path: '',\n // 自定义图片路径,可以是本地文件路径、代码包文件路径或者网络图片路径,\n // 支持PNG及JPG,不传入 imageUrl 则使用默认截图。显示图片长宽比是 5:4\n // imageUrl: ''\n }\n }\n },\n // 分享到微信\n onShareAppMessage: function () {\n // 获取加载的页面\n let pages = getCurrentPages(), view = pages[pages.length - 1]\n //分享的页面路径\n if(!this.share.path) {\n\n \t//this.share.path = `/${view.route}`\n\tthis.share.path = view.$page.fullPath\n\n\n\n\n\t}\n //转发参数\n return this.share\n },\n // 分享到朋友圈\n onShareTimeline () {\n // 获取加载的页面\n let pages = getCurrentPages(), view = pages[pages.length - 1]\n //分享的页面路径\n if(!this.share.path) {\n\n \tthis.share.path = view.$page.fullPath\n\n\n\n\n\t}\n //转发参数\n return this.share\n },\n}\n","var tools = {\n\thttpOne: 'https://yurongjiuye.mmx0626.com/api/', //域名 线上\n\tupload: 'https://yurongjiuye.mmx0626.com/api/common/upload', //上传图片域名\n\tURL: 'https://yurongjiuye.mmx0626.com',\n\tshowtt: function(title, icon) {\n\t\tif (title && title.length > 0) {\n\t\t\tuni.showToast({\n\t\t\t\ttitle: title,\n\t\t\t\tduration: 2000,\n\t\t\t\ticon: icon ? icon : 'none'\n\t\t\t})\n\t\t}\n\t},\n\tshowload: function(title, mask = false) {\n\t\tif (title && title.length > 0) {\n\t\t\tuni.showLoading({\n\t\t\t\ttitle,\n\t\t\t\tmask\n\t\t\t})\n\t\t}\n\t},\n\tclearLoginStorage: function() {\n\t\tconst promotionUnlocked = uni.getStorageSync('promotionUnlocked')\n\t\tuni.clearStorageSync()\n\t\tif (promotionUnlocked) {\n\t\t\tuni.setStorageSync('promotionUnlocked', promotionUnlocked)\n\t\t}\n\t},\n\t//图片地址拼接\n\toss: function(url) {\n\t\tif (!url || url.indexOf(\"http://\") != -1 || url.indexOf(\"https://\") != -1) {\n\t\t\treturn url\n\t\t} else {\n\t\t\treturn this.URL + url\n\t\t}\n\t},\n\t// 跳转下一页\n\tgoNext(url) {\n\t\tuni.navigateTo({\n\t\t\turl: url\n\t\t})\n\t},\n\t// 返回上一页\n\tgoBack(num) {\n\t\tuni.navigateBack({\n\t\t\tdelta: num\n\t\t})\n\t},\n\t// 跳转tabar页面\n\tgoSwitchTab(url) {\n\t\tuni.switchTab({\n\t\t\turl: url\n\t\t})\n\t},\n\t// 关闭所有页面,跳转到指定页面\n\tgoReLaunch(url) {\n\t\tuni.reLaunch({\n\t\t\turl: url\n\t\t})\n\t},\n\t// 关闭当前页,跳转下一页\n\tgoRedirectTo(url) {\n\t\tuni.redirectTo({\n\t\t\turl: url\n\t\t})\n\t},\n\t//正常请求 \n\t//请求格式 method POST GET\n\t//请求地址 url\n\t//请求参数 data\n\t//加载中的框 showLoads\n\taxios: function(method, url, data, showLoads) {\n\t\tif (showLoads) {\n\t\t\tuni.showLoading({\n\t\t\t\t'title': showLoads\n\t\t\t})\n\t\t}; //加载中的框 showLoads\n\t\treturn new Promise((resolve, reject) => {\n\t\t\tuni.request({\n\t\t\t\turl: this.httpOne + url, //请求地址 url\n\t\t\t\tdata: data, //请求参数 data\n\t\t\t\tmethod: method, //请求格式 method POST GET\n\t\t\t\theader: {\n\t\t\t\t\t'Content-Type': 'application/json;charset=utf-8'\n\t\t\t\t},\n\t\t\t\tsuccess: (res) => {\n\t\t\t\t\tif (showLoads) {\n\t\t\t\t\t\tuni.hideLoading()\n\t\t\t\t\t}\n\t\t\t\t\tresolve(res.data)\n\t\t\t\t},\n\t\t\t\tfail: (err) => {\n\t\t\t\t\treject(err)\n\t\t\t\t},\n\t\t\t\tcomplete() {\n\n\t\t\t\t}\n\t\t\t})\n\t\t})\n\t},\n\tthrottle: function(fn, wait) {\n\t\tclearTimeout(this.timeout)\n\t\tlet id = this.tabs[this.current].id\n\t\tthis.timeout = setTimeout(() => {\n\t\t\tthis.getList(id, this.current)\n\t\t}, 450)\n\t},\n\t//FROM的请求\n\t//请求格式 method POST GET\n\t//请求地址 url\n\t//请求参数 data\n\t//加载中的框 showLoads\n\taxiosFrom: function(method, url, data, showLoads) {\n\t\tlet token = uni.getStorageSync('token') ? uni.getStorageSync('token') : ''; //用户的token\n\t\tif (showLoads) {\n\t\t\tuni.showLoading({\n\t\t\t\t'title': showLoads\n\t\t\t})\n\t\t}; //加载中的框\n\t\treturn new Promise((resolve, reject) => {\n\t\t\tuni.request({\n\t\t\t\turl: this.httpOne + url, //请求地址 url\n\t\t\t\tmethod: method, //请求格式 method POST GET\n\t\t\t\tdata: data, //请求参数 data\n\t\t\t\theader: {\n\t\t\t\t\t'content-Type': 'application/x-www-form-urlencoded',\n\t\t\t\t\t'token': token\n\t\t\t\t},\n\t\t\t\tsuccess: (res) => {\n\t\t\t\t\tif (showLoads) {\n\t\t\t\t\t\tuni.hideLoading()\n\t\t\t\t\t}\n\t\t\t\t\tresolve(res.data)\n\t\t\t\t},\n\t\t\t\tfail: (err) => {\n\t\t\t\t\tconsole.log('err', err)\n\t\t\t\t\treject(err)\n\t\t\t\t},\n\t\t\t\tcomplete() {\n\n\t\t\t\t}\n\t\t\t})\n\t\t})\n\t},\n\t//FROM的请求 token\n\t//请求格式 method POST GET\n\t//请求地址 url\n\t//请求参数 data\n\t//加载中的框 showLoads\n\taxiosFromToken: function(method, url, data, showLoads) {\n\t\tlet token = uni.getStorageSync('token') ? uni.getStorageSync('token') : ''; //用户的token\n\t\tif (showLoads) {\n\t\t\tuni.showLoading({\n\t\t\t\t'title': showLoads\n\t\t\t})\n\t\t}; //加载中的框\n\t\treturn new Promise((resolve, reject) => {\n\t\t\tuni.request({\n\t\t\t\turl: this.httpOne + url, //请求地址 url\n\t\t\t\tmethod: method, //请求格式 method POST GET\n\t\t\t\tdata: data, //请求参数 data\n\t\t\t\theader: {\n\t\t\t\t\t'content-Type': 'application/x-www-form-urlencoded',\n\t\t\t\t\t'token': token\n\t\t\t\t},\n\t\t\t\tsuccess: (res) => {\n\t\t\t\t\tif (showLoads) {\n\t\t\t\t\t\tuni.hideLoading()\n\t\t\t\t\t}\n\t\t\t\t\tif (res.statusCode == 401) {\n\t\t\t\t\t\tuni.showModal({\n\t\t\t\t\t\t\ttitle: '温馨提示',\n\t\t\t\t\t\t\tcontent: '尚未登录或登录已过期,是否前往登录?',\n\t\t\t\t\t\t\tsuccess: (res) => {\n\t\t\t\t\t\t\t\tthis.clearLoginStorage()\n\t\t\t\t\t\t\t\tif(res.confirm){\n\t\t\t\t\t\t\t\t\tuni.navigateTo({\n\t\t\t\t\t\t\t\t\t\turl: \"/pages/login/login\"\n\t\t\t\t\t\t\t\t\t})\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t});\n\t\t\t\t\t\treturn false\n\t\t\t\t\t}\n\t\t\t\t\tresolve(res.data)\n\t\t\t\t},\n\t\t\t\tfail: (err) => {\n\t\t\t\t\treject(err)\n\t\t\t\t},\n\t\t\t\tcomplete() {\n\n\t\t\t\t}\n\t\t\t})\n\t\t})\n\t},\n\tgetScrollHeight(titleH) {//获取元素铺满全屏的高度 uni.createSelectorQuery().select(\".scroll\")\n\t\treturn new Promise((resolve, reject) => {\n\t\t\tsetTimeout(() => {\n\t\t\t\tlet system = uni.getSystemInfoSync()\n\t\t\t\tconsole.log(system, titleH)\n\t\t\t\ttitleH.boundingClientRect(data => {\n\t\t\t\t\tconsole.log(data)\n\t\t\t\t\tresolve(system.windowHeight - data.top)//计算高度:元素高度=窗口高度-元素距离顶部的距离(data.top)\n\t\t\t\t}).exec()\n\t\t\t}, 10)\n\t\t})\n\t},\n\tdownloadFile(file,ifOpenFile) { //下载课件\n\t\tuni.showLoading({\n\t\t\ttitle: '请稍等',\n\t\t\tcontent: '正在下载文件',\n\t\t\tmask: true\n\t\t})\n\t\tuni.downloadFile({\n\t\t\turl: file, //下载地址接口返回\n\t\t\tsuccess: (data) => {\n\t\t\t\tif (data.statusCode === 200) {\n\t\t\t\t\t//文件保存到本地\n\t\t\t\t\tuni.saveFile({\n\t\t\t\t\t\ttempFilePath: data.tempFilePath, //临时路径\n\t\t\t\t\t\tsuccess: function(res) {\n\t\t\t\t\t\t\tuni.showToast({\n\t\t\t\t\t\t\t\ticon: 'none',\n\t\t\t\t\t\t\t\tmask: true,\n\t\t\t\t\t\t\t\ttitle: '文件已保存:' + res.savedFilePath, //保存路径\n\t\t\t\t\t\t\t\tduration: 3000,\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\tif (ifOpenFile) {\n\t\t\t\t\t\t\t\tsetTimeout(() => {\n\t\t\t\t\t\t\t\t\t//打开文档查看\n\t\t\t\t\t\t\t\t\tuni.openDocument({\n\t\t\t\t\t\t\t\t\t\tfilePath: res.savedFilePath,\n\t\t\t\t\t\t\t\t\t\tsuccess: function(res) {\n\t\t\t\t\t\t\t\t\t\t\t// console.log('打开文档成功');\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\t}, 1000)\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t},\n\t\t\t\t\t\tcomplete() {\n\t\t\t\t\t\t\tuni.hideLoading()\n\t\t\t\t\t\t}\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t},\n\t\t\tfail: (err) => {\n\t\t\t\tuni.hideLoading()\n\t\t\t\tuni.showToast({\n\t\t\t\t\ticon: 'none',\n\t\t\t\t\tmask: true,\n\t\t\t\t\ttitle: '失败请重新下载',\n\t\t\t\t});\n\t\t\t},\n\t\t});\n\t},\n\tsaveImage(url) { //保存二维码\n\t\tconst that = this\n\t\tuni.showLoading({\n\t\t\ttitle: '加载中'\n\t\t})\n\t\tuni.downloadFile({\n\t\t\turl, //网络图片的地址\n\t\t\tsuccess(res) {\n\t\t\t\tuni.saveImageToPhotosAlbum({\n\t\t\t\t\tfilePath: res.tempFilePath, //临时文件地址\n\t\t\t\t\tsuccess(res) {\n\t\t\t\t\t\tuni.showToast({\n\t\t\t\t\t\t\ttitle: '保存成功',\n\t\t\t\t\t\t\ticon: 'success'\n\t\t\t\t\t\t})\n\t\t\t\t\t\tuni.hideLoading()\n\t\t\t\t\t},\n\t\t\t\t\tfail(res) {\n\t\t\t\t\t\tuni.showToast({\n\t\t\t\t\t\t\ttitle: '保存失败',\n\t\t\t\t\t\t\ticon: 'error'\n\t\t\t\t\t\t})\n\t\t\t\t\t\tuni.hideLoading()\n\t\t\t\t\t\tconsole.log('保存错误', res);\n\t\t\t\t\t}\n\t\t\t\t})\n\t\t\t},\n\t\t\tfail(res) {\n\t\t\t\tconsole.log('保存错误', res);\n\t\t\t},\n\t\t})\n\t},\n\tlookPhoto(url,current=0) {//查看图片\n\t\tuni.previewImage({\n\t\t\tcurrent,\n\t\t\turls: url,\n\t\t\tfail(err) {\n\t\t\t\t// console.log(err,'报错')\n\t\t\t}\n\t\t})\n\t},\n\t//函数拷贝\n\tcopyObj(obj = {}) {\n\t\t//变量先置空\n\t\tlet newobj = null;\n\n\t\t//判断是否需要继续进行递归\n\t\tif (typeof(obj) == 'object' && obj !== null) {\n\t\t\tnewobj = obj instanceof Array ? [] : {};\n\t\t\t//进行下一层递归克隆\n\t\t\tfor (var i in obj) {\n\t\t\t\tnewobj[i] = this.copyObj(obj[i])\n\t\t\t}\n\t\t\t//如果不是对象直接赋值\n\t\t} else newobj = obj;\n\n\t\treturn newobj;\n\t},\n\timageLook(httpImgUrl) {\n\t\tuni.previewImage({\n\t\t\turls: httpImgUrl\n\t\t})\n\t},\n\t// from表单的输入\n\tformInfo(data, keys) {\n\t\tlet obj = {\n\t\t\t...data\n\t\t}\n\t\t// data 验证对象 Object\n\t\t// keys 验证对象中非必填字段 Array\n\t\tif (keys && keys[0]) {\n\t\t\tkeys.forEach(val => {\n\t\t\t\tdelete obj[val]\n\t\t\t})\n\t\t}\n\t\tlet show = true\n\t\tfor (let key in obj) {\n\t\t\tconst value = obj[key]\n\t\t\tif (!value) {\n\t\t\t\tuni.showToast({\n\t\t\t\t\ttitle: '请检查信息是否填写',\n\t\t\t\t\ticon: 'none'\n\t\t\t\t})\n\t\t\t\tconsole.log(`未填写完整value => ${value}, key => ${key}`)\n\t\t\t\tshow = false;\n\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\t\treturn show;\n\t},\n\tcall(tel) {\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\t\t\t\tuni.makePhoneCall({\n\t\t\t\t\t phoneNumber: tel,//电话号码\n\t\t\t\t\tsuccess(ress) {\n\t\t\t\t\t\tconsole.log(\"拨打电话成功\",ress)\n\t\t\t\t\t},\n\t\t\t\t\tfail(err) {\n\t\t\t\t\t\tconsole.log(\"拨打电话失败\",'err')\n\t\t\t\t\t}\n\t\t\t\t});\n\n\t},\n\t// 判断身份证号 \n\tisSfz(idcard) {\n\t\tvar id =\n\t\t\t/^[1-9]\\d{5}(18|19|20|21|22)?\\d{2}(0[1-9]|1[0-2])(0[1-9]|[12]\\d|3[01])\\d{3}(\\d|[Xx])$/\n\t\tif (idcard === '') {\n\t\t\treturn false\n\t\t} \n\t\t if (!id.test(idcard)) {\n\t\t\treturn false\n\t\t} else {\n\t\t\treturn true\n\t\t}\n\t},\n\t// 判断是否是手机号 \n\tisPhone(val) {\n\t\tvar patrn = /^(((1[3456789][0-9]{1})|(15[0-9]{1}))+\\d{8})$/\n\t\tif (!patrn.test(val) || val === '') {\n\t\t\tuni.showToast({\n\t\t\t\ttitle: '手机号格式不正确',\n\t\t\t\ticon: 'none'\n\t\t\t})\n\t\t\treturn false\n\t\t} else {\n\t\t\treturn true\n\t\t}\n\t},\n\t// 判断邮箱\n\tisEmail(email) {\n\t\tif (email.search(/^\\w+((-\\w+)|(\\.\\w+))*\\@[A-Za-z0-9]+((\\.|-)[A-Za-z0-9]+)*\\.[A-Za-z0-9]+$/) != -1)\n\t\t\treturn true;\n\t\telse\n\t\t\treturn false;\n\t},\n\t//当前日期\n\tdata() {\n\t\tvar now = new Date(),\n\t\t\ty = now.getFullYear(),\n\t\t\tm = now.getMonth() + 1,\n\t\t\td = now.getDate();\n\t\tlet Time = y + \"-\" + (m < 10 ? \"0\" + m : m) + \"-\" + (d < 10 ? \"0\" + d : d)\n\t\treturn Time\n\t},\n\t//当前时间\n\ttime() {\n\t\tvar now = new Date(),\n\t\t\ty = now.getFullYear(),\n\t\t\tm = now.getMonth() + 1,\n\t\t\td = now.getDate();\n\t\tlet Time = y + \"-\" + (m < 10 ? \"0\" + m : m) + \"-\" + (d < 10 ? \"0\" + d : d) + \"-\" + now.toTimeString()\n\t\t\t.substr(0, 8)\n\t\tlet str = y + \"-\" + (m < 10 ? \"0\" + m : m) + \"-\" + (d < 10 ? \"0\" + d : d) + \"T\" + now.toTimeString().substr(\n\t\t\t0, 8)\n\t\tconsole.log(str, 'str')\n\t\treturn Time\n\t},\n\t//时间转时间戳\n\ttimeTotimeStamp(time) {\n\t\tlet timestamp = Date.parse(new Date(time).toString());\n\t\t//timestamp = timestamp / 1000; //时间戳为13位需除1000,时间戳为13位的话不需除1000\n\t\treturn timestamp;\n\t\t//2021-11-18 22:14:24的时间戳为:1637244864707\n\t},\n\t//时间差\n\t// let startime = new Date()\n\t// let endTime = new Date(res.data.yushou_end_time_text)\n\ttimeDifference(startime, endTime) {\n\t\tconst stime = new Date(startime).getTime();\n\t\tconst etime = new Date(endTime).getTime();\n\t\tconst diffTime = etime - stime;\n\t\tconst day = Math.floor(diffTime / (1000 * 60 * 60 * 24));\n\t\tconst hour = Math.floor(diffTime / (1000 * 60 * 60) % 24);\n\t\tconst minute = Math.floor(diffTime / (1000 * 60) % 60);\n\t\tconst second = Math.floor(diffTime / 1000 % 60);\n\t\tlet obj = {\n\t\t\tday,\n\t\t\thour,\n\t\t\tminute,\n\t\t\tsecond,\n\t\t\ttimeText: `${day}天${hour}时${minute}分${second}秒`\n\t\t}\n\t\treturn obj\n\t},\n\t//时间戳计算时间差\n\ttimestampDifference(startime, endTime) {\n\t\tconst diffTime = endTime - startime;\n\t\tconst day = Math.floor(diffTime / (60 * 60 * 24));\n\t\tconst hour = Math.floor(diffTime / 60 / 60 % 24);\n\t\tconst minute = Math.floor(diffTime / 60 % 60);\n\t\tconst second = Math.floor(diffTime % 60);\n\t\tlet obj = {\n\t\t\tday,\n\t\t\thour,\n\t\t\tminute,\n\t\t\tsecond,\n\t\t\ttimeText: `${day}天${hour}时${minute}分${second}秒`\n\t\t}\n\t\treturn obj\n\t},\n\t// 时间戳转时间\n\ttimestampToTime(timestamp) {\n\t\ttimestamp *= 1000\n\t\tvar date = new Date(timestamp); //时间戳为10位需*1000,时间戳为13位的话不需乘1000\n\t\tvar Y = date.getFullYear() + '-';\n\t\tvar M = (date.getMonth() + 1 < 10 ? '0' + (date.getMonth() + 1) : date.getMonth() + 1) + '-';\n\t\tvar D = (date.getDate() < 10 ? '0' + date.getDate() : date.getDate()) + ' ';\n\t\tvar h = (date.getHours() < 10 ? '0' + date.getHours() : date.getHours()) + ':';\n\t\tvar m = (date.getMinutes() < 10 ? '0' + date.getMinutes() : date.getMinutes()) + ':';\n\t\tvar s = (date.getSeconds() < 10 ? '0' + date.getSeconds() : date.getSeconds());\n\t\treturn Y + M + D;\n\t},\n\tgetDays() {//获取未来n天的日期信息\n\t\tvar leng = 7;\n\t\tvar now = new Date();\n\t\tvar nowTime = now.getTime();\n\t\tvar oneDayTime = 24 * 60 * 60 * 1000;\n\t\tvar date = []\n\t\tfor (var i = 0; i < leng; i++) {\n\t\t\tvar dateItem = {date: '', text: ''}\n\t\t\t//显示星期\n\t\t\tvar ShowTime = nowTime + i * oneDayTime;\n\t\t\t//初始化日期时间\n\t\t\tvar myDate = new Date(ShowTime);\n\t\t\tvar year = myDate.getFullYear();\n\t\t\tvar month = myDate.getMonth() + 1;\n\t\t\tvar date = myDate.getDate();\n\t\t\tdateItem.text = \"星期\" + \"日一二三四五六\".charAt(myDate.getDay());\n\t\t\tdateItem.date = year + \"-\" + month + \"-\" + date ; dateItem.select = 0;\n\t\t\tdateItem.year = year;dateItem.month = month;dateItem.day = date;\n\t\t\tif (i == 0) dateItem.text = '今天'\n\t\t\tif (i == 1) dateItem.text = '明天'\n\t\t\tif (i == 2) dateItem.text = '后天'\n\t\t\tdate.push(dateItem);\n\t\t}\n\t\treturn date\n\t\tconsole.log(date)\n\t},\n\t/**\n\t * 判断是否是中文\n\t * @param str\n\t * @returns {Boolean}\n\t */\n\tisChine: function(str) {\n\t\tvar reg = /^([u4E00-u9FA5]|[uFE30-uFFA0])*$/;\n\t\tif (reg.test(str)) {\n\t\t\treturn false;\n\t\t}\n\t\treturn true;\n\t},\n\t/**\n\t * 判断是否是中文\n\t * @param num\n\t * @returns {String | Number}\n\t */\n\tisForNumber(num) {\n\t\tnum = Number(num);\n\t\tif (num == 0) {\n\t\t\treturn num + '';\n\t\t} else\n\t\tif (num > 1 && num < 10000) {\n\t\t\treturn num + '';\n\t\t} else {\n\t\t\treturn (num / 10000).toFixed(2) + '万';\n\t\t}\n\t},\n\t/*验证是否为图片*/\n\ttmCheckImage: function(fileName) {\n\t\treturn /(gif|jpg|jpeg|png|GIF|JPG|PNG)$/ig.test(fileName);\n\t},\n\t/*验证是否为视频*/\n\ttmCheckVideo: function(fileName) {\n\t\treturn /(mp4|mp3|flv|wav)$/ig.test(fileName);\n\t},\n\t// 判断密码是否符合 至少6位,包括大小写字母、数字、特殊字符\n\tisPassword(val) {\n\t\tvar reg = /^(?![0-9]+$)(?![a-z]+$)(?![A-Z]+$)(?!([^(0-9a-zA-Z)])+$)^.{8,16}$/;\n\t\tif (val === '') {\n\t\t\tuni.showToast({\n\t\t\t\ttitle: '请输入密码',\n\t\t\t\ticon: 'none'\n\t\t\t})\n\t\t} else if (!reg.test(val)) {\n\t\t\tuni.showToast({\n\t\t\t\ttitle: '至少6位,包括大小写字母、数字、特殊字符',\n\t\t\t\ticon: 'none'\n\t\t\t})\n\t\t\treturn false\n\t\t} else {\n\t\t\treturn true\n\t\t}\n\t},\n\tcopyTextH5App(info) {\n\t\tif (!info) return false;\n\t\tinfo = info + '';\n\n\t\tuni.setClipboardData({ //准备复制的数据\n\t\t\tdata: info + '',\n\t\t\tsuccess: function(res) {\n\t\t\t\tuni.showToast({\n\t\t\t\t\ttitle: '复制成功'\n\t\t\t\t});\n\t\t\t}\n\t\t})\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\t},\n}\n\n\nexport default tools;\n","function AMapWX(a){this.key=a.key;this.requestConfig={key:a.key,s:\"rsx\",platform:\"WXJS\",appname:a.key,sdkversion:\"1.2.0\",logversion:\"2.0\"};this.MeRequestConfig={key:a.key,serviceName:\"https://restapi.amap.com/rest/me\"}}\nAMapWX.prototype.getWxLocation=function(a,b){wx.getLocation({type:\"gcj02\",success:function(c){c=c.longitude+\",\"+c.latitude;wx.setStorage({key:\"userLocation\",data:c});b(c)},fail:function(c){wx.getStorage({key:\"userLocation\",success:function(d){d.data&&b(d.data)}});a.fail({errCode:\"0\",errMsg:c.errMsg||\"\"})}})};\nAMapWX.prototype.getMEKeywordsSearch=function(a){if(!a.options)return a.fail({errCode:\"0\",errMsg:\"\\u7f3a\\u5c11\\u5fc5\\u8981\\u53c2\\u6570\"});var b=a.options,c=this.MeRequestConfig,d={key:c.key,s:\"rsx\",platform:\"WXJS\",appname:a.key,sdkversion:\"1.2.0\",logversion:\"2.0\"};b.layerId&&(d.layerId=b.layerId);b.keywords&&(d.keywords=b.keywords);b.city&&(d.city=b.city);b.filter&&(d.filter=b.filter);b.sortrule&&(d.sortrule=b.sortrule);b.pageNum&&(d.pageNum=b.pageNum);b.pageSize&&(d.pageSize=b.pageSize);b.sig&&(d.sig=\nb.sig);wx.request({url:c.serviceName+\"/cpoint/datasearch/local\",data:d,method:\"GET\",header:{\"content-type\":\"application/json\"},success:function(e){(e=e.data)&&e.status&&\"1\"===e.status&&0===e.code?a.success(e.data):a.fail({errCode:\"0\",errMsg:e})},fail:function(e){a.fail({errCode:\"0\",errMsg:e.errMsg||\"\"})}})};\nAMapWX.prototype.getMEIdSearch=function(a){if(!a.options)return a.fail({errCode:\"0\",errMsg:\"\\u7f3a\\u5c11\\u5fc5\\u8981\\u53c2\\u6570\"});var b=a.options,c=this.MeRequestConfig,d={key:c.key,s:\"rsx\",platform:\"WXJS\",appname:a.key,sdkversion:\"1.2.0\",logversion:\"2.0\"};b.layerId&&(d.layerId=b.layerId);b.id&&(d.id=b.id);b.sig&&(d.sig=b.sig);wx.request({url:c.serviceName+\"/cpoint/datasearch/id\",data:d,method:\"GET\",header:{\"content-type\":\"application/json\"},success:function(e){(e=e.data)&&e.status&&\"1\"===e.status&&\n0===e.code?a.success(e.data):a.fail({errCode:\"0\",errMsg:e})},fail:function(e){a.fail({errCode:\"0\",errMsg:e.errMsg||\"\"})}})};\nAMapWX.prototype.getMEPolygonSearch=function(a){if(!a.options)return a.fail({errCode:\"0\",errMsg:\"\\u7f3a\\u5c11\\u5fc5\\u8981\\u53c2\\u6570\"});var b=a.options,c=this.MeRequestConfig,d={key:c.key,s:\"rsx\",platform:\"WXJS\",appname:a.key,sdkversion:\"1.2.0\",logversion:\"2.0\"};b.layerId&&(d.layerId=b.layerId);b.keywords&&(d.keywords=b.keywords);b.polygon&&(d.polygon=b.polygon);b.filter&&(d.filter=b.filter);b.sortrule&&(d.sortrule=b.sortrule);b.pageNum&&(d.pageNum=b.pageNum);b.pageSize&&(d.pageSize=b.pageSize);\nb.sig&&(d.sig=b.sig);wx.request({url:c.serviceName+\"/cpoint/datasearch/polygon\",data:d,method:\"GET\",header:{\"content-type\":\"application/json\"},success:function(e){(e=e.data)&&e.status&&\"1\"===e.status&&0===e.code?a.success(e.data):a.fail({errCode:\"0\",errMsg:e})},fail:function(e){a.fail({errCode:\"0\",errMsg:e.errMsg||\"\"})}})};\nAMapWX.prototype.getMEaroundSearch=function(a){if(!a.options)return a.fail({errCode:\"0\",errMsg:\"\\u7f3a\\u5c11\\u5fc5\\u8981\\u53c2\\u6570\"});var b=a.options,c=this.MeRequestConfig,d={key:c.key,s:\"rsx\",platform:\"WXJS\",appname:a.key,sdkversion:\"1.2.0\",logversion:\"2.0\"};b.layerId&&(d.layerId=b.layerId);b.keywords&&(d.keywords=b.keywords);b.center&&(d.center=b.center);b.radius&&(d.radius=b.radius);b.filter&&(d.filter=b.filter);b.sortrule&&(d.sortrule=b.sortrule);b.pageNum&&(d.pageNum=b.pageNum);b.pageSize&&\n(d.pageSize=b.pageSize);b.sig&&(d.sig=b.sig);wx.request({url:c.serviceName+\"/cpoint/datasearch/around\",data:d,method:\"GET\",header:{\"content-type\":\"application/json\"},success:function(e){(e=e.data)&&e.status&&\"1\"===e.status&&0===e.code?a.success(e.data):a.fail({errCode:\"0\",errMsg:e})},fail:function(e){a.fail({errCode:\"0\",errMsg:e.errMsg||\"\"})}})};\nAMapWX.prototype.getGeo=function(a){var b=this.requestConfig,c=a.options;b={key:this.key,extensions:\"all\",s:b.s,platform:b.platform,appname:this.key,sdkversion:b.sdkversion,logversion:b.logversion};c.address&&(b.address=c.address);c.city&&(b.city=c.city);c.batch&&(b.batch=c.batch);c.sig&&(b.sig=c.sig);wx.request({url:\"https://restapi.amap.com/v3/geocode/geo\",data:b,method:\"GET\",header:{\"content-type\":\"application/json\"},success:function(d){(d=d.data)&&d.status&&\"1\"===d.status?a.success(d):a.fail({errCode:\"0\",\nerrMsg:d})},fail:function(d){a.fail({errCode:\"0\",errMsg:d.errMsg||\"\"})}})};\nAMapWX.prototype.getRegeo=function(a){function b(d){var e=c.requestConfig;wx.request({url:\"https://restapi.amap.com/v3/geocode/regeo\",data:{key:c.key,location:d,extensions:\"all\",s:e.s,platform:e.platform,appname:c.key,sdkversion:e.sdkversion,logversion:e.logversion},method:\"GET\",header:{\"content-type\":\"application/json\"},success:function(g){if(g.data.status&&\"1\"==g.data.status){g=g.data.regeocode;var h=g.addressComponent,f=[],k=g.roads[0].name+\"\\u9644\\u8fd1\",m=d.split(\",\")[0],n=d.split(\",\")[1];if(g.pois&&\ng.pois[0]){k=g.pois[0].name+\"\\u9644\\u8fd1\";var l=g.pois[0].location;l&&(m=parseFloat(l.split(\",\")[0]),n=parseFloat(l.split(\",\")[1]))}h.provice&&f.push(h.provice);h.city&&f.push(h.city);h.district&&f.push(h.district);h.streetNumber&&h.streetNumber.street&&h.streetNumber.number?(f.push(h.streetNumber.street),f.push(h.streetNumber.number)):f.push(g.roads[0].name);f=f.join(\"\");a.success([{iconPath:a.iconPath,width:a.iconWidth,height:a.iconHeight,name:f,desc:k,longitude:m,latitude:n,id:0,regeocodeData:g}])}else a.fail({errCode:g.data.infocode,\nerrMsg:g.data.info})},fail:function(g){a.fail({errCode:\"0\",errMsg:g.errMsg||\"\"})}})}var c=this;a.location?b(a.location):c.getWxLocation(a,function(d){b(d)})};\nAMapWX.prototype.getWeather=function(a){function b(g){var h=\"base\";a.type&&\"forecast\"==a.type&&(h=\"all\");wx.request({url:\"https://restapi.amap.com/v3/weather/weatherInfo\",data:{key:d.key,city:g,extensions:h,s:e.s,platform:e.platform,appname:d.key,sdkversion:e.sdkversion,logversion:e.logversion},method:\"GET\",header:{\"content-type\":\"application/json\"},success:function(f){if(f.data.status&&\"1\"==f.data.status)if(f.data.lives){if((f=f.data.lives)&&0 {\r\n\tVue.mixin(mixin) \r\n\tif (Vue.prototype.openShare) {\r\n\t\tVue.mixin(mpShare);\r\n\t}\r\n\t// Vue.mixin(vuexStore);\r\n\t// 时间格式化,同时两个名称,date和timeFormat\r\n\tVue.filter('timeFormat', (timestamp, format) => {\r\n\t\treturn timeFormat(timestamp, format)\r\n\t})\r\n\tVue.filter('date', (timestamp, format) => {\r\n\t\treturn timeFormat(timestamp, format)\r\n\t})\r\n\t// 将多久以前的方法,注入到全局过滤器\r\n\tVue.filter('timeFrom', (timestamp, format) => {\r\n\t\treturn timeFrom(timestamp, format)\r\n\t})\r\n\tVue.prototype.$u = $u\r\n}\r\n\r\nexport default {\r\n\tinstall\r\n}","module.exports = {\r\n\tdata() {\r\n\t\treturn {}\r\n\t},\r\n\tonLoad() {\r\n\t\t// getRect挂载到$u上,因为这方法需要使用in(this),所以无法把它独立成一个单独的文件导出\r\n\t\tthis.$u.getRect = this.$uGetRect\r\n\t},\r\n\tmethods: {\r\n\t\t// 查询节点信息\r\n\t\t// 目前此方法在支付宝小程序中无法获取组件跟接点的尺寸,为支付宝的bug(2020-07-21)\r\n\t\t// 解决办法为在组件根部再套一个没有任何作用的view元素\r\n\t\t$uGetRect(selector, all) {\r\n\t\t\treturn new Promise(resolve => {\r\n\t\t\t\tuni.createSelectorQuery().\r\n\t\t\t\tin(this)[all ? 'selectAll' : 'select'](selector)\r\n\t\t\t\t\t.boundingClientRect(rect => {\r\n\t\t\t\t\t\tif (all && Array.isArray(rect) && rect.length) {\r\n\t\t\t\t\t\t\tresolve(rect)\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\tif (!all && rect) {\r\n\t\t\t\t\t\t\tresolve(rect)\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t})\r\n\t\t\t\t\t.exec()\r\n\t\t\t})\r\n\t\t},\r\n\t\tgetParentData(parentName = '') {\r\n\t\t\t// 避免在created中去定义parent变量\r\n\t\t\tif(!this.parent) this.parent = false;\r\n\t\t\t// 这里的本质原理是,通过获取父组件实例(也即u-radio-group的this)\r\n\t\t\t// 将父组件this中对应的参数,赋值给本组件(u-radio的this)的parentData对象中对应的属性\r\n\t\t\t// 之所以需要这么做,是因为所有端中,头条小程序不支持通过this.parent.xxx去监听父组件参数的变化\r\n\t\t\tthis.parent = this.$u.$parent.call(this, parentName);\r\n\t\t\tif(this.parent) {\r\n\t\t\t\t// 历遍parentData中的属性,将parent中的同名属性赋值给parentData\r\n\t\t\t\tObject.keys(this.parentData).map(key => {\r\n\t\t\t\t\tthis.parentData[key] = this.parent[key];\r\n\t\t\t\t});\r\n\t\t\t}\r\n\t\t},\r\n\t\t// 阻止事件冒泡\r\n\t\tpreventEvent(e) {\r\n\t\t\te && e.stopPropagation && e.stopPropagation()\r\n\t\t}\r\n\t},\r\n\tonReachBottom() {\r\n\t\tuni.$emit('uOnReachBottom')\r\n\t},\r\n\tbeforeDestroy() {\r\n\t\t// 判断当前页面是否存在parent和children,一般在checkbox和checkbox-group父子联动的场景会有此情况\r\n\t\t// 组件销毁时,移除子组件在父组件children数组中的实例,释放资源,避免数据混乱\r\n\t\tif(this.parent && uni.$u.test.array(this.parent.children)) {\r\n\t\t\t// 组件销毁时,移除父组件中的children数组中对应的实例\r\n\t\t\tconst childrenList = this.parent.children\r\n\t\t\tchildrenList.map((child, index) => {\r\n\t\t\t\t// 如果相等,则移除\r\n\t\t\t\tif(child === this) {\r\n\t\t\t\t\tchildrenList.splice(index, 1)\r\n\t\t\t\t}\r\n\t\t\t})\r\n\t\t}\r\n\t}\r\n}\r\n","/**\r\n * html 解析器\r\n * @tutorial https://github.com/jin-yufeng/Parser\r\n * @version 20201029\r\n * @author JinYufeng\r\n * @listens MIT\r\n */\r\nconst cfg = require('./config.js'),\r\n\tblankChar = cfg.blankChar,\r\n\tCssHandler = require('./CssHandler.js'),\r\n\twindowWidth = uni.getSystemInfoSync().windowWidth;\r\nvar emoji;\r\n\r\nfunction MpHtmlParser(data, options = {}) {\r\n\tthis.attrs = {};\r\n\tthis.CssHandler = new CssHandler(options.tagStyle, windowWidth);\r\n\tthis.data = data;\r\n\tthis.domain = options.domain;\r\n\tthis.DOM = [];\r\n\tthis.i = this.start = this.audioNum = this.imgNum = this.videoNum = 0;\r\n\toptions.prot = (this.domain || '').includes('://') ? this.domain.split('://')[0] : 'http';\r\n\tthis.options = options;\r\n\tthis.state = this.Text;\r\n\tthis.STACK = [];\r\n\t// 工具函数\r\n\tthis.bubble = () => {\r\n\t\tfor (var i = this.STACK.length, item; item = this.STACK[--i];) {\r\n\t\t\tif (cfg.richOnlyTags[item.name]) return false;\r\n\t\t\titem.c = 1;\r\n\t\t}\r\n\t\treturn true;\r\n\t}\r\n\tthis.decode = (val, amp) => {\r\n\t\tvar i = -1,\r\n\t\t\tj, en;\r\n\t\twhile (1) {\r\n\t\t\tif ((i = val.indexOf('&', i + 1)) == -1) break;\r\n\t\t\tif ((j = val.indexOf(';', i + 2)) == -1) break;\r\n\t\t\tif (val[i + 1] == '#') {\r\n\t\t\t\ten = parseInt((val[i + 2] == 'x' ? '0' : '') + val.substring(i + 2, j));\r\n\t\t\t\tif (!isNaN(en)) val = val.substr(0, i) + String.fromCharCode(en) + val.substr(j + 1);\r\n\t\t\t} else {\r\n\t\t\t\ten = val.substring(i + 1, j);\r\n\t\t\t\tif (cfg.entities[en] || en == amp)\r\n\t\t\t\t\tval = val.substr(0, i) + (cfg.entities[en] || '&') + val.substr(j + 1);\r\n\t\t\t}\r\n\t\t}\r\n\t\treturn val;\r\n\t}\r\n\tthis.getUrl = url => {\r\n\t\tif (url[0] == '/') {\r\n\t\t\tif (url[1] == '/') url = this.options.prot + ':' + url;\r\n\t\t\telse if (this.domain) url = this.domain + url;\r\n\t\t} else if (this.domain && url.indexOf('data:') != 0 && !url.includes('://'))\r\n\t\t\turl = this.domain + '/' + url;\r\n\t\treturn url;\r\n\t}\r\n\tthis.isClose = () => this.data[this.i] == '>' || (this.data[this.i] == '/' && this.data[this.i + 1] == '>');\r\n\tthis.section = () => this.data.substring(this.start, this.i);\r\n\tthis.parent = () => this.STACK[this.STACK.length - 1];\r\n\tthis.siblings = () => this.STACK.length ? this.parent().children : this.DOM;\r\n}\r\nMpHtmlParser.prototype.parse = function() {\r\n\tif (emoji) this.data = emoji.parseEmoji(this.data);\r\n\tfor (var c; c = this.data[this.i]; this.i++)\r\n\t\tthis.state(c);\r\n\tif (this.state == this.Text) this.setText();\r\n\twhile (this.STACK.length) this.popNode(this.STACK.pop());\r\n\treturn this.DOM;\r\n}\r\n// 设置属性\r\nMpHtmlParser.prototype.setAttr = function() {\r\n\tvar name = this.attrName.toLowerCase(),\r\n\t\tval = this.attrVal;\r\n\tif (cfg.boolAttrs[name]) this.attrs[name] = 'T';\r\n\telse if (val) {\r\n\t\tif (name == 'src' || (name == 'data-src' && !this.attrs.src)) this.attrs.src = this.getUrl(this.decode(val, 'amp'));\r\n\t\telse if (name == 'href' || name == 'style') this.attrs[name] = this.decode(val, 'amp');\r\n\t\telse if (name.substr(0, 5) != 'data-') this.attrs[name] = val;\r\n\t}\r\n\tthis.attrVal = '';\r\n\twhile (blankChar[this.data[this.i]]) this.i++;\r\n\tif (this.isClose()) this.setNode();\r\n\telse {\r\n\t\tthis.start = this.i;\r\n\t\tthis.state = this.AttrName;\r\n\t}\r\n}\r\n// 设置文本节点\r\nMpHtmlParser.prototype.setText = function() {\r\n\tvar back, text = this.section();\r\n\tif (!text) return;\r\n\ttext = (cfg.onText && cfg.onText(text, () => back = true)) || text;\r\n\tif (back) {\r\n\t\tthis.data = this.data.substr(0, this.start) + text + this.data.substr(this.i);\r\n\t\tlet j = this.start + text.length;\r\n\t\tfor (this.i = this.start; this.i < j; this.i++) this.state(this.data[this.i]);\r\n\t\treturn;\r\n\t}\r\n\tif (!this.pre) {\r\n\t\t// 合并空白符\r\n\t\tvar flag, tmp = [];\r\n\t\tfor (let i = text.length, c; c = text[--i];)\r\n\t\t\tif (!blankChar[c]) {\r\n\t\t\t\ttmp.unshift(c);\r\n\t\t\t\tif (!flag) flag = 1;\r\n\t\t\t} else {\r\n\t\t\t\tif (tmp[0] != ' ') tmp.unshift(' ');\r\n\t\t\t\tif (c == '\\n' && flag == void 0) flag = 0;\r\n\t\t\t}\r\n\t\tif (flag == 0) return;\r\n\t\ttext = tmp.join('');\r\n\t}\r\n\tthis.siblings().push({\r\n\t\ttype: 'text',\r\n\t\ttext: this.decode(text)\r\n\t});\r\n}\r\n// 设置元素节点\r\nMpHtmlParser.prototype.setNode = function() {\r\n\tvar node = {\r\n\t\t\tname: this.tagName.toLowerCase(),\r\n\t\t\tattrs: this.attrs\r\n\t\t},\r\n\t\tclose = cfg.selfClosingTags[node.name];\r\n\tif (this.options.nodes.length) node.type = 'node';\r\n\tthis.attrs = {};\r\n\tif (!cfg.ignoreTags[node.name]) {\r\n\t\t// 处理属性\r\n\t\tvar attrs = node.attrs,\r\n\t\t\tstyle = this.CssHandler.match(node.name, attrs, node) + (attrs.style || ''),\r\n\t\t\tstyleObj = {};\r\n\t\tif (attrs.id) {\r\n\t\t\tif (this.options.compress & 1) attrs.id = void 0;\r\n\t\t\telse if (this.options.useAnchor) this.bubble();\r\n\t\t}\r\n\t\tif ((this.options.compress & 2) && attrs.class) attrs.class = void 0;\r\n\t\tswitch (node.name) {\r\n\t\t\tcase 'a':\r\n\t\t\tcase 'ad':\r\n\r\n\r\n\t\t\t\tthis.bubble();\r\n\t\t\t\tbreak;\r\n\t\t\tcase 'font':\r\n\t\t\t\tif (attrs.color) {\r\n\t\t\t\t\tstyleObj['color'] = attrs.color;\r\n\t\t\t\t\tattrs.color = void 0;\r\n\t\t\t\t}\r\n\t\t\t\tif (attrs.face) {\r\n\t\t\t\t\tstyleObj['font-family'] = attrs.face;\r\n\t\t\t\t\tattrs.face = void 0;\r\n\t\t\t\t}\r\n\t\t\t\tif (attrs.size) {\r\n\t\t\t\t\tvar size = parseInt(attrs.size);\r\n\t\t\t\t\tif (size < 1) size = 1;\r\n\t\t\t\t\telse if (size > 7) size = 7;\r\n\t\t\t\t\tvar map = ['xx-small', 'x-small', 'small', 'medium', 'large', 'x-large', 'xx-large'];\r\n\t\t\t\t\tstyleObj['font-size'] = map[size - 1];\r\n\t\t\t\t\tattrs.size = void 0;\r\n\t\t\t\t}\r\n\t\t\t\tbreak;\r\n\t\t\tcase 'embed':\r\n\r\n\t\t\t\tvar src = node.attrs.src || '',\r\n\t\t\t\t\ttype = node.attrs.type || '';\r\n\t\t\t\tif (type.includes('video') || src.includes('.mp4') || src.includes('.3gp') || src.includes('.m3u8'))\r\n\t\t\t\t\tnode.name = 'video';\r\n\t\t\t\telse if (type.includes('audio') || src.includes('.m4a') || src.includes('.wav') || src.includes('.mp3') || src.includes(\r\n\t\t\t\t\t\t'.aac'))\r\n\t\t\t\t\tnode.name = 'audio';\r\n\t\t\t\telse break;\r\n\t\t\t\tif (node.attrs.autostart)\r\n\t\t\t\t\tnode.attrs.autoplay = 'T';\r\n\t\t\t\tnode.attrs.controls = 'T';\r\n\r\n\r\n\r\n\r\n\r\n\t\t\tcase 'video':\r\n\t\t\tcase 'audio':\r\n\t\t\t\tif (!attrs.id) attrs.id = node.name + (++this[`${node.name}Num`]);\r\n\t\t\t\telse this[`${node.name}Num`]++;\r\n\t\t\t\tif (node.name == 'video') {\r\n\t\t\t\t\tif (this.videoNum > 3)\r\n\t\t\t\t\t\tnode.lazyLoad = 1;\r\n\t\t\t\t\tif (attrs.width) {\r\n\t\t\t\t\t\tstyleObj.width = parseFloat(attrs.width) + (attrs.width.includes('%') ? '%' : 'px');\r\n\t\t\t\t\t\tattrs.width = void 0;\r\n\t\t\t\t\t}\r\n\t\t\t\t\tif (attrs.height) {\r\n\t\t\t\t\t\tstyleObj.height = parseFloat(attrs.height) + (attrs.height.includes('%') ? '%' : 'px');\r\n\t\t\t\t\t\tattrs.height = void 0;\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t\tif (!attrs.controls && !attrs.autoplay) attrs.controls = 'T';\r\n\t\t\t\tattrs.source = [];\r\n\t\t\t\tif (attrs.src) {\r\n\t\t\t\t\tattrs.source.push(attrs.src);\r\n\t\t\t\t\tattrs.src = void 0;\r\n\t\t\t\t}\r\n\t\t\t\tthis.bubble();\r\n\t\t\t\tbreak;\r\n\t\t\tcase 'td':\r\n\t\t\tcase 'th':\r\n\t\t\t\tif (attrs.colspan || attrs.rowspan)\r\n\t\t\t\t\tfor (var k = this.STACK.length, item; item = this.STACK[--k];)\r\n\t\t\t\t\t\tif (item.name == 'table') {\r\n\t\t\t\t\t\t\titem.flag = 1;\r\n\t\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t\t}\r\n\t\t}\r\n\t\tif (attrs.align) {\r\n\t\t\tif (node.name == 'table') {\r\n\t\t\t\tif (attrs.align == 'center') styleObj['margin-inline-start'] = styleObj['margin-inline-end'] = 'auto';\r\n\t\t\t\telse styleObj['float'] = attrs.align;\r\n\t\t\t} else styleObj['text-align'] = attrs.align;\r\n\t\t\tattrs.align = void 0;\r\n\t\t}\r\n\t\t// 压缩 style\r\n\t\tvar styles = style.split(';');\r\n\t\tstyle = '';\r\n\t\tfor (var i = 0, len = styles.length; i < len; i++) {\r\n\t\t\tvar info = styles[i].split(':');\r\n\t\t\tif (info.length < 2) continue;\r\n\t\t\tlet key = info[0].trim().toLowerCase(),\r\n\t\t\t\tvalue = info.slice(1).join(':').trim();\r\n\t\t\tif (value[0] == '-' || value.includes('safe'))\r\n\t\t\t\tstyle += `;${key}:${value}`;\r\n\t\t\telse if (!styleObj[key] || value.includes('import') || !styleObj[key].includes('import'))\r\n\t\t\t\tstyleObj[key] = value;\r\n\t\t}\r\n\t\tif (node.name == 'img') {\r\n\t\t\tif (attrs.src && !attrs.ignore) {\r\n\t\t\t\tif (this.bubble())\r\n\t\t\t\t\tattrs.i = (this.imgNum++).toString();\r\n\t\t\t\telse attrs.ignore = 'T';\r\n\t\t\t}\r\n\t\t\tif (attrs.ignore) {\r\n\t\t\t\tstyle += ';-webkit-touch-callout:none';\r\n\t\t\t\tstyleObj['max-width'] = '100%';\r\n\t\t\t}\r\n\t\t\tvar width;\r\n\t\t\tif (styleObj.width) width = styleObj.width;\r\n\t\t\telse if (attrs.width) width = attrs.width.includes('%') ? attrs.width : parseFloat(attrs.width) + 'px';\r\n\t\t\tif (width) {\r\n\t\t\t\tstyleObj.width = width;\r\n\t\t\t\tattrs.width = '100%';\r\n\t\t\t\tif (parseInt(width) > windowWidth) {\r\n\t\t\t\t\tstyleObj.height = '';\r\n\t\t\t\t\tif (attrs.height) attrs.height = void 0;\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\tif (styleObj.height) {\r\n\t\t\t\tattrs.height = styleObj.height;\r\n\t\t\t\tstyleObj.height = '';\r\n\t\t\t} else if (attrs.height && !attrs.height.includes('%'))\r\n\t\t\t\tattrs.height = parseFloat(attrs.height) + 'px';\r\n\t\t}\r\n\t\tfor (var key in styleObj) {\r\n\t\t\tvar value = styleObj[key];\r\n\t\t\tif (!value) continue;\r\n\t\t\tif (key.includes('flex') || key == 'order' || key == 'self-align') node.c = 1;\r\n\t\t\t// 填充链接\r\n\t\t\tif (value.includes('url')) {\r\n\t\t\t\tvar j = value.indexOf('(');\r\n\t\t\t\tif (j++ != -1) {\r\n\t\t\t\t\twhile (value[j] == '\"' || value[j] == \"'\" || blankChar[value[j]]) j++;\r\n\t\t\t\t\tvalue = value.substr(0, j) + this.getUrl(value.substr(j));\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\t// 转换 rpx\r\n\t\t\telse if (value.includes('rpx'))\r\n\t\t\t\tvalue = value.replace(/[0-9.]+\\s*rpx/g, $ => parseFloat($) * windowWidth / 750 + 'px');\r\n\t\t\telse if (key == 'white-space' && value.includes('pre') && !close)\r\n\t\t\t\tthis.pre = node.pre = true;\r\n\t\t\tstyle += `;${key}:${value}`;\r\n\t\t}\r\n\t\tstyle = style.substr(1);\r\n\t\tif (style) attrs.style = style;\r\n\t\tif (!close) {\r\n\t\t\tnode.children = [];\r\n\t\t\tif (node.name == 'pre' && cfg.highlight) {\r\n\t\t\t\tthis.remove(node);\r\n\t\t\t\tthis.pre = node.pre = true;\r\n\t\t\t}\r\n\t\t\tthis.siblings().push(node);\r\n\t\t\tthis.STACK.push(node);\r\n\t\t} else if (!cfg.filter || cfg.filter(node, this) != false)\r\n\t\t\tthis.siblings().push(node);\r\n\t} else {\r\n\t\tif (!close) this.remove(node);\r\n\t\telse if (node.name == 'source') {\r\n\t\t\tvar parent = this.parent();\r\n\t\t\tif (parent && (parent.name == 'video' || parent.name == 'audio') && node.attrs.src)\r\n\t\t\t\tparent.attrs.source.push(node.attrs.src);\r\n\t\t} else if (node.name == 'base' && !this.domain) this.domain = node.attrs.href;\r\n\t}\r\n\tif (this.data[this.i] == '/') this.i++;\r\n\tthis.start = this.i + 1;\r\n\tthis.state = this.Text;\r\n}\r\n// 移除标签\r\nMpHtmlParser.prototype.remove = function(node) {\r\n\tvar name = node.name,\r\n\t\tj = this.i;\r\n\t// 处理 svg\r\n\tvar handleSvg = () => {\r\n\t\tvar src = this.data.substring(j, this.i + 1);\r\n\t\tnode.attrs.xmlns = 'http://www.w3.org/2000/svg';\r\n\t\tfor (var key in node.attrs) {\r\n\t\t\tif (key == 'viewbox') src = ` viewBox=\"${node.attrs.viewbox}\"` + src;\r\n\t\t\telse if (key != 'style') src = ` ${key}=\"${node.attrs[key]}\"` + src;\r\n\t\t}\r\n\t\tsrc = '