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不是,跳过引导页