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

打卡node day06 ---登录和注册接口的更多相关文章

  1. 短信登录与注册接口、前端所有方式登录注册页面、redis数据库介绍与安装

    今日内容概要 短信登陆接口 短信注册接口 登陆注册前端 redis介绍和安装 内容详细 1.短信登陆接口 在视图类 user/views.py中修改并添加: from .serializer impo ...

  2. 三:后台的登录注册接口(moon项目,前面有一,二)

    ** 项目一共有 16 个页面,是一个电商网销项目,自己在网上的某网上找的一个要做的网站的设计图: 页面主要包括:  登录页 -- 注册页 -- 首页 -- 产品列表页 -- 产品详情页 -- 会员中 ...

  3. node express 登录拦截器 request接口请求

    1.拦截器 拦截器可以根据需要 做权限拦截 登录只是权限的一种, 思路是req.session.user判断用户session是否存在,是否是需要拦截的地址, 如果是就跳转登录页,或其他页, 如果非需 ...

  4. 路飞-Redis的使用,登录注册接口

    复习 """ 1.git项目开发 提供公钥成为开发者.copy项目.开发项目 先commit.再pull(可能出现冲突).最后push 特殊功能可以新建dev的子分支进行 ...

  5. 利用开源项目使discus论坛与java应用同步登录和注册

    最近做了一个资源库系统的项目,老师说可以搭建开源论坛替代自己开发社交模块(评论啊,反馈啊)来减轻负担,甚至提到了要给每个资源开一帖的功能..使我十分怀疑到底是减轻负担还是增加负担...不过怀疑归怀疑, ...

  6. Django用户登录与注册系统

    一.创建项目 1.1.创建项目和app python manage.py startproject mysite_login python manage.py startapp login 1.2.设 ...

  7. 不用框架,原生使用python做注册接口/登陆接口/充值接口的测试,做的数据/代码分离

    注意充值时候,cookie的处理方法,还是原来的三种方法 1.操作数据文件  do_exclel.py # -*- conding:utr-8 -*- #@Time :2018/11/8 22:46 ...

  8. IDEA搭建SSM实现登录、注册,数据增删改查功能

     本博文的源代码:百度云盘/java/java实例/SSM实例/SSM实现登录注册,增删改查/IDEA搭建SSM实现登录,注册,增删改查功能.zip 搭建空的Maven项目 使用Intellij id ...

  9. Django商城项目笔记No.5用户部分-注册接口-短信验证码

    Django商城项目笔记No.4用户部分-注册接口-短信验证码 短信验证码也保存在redis里(sms_code_15101234567) 在views中新增SMSCodeView类视图,并且写出步骤 ...

  10. App的登陆注册接口安全设计

    最近一APP产品,我担任的主要模块之一是后台登录注册模块的接口开发.基本完成,就说说并记录一下关于登录注册接口的一些东西,因为也涉及到接口的安全方面的问题. 1.先一般的app的登录注册接口安全设计上 ...

随机推荐

  1. mapreduce和yarn集群

    mapreduce : 先分再合,分而治之 分布式计算概念: 计算方式,与集中式计算相对.将应用拆分成小的部分,分配给多台计算机处理,mapreduce是分布式的计算框架. MR的特点:易于编程,良好 ...

  2. docker下载java镜像,执行xxx.jar文件

    docker pull java:8u111

  3. 「postOI」Lost Array

    题意 有一个序列 \(A=\{a_1, a_2, ..., a_n\}\),按如下方式构造一个 \((n + 1) \times (n + 1)\) 的矩阵 \(B\): \(B_{i0}=0\)(\ ...

  4. 手写g++编译命令行工具笔记

    基本想法 为什么要写 CPPRUN: 如果要开警告开关,敲完整的编译代码还挺麻烦的 想要编译与运行一次性完成 Windows 的控制台本来是 cmd,后来有了 Powershell,但是后者不能用 & ...

  5. 【博客】如何在Github上创建博客

    [博客]如何在Github上创建博客 1. 安装nodejs windows安装npm教程--nodejs 2. 安装hexo npm install -g hexo-cli 3. 搭建博客 $ he ...

  6. Hyperf微服务

    https://hyperf.wiki 状态码含义 https://segmentfault.com/a/1190000002523655

  7. Angular中播放RTSP

    要使用这个库需要先安装 我使用了npm来安装 https://www.npmjs.com/package/webrtc-streamer 需要启动webrtc-streamer后端,这里有下载地址 h ...

  8. Goreplay流量回放-使用真实流量测试

    介绍: 1.goreplay是一个开源的网络监控工具,它可以记录你的实时流量,并用于跟踪.负载测试.监控和详细分析. 2.goreplay 是一款从生产环境 copy 流量到测试环境的工具,且不会影响 ...

  9. print语法

    循环体 是 缩进的 :缩进是 Python 组织语句的方式.在交互式命令行里,得为每个缩输入制表符或空格.使用文本编辑器可以实现更复杂的输入方式:所有像样的文本编辑器都支持自动缩进.交互式输入复合语句 ...

  10. 音视频技术入门课- 05 使用FFmpeg与OBS进行直播推流

    做直播推流的前提是要有直播服务器接收直播流,所以需要我们自己建设一个流媒体服务器. 流媒体服务器SRS SRS是一个简单高效的实时视频服务器,支持RTMP/WebRTC/HLS/HTTP-FLV/SR ...