nodejs实现用户最近一周每日登录次数接口

前言:该功能是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()

将这些代码写在接口里面暴露就能完成了

  • 4
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值