sju.nav.js 3.4 KB
// 页面跳转的相关方法

// import base from '@/common/sju.base.js';
// import login from '@/common/sju.login.js'



let nav = {
	/**
	 * @description 保留当前页面,跳转到应用内的某个页面,使用uni.navigateBack可以返回到原页面。
	 * @param {string} url 跳转的地址
	 */
	navigateTo: function(url, param = {}) {
		if (JSON.stringify(param) !== '{}') {
			uni.navigateTo({
				url: url += `?param=${JSON.stringify(param)}`
			})
		} else {
			uni.navigateTo({
				url: url,
				fail(err) {
					console.log('navigateTo 失败');
				},
			})
		}
		return
		// 判断打开页面是否需要登录
		if (login.checkLogin(url)) {
			// url = tranferUrl(url);//用于判断解析分包
			if (JSON.stringify(param) !== '{}') {
				uni.navigateTo({
					url: url += `?param=${JSON.stringify(param)}`
				})
			} else {
				uni.navigateTo({
					url: url,
					fail(err) {
						console.log('navigateTo 失败');
					},
				})
			}
		}
	},
	/**
	 * @description 关闭当前页面,跳转到应用内的某个页面。
	 * @param {sting} url 跳转的地址
	 * @param {string} para 页面参数
	 */
	redirectTo: function(url, param = {}) {
		if (JSON.stringify(param) !== '{}') {
			uni.redirectTo({
				url: url += `?param=${JSON.stringify(param)}`
			})
		} else {
			uni.redirectTo({
				url: url,
				fail(err) {
					console.log('redirectTo 失败');
				},
			})
		}
		return
		// 判断打开页面是否需要登录
		if (login.checkLogin(url)) {
			// url = tranferUrl(url);//用于判断解析分包
			if (JSON.stringify(param) !== '{}') {
				uni.redirectTo({
					url: url += `?param=${JSON.stringify(param)}`
				})
			} else {
				uni.redirectTo({
					url: url,
					fail(err) {
						console.log('redirectTo 失败');
					},
				})
			}
		}
	},
	/**
	 * @description 关闭所有页面,打开到应用内的某个页面。
	 * @param {sting} url 跳转的地址
	 * @param {string} para 页面参数
	 */
	reLaunch: function(url, param = {}) {
		if (JSON.stringify(param) !== '{}') {
			uni.reLaunch({
				url: url += `?param=${JSON.stringify(param)}`
			})
		} else {
			uni.reLaunch({
				url: url,
				fail(err) {
					console.log('reLaunch 失败');
				},
			})
		}
		return
		// 判断打开页面是否需要登录
		if (login.checkLogin(url)) {
			// url = tranferUrl(url);//用于判断解析分包
			if (JSON.stringify(param) !== '{}') {
				uni.reLaunch({
					url: url += `?param=${JSON.stringify(param)}`
				})
			} else {
				uni.reLaunch({
					url: url,
					fail(err) {
						console.log('reLaunch 失败');
					},
				})
			}
		}
	},
	/**
	 * @description 跳转到 tabBar 页面,并关闭其他所有非 tabBar 页面。
	 * @param {sting} url 跳转的地址
	 */
	switchTab: function(url) {
		uni.switchTab({
			url: url,
			fail: function() {
				console.log('switchTab 失败')
			}
		})
		return
		if (login.checkLogin(url)) {
			// url = tranferUrl(url);
			uni.switchTab({
				url: url,
				fail: function() {
					console.log('switchTab 失败')
				}
			})
		}
	},
	/**
	 * @description 关闭当前页面,返回上一页面或多级页面。可通过 getCurrentPages() 获取当前的页面栈,决定需要返回几层。
	 * @param {number} delta 返回的页面数
	 */
	navigateBack: function(delta, param = {}) {
		if (JSON.stringify(param) !== '{}') {
			uni.navigateBack({
				delta: delta += `?param=${JSON.stringify(param)}`
			})
		} else {
			uni.navigateBack({
				delta: delta
			});
		}
	}
}
export default nav;