node.js之封装接口

在server.js中封装所需的方法

小例子(实现登录接口),这个接口里面使用了db.js中的findOne,insertOne,updateOne方法,综合性较强

const md5 = require("md5");
app.post("/login",async (req,res)=>{
    try{
        //接收用户账号和密码用于登录
        const {adminName,passWord} = req.body;
        const info = await db.findOne("adminList",{
            adminName,
            passWord:md5(passWord+ "<*%$(@!~*&(**))>")  //对用户所传的密码进行加密比较
        })   //查看adminList表中是否有所传入的用户,且信息完全一致
        
        //在管理员对应的日志表中插入数据
        await db.insertOne("adminLog",{
            adminName,
            logType:(info?1:2), //根据info是否有值判断具体值
            detail:"登陆信息:"+(info?"成功":"失败"),
            addTime:Date.now()
        })
        // 如果用户存在更新管理员最后登陆的时间,使用$set进行更新
        if(info){
            await db.updateOne("adminList",{_id:info._id},{$set:{loginTime:Date.now()}})
            setTimeout(()=>{
                res.json({
                    ok:1,
                    msg:"登陆成功",
                    token:tools.encode({adminName})
                })
            },1000)
        }else{
            setTimeout(()=>{
               res.json({
                    ok:-1,
                    msg:"账号或密码错误"
                })
            },1000)    
        }
    }catch(err){
         res.json({
                ok:-1,
                msg:err
              })
    }
});

小例子 根据id查找对应的一个数据

app.get("/findAdmin/:id",async(req,res)=>{
        const id = req.params.id;
        const info = await db.findOne("adminList",{
            _id:mongodb.ObjectId(id)
        })
       if(info){
        res.json({
            ok:1,
            msg:"查找成功",
            info
        })
       }else{
         res.json({
            ok:-1,
            msg:"查找失败",
        })
       }
})

 

你可能感兴趣的:(node.js创建接口,nodejs,mongodb)