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:"登陆失败"})
}
})
})