打卡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,登录接口


浙公网安备 33010602011771号