util.js
export default {
// 页面跳转
redirectTo(to, param, mode) {
let url = to;
let tabbarList = ['xxx', 'yyy' ]
// 携带参数
if (param != undefined) {
Object.keys(param).forEach(function(key) {
if (url.indexOf('?') != -1) {
url += "&" + key + "=" + param[key];
} else {
url += "?" + key + "=" + param[key];
}
});
}
// tabbar跳转
for (let i = 0; i < tabbarList.length; i++) {
if (url.indexOf(tabbarList[i]) == 0) {
uni.switchTab({
url
})
return;
}
}
switch (mode) {
case 'tabbar':
// 跳转到 tabBar 页面,并关闭其他所有非 tabBar 页面。
uni.switchTab({
url
})
break;
case 'redirectTo':
// 关闭当前页面,跳转到应用内的某个页面。
uni.redirectTo({
url
});
break;
case 'reLaunch':
// 关闭所有页面,打开到应用内的某个页面。
uni.reLaunch({
url
});
break;
default:
// 保留当前页面,跳转到应用内的某个页面
uni.navigateTo({
url
});
}
},
// 获取当前路由
getCurrentRoute() {
let routes = getCurrentPages();
return routes.length ? routes[routes.length - 1].route : '';
}
}