uniapp启动图和引导页的处理逻辑

在这里插入图片描述

pages.js
pages节点的第一项为应用入口页(即首页,这里作为启动页来使用),
可以在home.vue放如一张gif动图,动图时间位2秒,设置定时器在2.5秒后跳转。

如图所示,添加两个vue页面作为启动页,和引导页

home页面(启动页),这里只记录页面逻辑,样式代码请自行设置

onLoad() {
	//APP端
	//#ifdef APP-PLUS
	if (uni.getStorageSync('first_falg')) { // first_falg用来判断是否是第一次启动APP。
		this.goBack();
	} else { // 是第一次进入APP,跳转到引导页
		setTimeout(function() {
			uni.navigateTo({
				url: '/pages/home/home2',
				animationType: 'pop-in',
				animationDuration: 300
			});
		}, 3000)
	}
	//#endif
	
	// H5端
	//#ifdef H5
	if (uni.getStorageSync('token')) { // 有token,直接进入首页
		uni.switchTab({
			url: '/pages/index/index',
			animationType: 'pop-in',
			animationDuration: 300
		});
	} else {
		uni.navigateTo({ // 没有token去登录
			url: '/pages/login/login',
			animationType: 'pop-in',
			animationDuration: 300
		});
	}
	//#endif
},
methods: {
	goBack(name) {
		if (uni.getStorageSync('access_token')) {//有token
			setTimeout(function() {
				uni.switchTab({
					url: '/pages/index/index',
					animationType: 'pop-in',
					animationDuration: 300
				});
			}, 2500)
		} else {
			setTimeout(function() {//去登录
				uni.reLaunch({
					url: '/pages/login/login',
					animationType: 'pop-in',
					animationDuration: 300
				});
			}, 2500)
		}
	},
},

home2引导页,只记录页面逻辑部分

//轮播图滑动到最后一张,当点击开始使用
goBack(name) {
	if (uni.getStorageSync('token')) { // 有token进首页
		uni.switchTab({
		url: '/pages/index/index',
			animationType: 'pop-in',
			animationDuration: 300
		});
	} else {
		uni.reLaunch({ // 没有token进登录,这里页需要uni.reLaunch跳转,防止安卓物理返回时重新进入到引导页
		url: '/pages/login/login',
			animationType: 'pop-in',
			animationDuration: 300
		});
	}
},

登录页面和首页,需要把first_falg存起来,下次不用再进入引导页

uni.setStorageSync('first_falg', true);//是否第一次进入APP,true不是,跳过引导页

猜你喜欢

转载自blog.csdn.net/qq_40745143/article/details/107127280
今日推荐