最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Vue實現(xiàn)訂單支付倒計時功能

 更新時間:2023年08月16日 09:55:43   作者:Jiang_JY  
這篇文章主要給大家介紹了Vue實現(xiàn)訂單支付倒計時功能,倒計時這要運用在創(chuàng)建訂單后15分鐘內(nèi)進(jìn)行支付,否則訂單取消,本文結(jié)合示例代碼給大家詳細(xì)講解,需要的朋友可以參考下

需求

創(chuàng)建訂單后15分鐘內(nèi)進(jìn)行支付,否則訂單取消。

實現(xiàn)

思路:

獲取當(dāng)前時間和支付超時時間(在創(chuàng)建時間的基礎(chǔ)上增加15分鐘即為超時時間,倒計時多久根據(jù)自己的實際需求,這里為15分鐘),支付超時時間減去當(dāng)前時間獲取間隔的毫秒數(shù)(ms,1s = 1000ms),若為負(fù)數(shù)則表示訂單超時,若為正數(shù)表示未超時,然后利用 setInterval 每過一秒間隔時間 -1000,當(dāng)間隔時間小于等于0時,倒計時結(jié)束支付超時,取消訂單。

代碼實現(xiàn):

data(){
	return {
		minutes: '', //倒計時分鐘
		seconds: '', //倒計時秒
		isEnd: false, //支付超時
	}
}
methods: {
        // 倒計時
        countDown(){    
        	// 當(dāng)前時間
            let nowTime = new Date()
            // 獲取創(chuàng)建訂單15分鐘后的時間,this.payForm.create_time:訂單創(chuàng)建時間
            let endTime = new Date(this.payForm.create_time);
            endTime.setMinutes(endTime.getMinutes() + 15) // 結(jié)束時間,獲取創(chuàng)建訂單15分鐘后的時間
            // 兩個日期相差的時間戳,以毫秒為單位(1000ms = 1s)
            let totalTime = endTime - nowTime
            // 結(jié)束時間大于現(xiàn)在的時間
            if(totalTime>0){
                let timer = setInterval(() => {
                    if (totalTime >= 0) {
                        //獲取分鐘數(shù)
                        let minutes = 
                            Math.floor((((totalTime % (3600 * 24 * 1000)) / 1000) % 3600) / 60);
                        //獲取秒數(shù)
                        let seconds = 
                            Math.floor((((totalTime % (3600 * 24 * 1000)) / 1000) % 3600) % 60).toString().padStart(2, "0");;
                        this.minutes = minutes
                        this.seconds = seconds
                        totalTime -= 1000;
                        // console.log(totalTime)
                    } else {
                        clearInterval(timer); // 停止調(diào)用函數(shù) 
                        this.isEnd = true
                    }
                }, 1000); 
            }else{
                this.isEnd = true
            }  
}

拓展

上面案例只需要進(jìn)行分鐘及秒的計算,倒計時時間長點的話可能會涉及到天數(shù)及小時數(shù)的計算,思路與上面案例相同,了解天數(shù)及小時數(shù)的時間戳轉(zhuǎn)換公式即可,碼代如下。

//totalTime: 時間間隔,單位ms
let totalTime = endTime - createTime
//獲取天數(shù)
let day = Math.floor(totalTime / 1000 / 3600 / 24);
//獲取小時數(shù)
let h = Math.floor((totalTime % (3600 * 24 * 1000)) / 1000 / 3600);

到此這篇關(guān)于Vue實現(xiàn)訂單支付倒計時功能的文章就介紹到這了,更多相關(guān)Vue訂單支付倒計時內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

最新評論

盐源县| 皮山县| 富锦市| 玛纳斯县| 弥渡县| 益阳市| 通辽市| 巴彦县| 朝阳区| 通辽市| 甘德县| 吉隆县| 青海省| 洪洞县| 台山市| 墨竹工卡县| 织金县| 榆树市| 海宁市| 伊宁县| 南岸区| 肃北| 兴宁市| 高唐县| 炉霍县| 永胜县| 迁西县| 清水河县| 漯河市| 丰顺县| 乐平市| 沈阳市| 阿拉善盟| 阜新| 西宁市| 嘉鱼县| 剑川县| 江都市| 中西区| 龙山县| 沙田区|