首页 > 其他分享 >待支付倒计时

待支付倒计时

时间:2023-08-22 14:26:02浏览次数:47  
标签:60 console 倒计时 let 支付 diff today 1000


das() {
var today = new Date()
this.today = today
this.today = this.today.getTime()
console.log(this.today, 'this.today ')
console.log(today, 'today')
var tomorrow = new Date(this.time)
console.log(tomorrow, 'tomorrow')
tomorrow.setDate(today.getDate() + 1)
console.log(tomorrow, 'tomorrow2')
this.timestamp = tomorrow.getTime()
console.log(this.timestamp, '时间戳')
this.getOrderDetail()
this.countDown()
},
countDown() {
// 当前时间
let nowTime = this.today
// new Date()
// 获取创建订单15分钟后的时间,this.payForm.create_time:订单创建时间
let endTime = this.timestamp
// new Date(this.payForm.create_time);
// endTime.setMinutes(endTime.getMinutes() + 15) // 结束时间,获取创建订单15分钟后的时间

// 两个日期相差的时间戳,以毫秒为单位(1000ms = 1s)
let totalTime = endTime - nowTime

// 结束时间大于现在的时间
if (totalTime > 0) {
let timer = setInterval(() => {

if (totalTime >= 0) {
//获取天数
let day =
Math.floor((totalTime / 1000 / 3600 / 24)%1);
// parseInt((diff / 1000 / 60 / 60 / 24) % 1)
//获取小时数
let h =
Math.floor((totalTime % (3600 * 24 * 1000)) / 1000 / 3600);

//获取分钟数
let minutes =
Math.floor((((totalTime % (3600 * 24 * 1000)) / 1000) % 3600) / 60);
//获取秒数
let seconds =
Math.floor((((totalTime % (3600 * 24 * 1000)) / 1000) % 3600) % 60).toString()
.padStart(2, "0");;

this.days = day
this.hs = h
this.minutes = minutes
this.seconds = seconds

totalTime -= 1000;
// console.log(totalTime)
} else {
clearInterval(timer); // 停止调用函数
this.isEnd = true
}
}, 1000);

} else {
this.isEnd = true
}
},

getOrderDetail() {
let val = 86400000
// if (res.data.code === 200) {
// this.resData = res.data.data
// let temp = res.data.data
86400000
let payDiff = this.today // status=1 表示待支付 服务器待付款时间差
let deliverDiff = this.timestamp // status=2 表示待收货 服务器待收货时间差 (只会返回其中一种状态)
console.log(payDiff, 'payDiff')
console.log(deliverDiff, 'deliverDiff')
let asd = deliverDiff - payDiff
this.countdown(asd)
// if (payDiff) {
// this.countdown(payDiff)
// } else if (deliverDiff) {
// this.countdown(deliverDiff)
// }
// }
},
// 倒计时
countdown(diff) {
let diffTime = diff // 时间差 s转为ms
this.runBack(diffTime)
},
runBack(diff) {
if (this.mis == '01') {
console.log('删除啦')
}
if (diff > 0) {
let dd = parseInt((diff / 1000 / 60 / 60 / 24) % 1)
let hh = parseInt((diff / 1000 / 60 / 60) % 24)
let mm = parseInt((diff / 1000 / 60) % 60)
let mms = Math.floor((((diff % (3600 * 24 * 1000)) / 1000) % 3600) % 60).toString()
// .padStart(2, "0");;

// (diff % (1000 * 60)) / 1000;

this.day = dd > 9 ? dd : '0' + dd
this.hour = hh > 9 ? hh : '0' + hh
this.minute = mm > 9 ? mm : '0' + mm
this.mis = mms > 9 ? mms : '0' + mms
// 递归的方式使用setTimeOut(),相当于setInterval(),显示动态时间效果
// setTimeOut()方法会返回一个数值ID,便于清除定时器时使用
this.timer = setTimeout(() => {
diff -= 1000
this.runBack(diff)
}, 1000)
} else {
// 订单已过期
this.day = '00'
this.hour = '00'
this.minute = '00'
}
},

注意!!! 仅当笔记使用如有侵权请联系删除

标签:60,console,倒计时,let,支付,diff,today,1000
From: https://www.cnblogs.com/sishe/p/17648379.html

相关文章

  • 在odoo16.0中使用微信支付
    作为国内移动支付的两大提供商之一的微信支付并不在Odoo官方的支持列表中,甚至曾经一度被官方支持的支付宝(Alipay)也在16.0以后的版本中遭到的过时的标记,被并入了asipay的选项中。国内的生态不被官方重视也并非一日,但是需求并不会因为不被重视而消失,因此,我们决定自己来手动实现。......
  • 使用PHP构建安全可靠的电子商务平台 - 实现无缝支付集成
    在构建一个安全可靠的电子商务平台时,实现无缝支付集成是至关重要的一步。通过使用PHP编程语言,您可以轻松地与各种支付网关进行集成,并确保用户的支付信息得到适当的加密和保护。下面是一些步骤和策略,可以帮助您使用PHP构建一个安全可靠的电子商务平台。1.选择适合的支付网关在......
  • TerraMours:Net7对接支付宝当面付
    TerraMours:Net7对接支付宝当面付使用场景:TerraMours开源项目之一:基于GPT与stablediffusionwebui的开源项目:希望能够加入充值入口,并使用tokens数来扣费。后台源码地址:https://github.com/TerraMours/TerraMours_Gpt_Api一:先想清楚自己系统支付的逻辑。最开始是准备想着根据......
  • 支付宝推出全新国际版支付宝
    我是卢松松,点点上面的头像,欢迎关注我哦!看标题是不是觉得绕口,那也没辙。有件事说下:在2023年支付宝合作伙伴大会上,支付宝宣布推出了全新国际版支付宝了!这场大会卢松松有幸参加,也见证了国际版支付宝的发布。这个全新国际版支付宝主要解决了日常消费如打车、订酒店、吃饭结账、景点购......
  • 【24.0】支付相关
    【一】支付课程功能购买课程,付款在购买课程时,用户可以选择不同的支付方式进行付款,如支付宝支付、微信支付或者银联支付。支付宝支付(即便没有账号,也可以测试)支付宝支付是一种方便快捷的支付方式,用户可以使用支付宝账号或者通过扫描二维码等方式完成支付。对于没有支付......
  • 【25.0】路飞支付相关
    【一】订单相关表设计Order订单表OrderDetail订单详情表fromdjango.dbimportmodelsfromluffyCity.apps.course.modelsimportCoursefromluffyCity.apps.user.modelsimportUser#Order订单表classOrder(models.Model):"""订单模型"""......
  • uniapp APP微信登录、支付、分享以及支付宝支付 实战踩坑记录
    1、微信支付和支付宝支付  先上代码、封装好了的组件   html部分    <template> <viewclass="rows"> <!------------------------------充值的弹框开始------------------------------> <uni-popupclass="common-popup"ref="popupChongZhi":i......
  • 互站价值1888全新二开游戏支付通道/话费/电网、抖音、快手、紫水晶带云端源码
    源码修复可用。价格修复,YY业务都可用  腾讯暂时不可用拍前必看:本店所售程序只供测试研究,不得使用于非法用途,不得违反国家法律,不得用于进行违法行为,否则后果自负!购买以后用作他用附带的一切法律责任后果都由购买者承担于本店无任何关系!请先联系客服看好演示后,确认无吴后在拍,免责......
  • 订单支付_阅读订单
                  ......
  • 订单支付_微信支付准备工作
              ......