代码拉取完成,页面将自动刷新
同步操作将从 野兔子/uniapp-router 强制同步,此操作会覆盖自 Fork 仓库以来所做的任何修改,且无法恢复!!!
确定后同步将在后台操作,完成时将刷新页面,请耐心等待。
import routeGuard from './src'
import { isEmpty, isNumber, isObject, isString, json, objectToUrl } from './uitls'
const router = {
install(app){
app.use(routeGuard)
},
/** 追加路由栈
* @param { string } url 页面路径
* @param { data } data 路由参数
* @param { object } other 其他参数
*/
push(url, data={}, other={}){
return uni.navigateTo({
url: url+objectToUrl(data, '?'),
...other,
})
},
/** 替换路由中的当前栈
* @param { String } url 要跳转的url路径
* @param { Object } data 路径参数
* @param { other } other 其他参数
*/
replace(url, data={}, other={}){
return uni.redirectTo({
url: url+objectToUrl(data, '?'),
...other,
})
},
/** 关闭所有页面,打开到应用内的某个页面
* @param { String } url 要跳转的url路径
* @param { Object } data 路径参数
* @param { other } other 其他参数
*/
reLaunch(url, data={}, other={}){
return uni.reLaunch({
url: url+objectToUrl(data, '?'),
...other,
})
},
/** 跳转到 tabBar 页面,并关闭其他所有非 tabBar 页面。
* @param { String } url 要跳转的url路径
* @param { other } other 其他参数
*/
switchTab(url, other={}){
return uni.switchTab({
url,
...other,
})
},
/**
* 关闭当前页面,返回上一页面或多级页面
* @param { number } delta 返回的页面数
* @param { object } other 其他参数
*/
back(delta=1, other={}){
return uni.navigateBack({
delta,
...other
})
},
/**
* 获取所有 路由记录的完整列表
* @return { array } 当前路由栈列表
*/
getRoutes(){
return getCurrentPages()
},
/**
* 返回当前页面路由对象
* @return { object }
*/
route(){
return getCurrentPages().slice(-1)[0]
},
/**
* 添加一个前置导航守卫
* @param { function } callback 回调函数
*/
beforeEach(callback){
routeGuard.beforeEach(callback)
},
/**
* 添加一个后置导航守卫
* @param { function } callback 回调函数
*/
afterEach(callback){
routeGuard.afterEach(callback)
},
/**
* 监听路由跳转错误
* @param { function } callback 回调函数
*/
onError(callback){
uni.onPageNotFound(callback)
},
}
export default router
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。