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