react项目 之 server请求框架

在routes/index.js下修改

1、利用express自动生成框架

此在之前已经记过,不再赘述

或者只需导入库与router

var express = require('express');
var router = express.Router();
module.exports = router;

2、导入models中所需model

mongod中已有介绍

const {UserModel}=require('../db/models')

3、按需求写接口即可

按照文档书写

注意点:

1、post请求数据通过req.body获得

2、调用UserModel进行数据库操作【 增加 用对象,其他 删改查 直接用类名】

3、res.cookie('userid',user._id,{maxAge:1000*60*60*24}) 通过此种方式设置cookie从而实现登陆状态

4、res.send({code:0,data}) 接口返回的数据

5、在find中可增加 filter 字段 {password:0} 置为0即可过滤

router.post('/register',function(req,res){
  const {username,password,type} = req.body
  UserModel.findOne({username},function(err,user){
    if(user){
      res.send({code:1,msg:"此用户已存在"})
    }else{
      new UserModel({username,type,password:md5(password)}).save(function(err,user){
        const data={_id:user._id,username,type}
        res.cookie('userid',user._id,{maxAge:1000*60*60*24})
        res.send({code:0,data})
      })
    }
  })
})

router.post('/login',function(req,res){
  const {username,password} = req.body
  UserModel.findOne({username,password:md5(password)},filter,function(err,user){
    if(user){
      const {_id,type} = user
      const data={_id,username,type}
      res.cookie('userid',_id,{maxAge:1000*60*60*24})
      res.send({code:1,msg:"成功登陆"})
    }else{
      res.send({code:0,msg:"登陆失败"})
    }
  })
})
posted @ 2020-06-03 15:18  cc123nice  阅读(429)  评论(0编辑  收藏  举报