打卡node day06 ---登录和注册接口

1, nodemon  

自动更新代码

npm i -g nodemon

启动: nodemon server.js

2,注册接口

1)目录结构

2)server.js

const express = require('express');
// 链接数据库
const db = require('./db/connect')

const app = express();

// 解析req.body
const bodyParser = require('body-parser')
app.use(bodyParser.urlencoded({ extended: false }))
app.use(bodyParser.json())

// 用户相关的接口
const userRouter = require('./router/userRouter')
app.use('/user', userRouter)

app.listen(3000,()=>{
  console.log('server start')
})

3)connect.js

var mongoose = require('mongoose');
// 链接数据库
mongoose.connect('mongodb://localhost/local', {useUnifiedTopology: true,useNewUrlParser: true  });
var db = mongoose.connection;
db.on('error', console.error.bind(console, 'connection error:'));
db.once('open', function() {
  console.log('db ok')
});

4)userRouter.js

 

var express = require('express')
var router = express.Router()
// 引入userModel  数据库操作
const User = require('../db/model/userModel')


// 用户注册 /user/reg
router.post('/reg', function (req, res) {
  // 获取数据
  let {username, password} = req.body
  if(!username || !password) return res.send({code:400,message:'用户名及密码必填!!!'})
  // 数据处理
  // 判断数据库里存在?
  User.find({username}).then(data=>{
    if(data.length > 0) {
      res.send({code:405,message:'用户名已存在'})
    }else {
      return  User.insertMany({username,password})
    }
  })
  .then(data=>{
    res.send({code:200,message:'注册成功'})
  })
  .catch(err=>{
    res.send({code:500,message:'注册错误'})
  })
})

// 用户登录 /user/login
router.post('/login', function (req, res) {
  // 获取数据
  let {username, password} = req.body
  if(!username || !password) return res.send({code:400,message:'用户名及密码必填!!!'})
  // 数据处理
  User.find({username,password})
  .then(data=>{
    // console.log(data) 数组
    if(data.length > 0) {
       res.send({code:200,message:'登录成功'})
    }else {
      res.send({code:401,message:'用户名或密码错误'})
    }
  
  })
  .catch(err=>{
    res.send({code:500,message:'内部错误'})
  })
})
 
module.exports = router

 

5)userModel.js

var mongoose = require('mongoose');
// schema 对象
var userSchema = new mongoose.Schema({
  username:{type:String,required:true},
  password:{type:String,required:true},
  age:Number,
  sex:{type:String,default:0},
});
// 转数据模型
const User = mongoose.model('user', userSchema);
module.exports= User

 

 

 

 6)数据库结果

 

 

 

 

3,登录接口

 

 

posted @ 2020-03-19 15:19  学习。。。  阅读(117)  评论(0编辑  收藏  举报