微信小程序 分别封装三种路由跳转方式带有路由拦截的跳转函数
时间: 2023-07-13 21:09:56 浏览: 108
在微信小程序中,可以使用以下三种方式进行路由跳转:
1. wx.navigateTo:保留当前页面,跳转到应用内的某个页面,可以通过左上角的返回箭头返回原页面。
2. wx.redirectTo:关闭当前页面,跳转到应用内的某个页面,不能返回原页面。
3. wx.reLaunch:关闭所有页面,打开应用内的某个页面。
针对需要进行路由拦截的情况,可以使用以下代码进行封装:
```javascript
const navigateTo = (url) => {
// 进行路由拦截判断
if (needAuth(url)) {
// 跳转到登录页面
wx.navigateTo({
url: '/pages/login/login',
})
} else {
// 跳转到目标页面
wx.navigateTo({
url,
})
}
}
const redirectTo = (url) => {
if (needAuth(url)) {
wx.navigateTo({
url: '/pages/login/login',
})
} else {
wx.redirectTo({
url,
})
}
}
const reLaunch = (url) => {
if (needAuth(url)) {
wx.navigateTo({
url: '/pages/login/login',
})
} else {
wx.reLaunch({
url,
})
}
}
// 路由拦截判断函数
const needAuth = (url) => {
// 判断目标页面是否需要登录验证
return false
}
```
以上代码中的 `needAuth` 函数可以根据实际需求进行修改,用于判断目标页面是否需要进行登录验证。在进行路由跳转时,先判断目标页面是否需要进行验证,如果需要验证则跳转到登录页面,否则跳转到目标页面。这样就可以实现带有路由拦截的路由跳转功能。
阅读全文