node+mongoDb+Vue+elementUI实现资金管理后台系统(五)---数据增删改查接口

我们用户的所有操作都是要基于token来进行操作,所以我们在profile.js中引入
passport模块

const passport = require("passport");
  1. 添加信息接口
router.post("/add",passport.authenticate("jwt",{session:false}),(req,res)=>{
    const profileFileds = {}

    if(req.body.type)profileFileds.type = req.body.type
    if(req.body.describe)profileFileds.describe = req.body.describe
    if(req.body.income)profileFileds.income = req.body.income
    if(req.body.expend)profileFileds.expend = req.body.expend
    if(req.body.cash)profileFileds.cash = req.body.cash
    if(req.body.remark)profileFileds.remark = req.body.remark

    new Profile(profileFileds).save()
        .then((profile)=>{
            res.json(profile)
        })
})
  1. 获取所有的信息接口
router.get("/",passport.authenticate("jwt",{session:false}),(req,res)=>{
    Profile.find()
        .then(profile=>{
            if(!profile){
                return res.status(404).json("没有任何内容!")
            }
            res.json(profile);
        })
        .catch(err=>{
            res.json("查询错误!");
        })
})
  1. 获取单个信息接口
router.get("/:id",passport.authenticate("jwt",{session:false}),(req,res)=>{
    Profile.findOne({
        _id:req.params.id
    })
        .then(profile=>{
            if(!profile){
                return res.status(404).json("没有任何内容!")
            }
            res.json(profile);
        })
        .catch(err=>{
            res.json("查询错误!");
        })
})
  1. 编辑信息接口
router.post("/edit/:id",passport.authenticate("jwt",{session:false}),(req,res)=>{
    const profileFileds = {}

    if(req.body.type)profileFileds.type = req.body.type
    if(req.body.describe)profileFileds.describe = req.body.describe
    if(req.body.income)profileFileds.income = req.body.income
    if(req.body.expend)profileFileds.expend = req.body.expend
    if(req.body.cash)profileFileds.cash = req.body.cash
    if(req.body.remark)profileFileds.remark = req.body.remark

    Profile.findOneAndUpdate(
        {_id:req.params.id},
        {$set:profileFileds},
        {new:true}
    ).then(profile=>{
        res.json(profile)
    })
})
  1. 删除信息接口
router.delete("/delete/:id",passport.authenticate("jwt",{session:false}),(req,res)=>{
    Profile.findOneAndRemove({
        _id:req.params.id
    })
    .then(profile=>{
        profile.save()
            .then(profile=>{
                res.json(profile)
            })
    }).catch(err=>{
        res.json("删除失败")
    })
})

你可能感兴趣的:(前端框架,nodejs,vue)