• 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:"登陆失败"})
        }
      })
    })
    
  • 相关阅读:
    商业智能添加维度智能简介
    1049 数列的片段和 (20 分)
    1045 快速排序 (25 分)
    1044 火星数字 (20 分)
    1136 A Delayed Palindrome (20 分)
    1128 N Queens Puzzle (20 分)
    1124 Raffle for Weibo Followers (20 分)
    1125 Chain the Ropes (25 分)
    1121 Damn Single (25 分)
    1116 Come on! Let's C (20 分)
  • 原文地址:https://www.cnblogs.com/cc123nice/p/13037724.html
Copyright © 2020-2023  润新知