"后來呢看到別人幸福我也會想起那場中途散場的愛情."
如何控制微信小程序在某個時間內訪問需要激勵視頻廣告?當我聽到這句話的時候腦袋里有2種理解:
1發布文章在未來的3天還是5天內閱讀需要激勵視頻廣告
2每天固定的時間短訪問文章需要激勵視廣告
實現這個功能之前我思考了什么?
如果我們需要在2020年6月25日發布文章之后3天需要激勵視頻閱讀,通過的Rest API中我們獲取文章日期
"id": 3786,
"date": "2022-06-25T23:02:16",
"type": "post",
我們將日期格式化之留下年月日
"date":?"2022-06-25",
我們在后臺設置一個字段寫上我們需要廣告的時間范圍
我們在后臺獲取數據時候在文章發布日期上加3,這時候就遇到技術難點:
1如何在字符串上加3,畢竟是時間格式?轉化成時間戳?
2如果我的日期是200-06-30那我設置3天就是下個月了微信小程序判斷字符串,不會js的情況下難度爆炸
后來看到星宿的閱讀緩存功能,我很好奇我之前的腦洞為何如此之大
解決方案
星宿里面有一句受啟發的注釋:獲取當前時間,對的,沒錯微信小程序判斷字符串,就是這樣;當我們打開小程序獲取當前系統時間且格式為年月日
dataTime(){
// 獲取當前時間
var frDate = new Date();
// 獲取年/月/日 先用轉成字符串拼接 在轉為數值做對比
var dateTime= Number(frDate.getUTCFullYear().toString() + (frDate.getMonth()+1).toString() + frDate.getDate().toString())
}
所以我們在后臺字段中輸入對應的格式
最后我們用萬惡的if對比后臺過來的值即可實現微信小程序在某個時間內訪問需要激勵視頻廣告
dataTime(){
// 獲取當前時間
var frDate = new Date();
// 獲取年/月/日 先用轉成字符串拼接 在轉為數值做對比
var dateTime= Number(frDate.getUTCFullYear().toString() + (frDate.getMonth()+1).toString() + frDate.getDate().toString())
// 假設我后臺過來的數值 如果是字符串也需要轉為數字
var fengrui = 2022710;
// 2個數據做對比 判斷執行的函數
if(dateTime <= fengrui){
console.log('我在規定時間內')
}else{
console.log('不在時間內,可以隨意所欲')
}
}
通過以上的學習,如果要實現在每天固定的時間內訪問需要激勵視頻我們是需要獲取當前的時間做對比即可