|
|
@@ -5,41 +5,69 @@ Component({
|
|
|
selectedColor: "#B1967B",
|
|
|
borderStyle: "black",
|
|
|
backgroundColor: "#ffffff",
|
|
|
- list: [{
|
|
|
- "pagePath": "/pages/index/index",
|
|
|
- "iconPath": "/imgs/icon_home_normal.png",
|
|
|
- "selectedIconPath": "/imgs/icon_home_active.png",
|
|
|
- "text": "首页"
|
|
|
- },
|
|
|
- {
|
|
|
- "pagePath": "/pages/exhibition/index",
|
|
|
- "iconPath": "/imgs/icon_exhibition_normal.png",
|
|
|
- "selectedIconPath": "/imgs/icon_exhibition_active.png",
|
|
|
- "text": "展览"
|
|
|
- },
|
|
|
- {
|
|
|
- "pagePath": "/pages/collection/index",
|
|
|
- "iconPath": "/imgs/icon_culture_normal.png",
|
|
|
- "selectedIconPath": "/imgs/icon_culture_active.png",
|
|
|
- "text": "典藏"
|
|
|
- },
|
|
|
- {
|
|
|
- "pagePath": "/pages/user/index",
|
|
|
- "iconPath": "/imgs/icon_user_normal.png",
|
|
|
- "selectedIconPath": "/imgs/icon_user_active.png",
|
|
|
- "text": "我的"
|
|
|
- }]
|
|
|
+ isShowTabar: true,
|
|
|
+ list: [
|
|
|
+ {
|
|
|
+ "pagePath": "/pages/index/index",
|
|
|
+ "iconPath": "/imgs/icon_home_normal.png",
|
|
|
+ "selectedIconPath": "/imgs/icon_home_active.png",
|
|
|
+ "text": "首页"
|
|
|
+ },
|
|
|
+ {
|
|
|
+ "pagePath": "/pages/exhibition/index",
|
|
|
+ "iconPath": "/imgs/icon_exhibition_normal.png",
|
|
|
+ "selectedIconPath": "/imgs/icon_exhibition_active.png",
|
|
|
+ "text": "展览"
|
|
|
+ },
|
|
|
+ {
|
|
|
+ "pagePath": "/pages/cover/index",
|
|
|
+ "iconPath": "/imgs/icon_ar.png",
|
|
|
+ "selectedIconPath": "/imgs/icon_ar.png",
|
|
|
+ "text": "钻头列阵",
|
|
|
+ "center": true,
|
|
|
+ },
|
|
|
+ {
|
|
|
+ "pagePath": "/pages/collection/index",
|
|
|
+ "iconPath": "/imgs/icon_culture_normal.png",
|
|
|
+ "selectedIconPath": "/imgs/icon_culture_active.png",
|
|
|
+ "text": "藏品"
|
|
|
+ },
|
|
|
+ {
|
|
|
+ "pagePath": "/pages/user/index",
|
|
|
+ "iconPath": "/imgs/icon_user_normal.png",
|
|
|
+ "selectedIconPath": "/imgs/icon_user_active.png",
|
|
|
+ "text": "我的"
|
|
|
+ }
|
|
|
+ ]
|
|
|
},
|
|
|
attached() {
|
|
|
+ const pages = getCurrentPages() || []
|
|
|
+ const current = pages[pages.length - 1]
|
|
|
+ const route = current ? ('/' + current.route) : ''
|
|
|
+ const idx = this.data.list.findIndex(i => i.pagePath === route)
|
|
|
+ if (idx !== -1) {
|
|
|
+ this.setData({ selected: idx })
|
|
|
+ }
|
|
|
},
|
|
|
methods: {
|
|
|
switchTab(e) {
|
|
|
const data = e.currentTarget.dataset
|
|
|
const url = data.path
|
|
|
- wx.switchTab({url})
|
|
|
- this.setData({
|
|
|
- selected: data.index
|
|
|
- })
|
|
|
+ const item = this.data.list[data.index]
|
|
|
+ if (item && item.navigate) {
|
|
|
+ wx.navigateTo({ url })
|
|
|
+ } else {
|
|
|
+ const pages = getCurrentPages() || []
|
|
|
+ const current = pages[pages.length - 1]
|
|
|
+ const currentRoute = current ? ('/' + current.route) : ''
|
|
|
+ // 如果已在当前页,避免重复切换导致页面重载与导航闪烁
|
|
|
+ if (currentRoute === url) {
|
|
|
+ this.setData({ selected: data.index })
|
|
|
+ return
|
|
|
+ }
|
|
|
+ wx.switchTab({ url })
|
|
|
+ // this.setData({ selected: data.index })
|
|
|
+ }
|
|
|
}
|
|
|
}
|
|
|
})
|