在小程序中/uni-app中,当没有登录时,点击结算按钮,3s后自动跳转到登录页面

1、首先在methods中定义一个方法showTips,用于展示倒计时的提示消息

复制代码
// 展示倒计时的提示消息
	showTips(n){
	// 调用uni.showToast()方法,展示提示消息
	  uni.showToast({
	// 不展示任何图标
	  icon:'none',
	// 提示的消息
	  title:'请登录后在结算!' +n+'秒后自动跳转到登录页',
	// 微页面添加透明遮罩层,防止点击穿透
	  mask:'',
	// 1.5s后小时
	  duration:1500
	})
}

2、在data中创建一个倒计时的秒数

复制代码
data() {
	return {
	// 倒计时的秒数
		seconds:3
	};
	},

3。点击结算按钮时判断用户是否登录了,如果没有,则调用 delaynavigate()进行倒计时的导航跳转

复制代码
settlement(){
	// 最后判断用户是否登录了,如果没有,则调用 delaynavigate()进行倒计时的导航跳转
	   if(!this.token) return this.delaynavigate()
	},

4、创建delaynavigate方法,延迟导航到我的页面

复制代码
delaynavigate(){
 // 展示提示消息,此时seconds 的值等于3
   this.showTips(this.seconds)
 // 创建计时器,每个一秒执行一次
	setInterval(()=>{
 // 先让秒数自减一
	 this.seconds--
 // 根据最新的秒数,进行消息提示
	 this.showTips(this.seconds)
					   
	},1000)
},
注意,此时定时器不会自动停止,此时秒数会出现等于0或者小于0的情况,解决方法

1、在data节点中声明定时器的id

复制代码
data() {
	return {
	// 倒计时的秒数
		seconds:3,
   //定时器的id
        timer:null
	};
	},

2、改造delaynavigate方法

复制代码
	      delaynavigate() {
				// 展示提示消息,此时seconds 的值等于3
				this.showTips(this.seconds)
				// 创建计时器,每个一秒执行一次
				// 将定时器的id存储到timer中
				this.timer = setInterval(() => {
					// 先让秒数自减一
					this.seconds--
					if (this.seconds <= 0) {
						// 清除定时器
						clearInterval(this.timer)
						// 跳转到我的页面
						uni.switchTab({
							url: '/pages/my/my'
						})

						return
					}
					// 根据最新的秒数,进行消息提示
					this.showTips(this.seconds)

				}, 1000)


			},

这样就可以实现啦!

相关推荐
一水鉴天30 分钟前
统一对象拓扑(UOT)设计全链定稿:从三件事分离到三继承 之1 20261010(豆包“查看聊天内容”继续)
前端·css
栖凤41 分钟前
Java 的 try-catch 在 Agent 里失效了,我用了 5 个模式才兜住
java·前端·python
粥里有勺糖42 分钟前
视野修炼第136期 | 前端小恐龙"Deno"被收购
前端·github·ai编程
修炼的dance1 小时前
页面塞了13.88 MB字体,导出的PDF只有71 KB
前端
qq_369173631 小时前
如何将 AI 生成的 HTML 网页发布成在线链接?不用自己搭建服务器
前端·人工智能·html·效率工具·html 发布
FX1317887KP_1 小时前
从KET到PET口语进阶:词汇量翻倍后,口语如何跟上?
小程序·ket口语·pet口语·fce备考·剑桥英语
风花一世月1 小时前
⚡ 我把一座含氢能源园区搬进了浏览器(五类能流实时算守恒,在线直接玩)
前端·人工智能
羲云1 小时前
Claude 越界事件之后:Agent 权限设计为什么不能只靠提示词
前端
行者全栈架构师1 小时前
【鸿蒙心迹】鸿蒙网络请求架构实战——@ohos.net.http 到 Axios 封装、拦截器与统一错误处理(HarmonyOS 7.x)
前端·算法·架构
全栈Agent 小李2 小时前
【无标题】
前端·后端·agent·ai编程·全栈·cursor·mcp