uniapp 电商app支付倒计时处理

电商app支付倒计时

所有电商app支付页面都是有倒计时的,一来可以促进消费,二来可以减少恶意减库存的问题发生。
因为创建订单的时候,除了预售的商品外,实际销售的商品是需要减库存的。

在这里插入图片描述
一般的电商app倒计时都是30分钟或者45分钟的。

如果在此页面没有进行付款或者付款失败,则此订单会进入到待付款页面中,在那个页面还是可以进行二次支付的。此时的倒计时会延续之前的倒计时时间。如果倒计时到了0,则此订单默认为交易失败,订单关闭。

在这里插入图片描述
在这里插入图片描述
此处的解决方法如下:

  1. 创建订单时,默认是30分钟倒计时。
  2. 创建订单成功后,如果未支付状态,则后台接口需要返回一个时间戳时间,在此时间戳的时间基础上进行倒计时处理。
onLoad(options) {
	// 这个expirationTime是从待支付列表中点击支付按钮传递过来的时间戳参数
	this.expirationTime = options.expirationTime;
	// 如果没有这个时间戳参数,则代表是从创建订单的时候进入的此支付页面,默认为4500000时间。
	var result = 45000000;
	if(options.expirationTime){
		var now=new Date();
		var end=new Date(options.expirationTime); 
		// 用当前的时间与时间戳时间比较,如果到了时间戳时间,则代表倒计时结束,交易失败。
		if(end-now > 45000000){
			result=45000000;
		}else{
			result=Math.floor(end-now);
		}
	}
	this.runBack(result);
},
methods:{
runBack(cm) {
 if (cm > 0) {
	cm > 60000? 
	(this.rocallTime =(new Date(cm).getMinutes() < 10? "0" + new Date(cm).getMinutes(): new Date(cm).getMinutes()) + ":" + (new Date(cm).getSeconds() < 10? "0" + new Date(cm).getSeconds(): new Date(cm).getSeconds()))
	: 
	(this.rocallTime ="00:" +(new Date(cm).getSeconds() < 10 ? "0" + new Date(cm).getSeconds(): new Date(cm).getSeconds()));
	let _msThis = this;
	// 此处是一个递归,调用时间计时器函数,一秒时间减少一秒,一秒后继续调用当前函数,这就是函数的递归。
	setTimeout(function() {
	  cm -= 1000;
	  _msThis.runBack(cm);
	}, 1000);
  } else {
	  this.ispay = false
  }
},
}
  • 3
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
源码是经过本地编译可运行的,下载完成之后配置相应环境即可使用。源码功能都是经过老师肯定的,都能满足要求,有需要放心下载即可。源码是经过本地编译可运行的,下载完成之后配置相应环境即可使用。源码功能都是经过老师肯定的,都能满足要求,有需要放心下载即可。源码是经过本地编译可运行的,下载完成之后配置相应环境即可使用。源码功能都是经过老师肯定的,都能满足要求,有需要放心下载即可。源码是经过本地编译可运行的,下载完成之后配置相应环境即可使用。源码功能都是经过老师肯定的,都能满足要求,有需要放心下载即可。源码是经过本地编译可运行的,下载完成之后配置相应环境即可使用。源码功能都是经过老师肯定的,都能满足要求,有需要放心下载即可。源码是经过本地编译可运行的,下载完成之后配置相应环境即可使用。源码功能都是经过老师肯定的,都能满足要求,有需要放心下载即可。源码是经过本地编译可运行的,下载完成之后配置相应环境即可使用。源码功能都是经过老师肯定的,都能满足要求,有需要放心下载即可。源码是经过本地编译可运行的,下载完成之后配置相应环境即可使用。源码功能都是经过老师肯定的,都能满足要求,有需要放心下载即可。源码是经

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

叶浩成520

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值