// commpents/mobile-frame/mobile-main.js const app = getApp(); import { system } from "../../utils/dict"; Component({ /** * 组件的属性列表 */ options: { multipleSlots: true }, properties: { tabSelectid: { type: 'string', value: '' } }, // 生命周期函数,可以为函数,或一个在methods段中定义的方法名 attached: function () { }, // 此处attached的声明会被lifetimes字段中的声明覆盖 ready: function () { }, pageLifetimes: { // 组件所在页面的生命周期函数 show: function () { this.search() }, hide: function () { }, resize: function () { }, }, /** * 组件的初始数据 */ data: { // 当前选中菜单 active: 0, // 菜单列表 menuList: [] }, /** * 组件的方法列表 */ methods: { // 跳转 tabPath(e) { const that = this; that.setData({ active: e.detail }); let route = that.data.menuList[e.detail]; if (route) that.triggerEvent('tabPath', route) }, search() { const that = this; // 监听用户是否登录 wx.getStorage({ key: 'token', success: res => { // 获取当前路由地址 let pages = getCurrentPages(); let currentPage = pages[pages.length - 1]; let menu = system.filter((i) => i.type.includes(res.data.type)); if (menu) { that.setData({ menuList: menu }); let index = menu.findIndex((i) => i.route == currentPage.route); if (index) that.setData({ active: index }); } }, fail: res => { return wx.redirectTo({ url: '/pages/login/index', }) } }) } } })