前言:该功能是nodejs完成,可以对应Echarts折线图使用
一、获取七天的日期
const getDay = () => {
let day = new Date()
let week = []
for (let i = 0; i < 7; i++) {
//今天21 获取昨天的日期
day.setDate(day.getDate() - 1)
//获取到的2024/7/20 变为 2024-07-20
//使用日期格式 moment
week.push(moment(day.toLocaleDateString().replace(/\//g, '-'), 'YYYY-MM-DD').format('YYYY-MM-DD'))
}
return week
}
二、获取每天登录次数
const getNumber = login_time => {
return new Promise((resolve, reject) => {
//根据我们的login_log表中的login_time
//login_time的使用一般是前端在登录时调用作为埋点操作
const sql = `select count(*) as length from login_log where login_time = '${login_time}'`
db.query(sql, (err, results) => {
if (err) return reject(err)
resolve(results[0])
})
})
}
三、将每天登录次数和七日日期相结合
async function getAll() {
let week = getDay()
let number = []
for (let i = 0; i < week.length; i++) {
number[i] = await getNumber(week[i])
}
res.send({
week:week,
number:number
})
}
getAll()