var defaultTabbarItem = [ "pages/person/person", "pages/residents/report", "pages/index/index" ] export function toggle(that) { let pages = getCurrentPages() let route = pages[pages.length - 1].route console.log("[CustomTabBar] route", route) if (!typeof that.getTabBar === 'function' || !that.getTabBar()) { // wx.showModal({ // title: '版本太旧', // content: '您的微信版本太旧,无法使用本小程序', // showCancel: false, // complete: (res) => { // wx.exitMiniProgram() // } // }) return } // 找出要选择哪一项 let tabBar = that.getTabBar() console.log("[CustomTabBar] tabBar", tabBar) let data = tabBar.data console.log("[CustomTabBar] data", data) let showPagePathList = wx.getStorageSync('tabbarItem') || defaultTabbarItem console.log("[CustomTabBar] showPagePathList", showPagePathList) let list = tabBar.data.rawList.filter((page) => showPagePathList.includes(page.pagePath)) console.log("[CustomTabBar] tabBarList", list) let selected = list ? list.indexOf(list.find(p => p.pagePath == route)) : -1 console.log("[CustomTabBar] selected", selected) console.log("更新tabbar") // 选中这一项 tabBar.setData({ selected: selected, list: list }) } export function updateConfig(baseUrl) { // 请求配置文件(用于审核时隐藏部分功能) wx.request({ url: baseUrl + '/getConfig?v=2', success(result) { let data = result.data if (data.tabbarItem) { console.log("[CustomTabBar] tabbar数据拉取完毕") wx.setStorageSync('tabbarItem', data.tabbarItem) wx.setStorageSync('indexItem', data.indexItem) const pages = getCurrentPages(); const indexPage = pages[0] const currentPage = pages[pages.length - 1] console.log("[CustomTabBar] indexPage", indexPage) console.log("[CustomTabBar] currentPage", currentPage) // // 更新tabbar // toggle(currentPage) // 刷新首页中包含了触发 toggle 的代码 此处不重复触发 // 刷新首页 indexPage && indexPage.onLoad() // let tabBar = currentPage.getTabBar() // tabBar.setData({ // list: tabBar.data.rawList.filter((page) => itemList.includes(page.pagePath)) // }) } }, fail() { wx.showModal({ title: '小程序启动失败', content: '点击确认重试,若多次失败请检查网络连接', complete: (res) => { if (res.cancel) { wx.exitMiniProgram() } if (res.confirm) { wx.reLaunch({ url: 'pages/index/index', }) } } }) } }) }