zoukankan      html  css  js  c++  java
  • 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:"登陆失败"})
        }
      })
    })
    
  • 相关阅读:
    MySql常用命令
    PHP截断函数mb_substr()
    explode() 字符串转换数组
    php取得当前时间函数
    Apache与Nginx的比较
    thinkphp5.0环境变量配置
    thinkphp5.0配置作用域
    thinkphp5.0动态配置
    Mac 下查看 Android Studio 的 SHA1的方法
    Mac 下 gradle 路径
  • 原文地址:https://www.cnblogs.com/cc123nice/p/13037724.html
Copyright © 2011-2022 走看看