uniapp开发小程序,点击右上角<重新进入小程序>进行刷新时,设置开屏加载页面

一、需求及问题

问题:使用uniapp开发小程序时,有【学生端】和【企业端】两个入口,一进入小程序默认进入【学生端首页】,但是当前处于【企业端】时,点击右上角<重新进入小程序>进行刷新时,页面默认进入【学生端首页】了。

二、解决方式

如何解决?

在默认的【学生端首页】的onLoad中加一个判断:

javascript 复制代码
		onLoad() {
			if (uni.getStorageSync('loginType') == 2) { //企业时,跳转企业端首页
				uni.navigateTo({
					url: '/pages/company/uni_companyHome'
				})
			}
		},

但是现在这个情况会出现闪屏的效果,就是会先去【学生端首页】然后闪一下跳转到【企业端首页】,以下是处理闪屏的方式,加一个开屏加载页面。(但是需要制作开屏加载页面的设计稿)

在uniapp中新建一个页面,用于承载开屏加载内容。

使用uniapp的生命周期函数,控制开屏页面的显示与隐藏。

步骤:

1.在pages目录下新建一个开屏页面,例如pages/splash/splash.vue:

html 复制代码
<template>
  <view class="splash-container">
    <!-- 开屏加载页面的内容,如Logo、标题等 -->
  </view>
</template>
 
<script>
export default {
  // 这里可以添加一些逻辑处理,但基本不需要复杂的逻辑,因为只是简单的加载页。
}
</script>
 
<style>
.splash-container {
  /* 样式设计,根据实际需求来 */
}
</style>

2.在App.vue或对应的页面中控制开屏页面的显示与隐藏。例如,在App.vue的onLaunch或onShow生命周期函数中控制跳转:

javascript 复制代码
// App.vue
export default {
  onLaunch: function() {
   	 // 延迟显示开屏页面,例如延迟2秒后跳转至首页或其他页面。这里可以根据实际需求调整延迟时间。
	if(uni.getStorageSync('loginType') == 2){  //【企业端首页】
		setTimeout(() => {
			// 使用uni.redirectTo或uni.navigateTo跳转至首页或其他页面。
			uni.redirectTo({
				url: '/pages/company/uni_companyHome'
			}); 
		}, 1000); 
	}else{ //【学生端首页】
		setTimeout(() => {
			uni.redirectTo({
				url: '/pages/Tabblock/uni_studentHome'
			}); 
		}, 1000); 
	}
  }
}

完成~

相关推荐
codingWhat1 天前
小程序里「嵌」H5:一套完整可落地的 WebView 集成方案
前端·uni-app·webview
小时前端3 天前
微信小程序选不了本地文件?用 web-view + H5 一招搞定
前端·微信小程序·uni-app
Mr_li3 天前
给 Vue 开发者的 uni-app 快速指南
vue.js·uni-app
anyup3 天前
🔥2026最推荐的跨平台方案:H5/小程序/App/鸿蒙,一套代码搞定
前端·uni-app·harmonyos
Mintopia4 天前
Vue3 项目如何迁移到 uni-app x:从纯 Web 到多端应用的系统指南
uni-app
Mintopia4 天前
uni-app x 发展前景技术分析:跨端统一的新阶段?
uni-app
不爱说话郭德纲5 天前
告别漫长的HbuilderX云打包排队!uni-app x 安卓本地打包保姆级教程(附白屏、包体积过大排坑指南)
android·前端·uni-app
HashTang6 天前
【AI 编程实战】第 12 篇:从 0 到 1 的回顾 - 项目总结与 AI 协作心得
前端·uni-app·ai编程
JunjunZ7 天前
uniapp 文件预览:从文件流到多格式预览的完整实现
前端·uni-app
郑州光合科技余经理7 天前
代码展示:PHP搭建海外版外卖系统源码解析
java·开发语言·前端·后端·系统架构·uni-app·php