通过百度api
const axios = require('axios'); const fs = require('fs'); const {format} = require("./util"); let arr = [] let data = fs.readFileSync('holiday.json'); const {today} = require("./util"); function getRemote(){ axios.get("http://opendata.baidu.com/api.php?query=2020%E5%B9%B4&resource_id=6018&format=json").then(res=>{ res.data.data[0].holiday.forEach(item=> item.list.forEach(v=>arr.push(v.date))) fs.writeFileSync("holiday.json",JSON.stringify(arr)) }).catch(e=>axios.get("http://x.com:28080/dingTalk?content=查询时间失败!")) } const isHoliday = function (date){ if(data.toString()){ arr= JSON.parse(data.toString()) }else{ getRemote() } const weekDay = ["星期天", "星期一", "星期二", "星期三", "星期四", "星期五", "星期六"]; let myDate = new Date(Date.parse(today.replace(/-/g, "/"))); if (arr.indexOf(today) > -1){ return true } return weekDay[myDate.getDay()] === "星期六" || weekDay[myDate.getDay()] === "星期天"; } console.log("今天是节假日吗?",isHoliday()); module.exports = isHoliday