koa2实现登录注册功能的示例代码
本文介绍了koa2实现登录注册功能的示例代码,分享给大家,具体如下:
这个主要结合前几天的内容,做个实际案例的效果
版本:
项目结构:
前几天,我们把注册和登录的页面演示实现了,今天我们主要实现这么几个内容
注册新用户判断该邮箱是否注册过登录判断是否注册过登录时的密码的正确本文代码地址:https://github。com/Xiaojian/KOA 2-叶子/树/主人/第6课
明天,我们将利用会议实现登录状态判断
今天的这篇是在之前的代码基础上添加的,我们就晒主要的代码
1.编辑user.js
//db/user。jsconst mongose=require(' ./db ')常量模式=mongose .图式;const ceshiSchema=新架构({ email:字符串,名称:字符串,密码:字符串});const MyModel=mongous。模型(‘用户’,ceshiSchema);类Userdb { constructor () { }//查询查询(obj={ }){ 0返回新承诺((解析,拒绝)={ MyModel.find(obj,(err,RES)={ if(err){ reject(err)} resolve(RES)} }查询邮件(em){ 0返回新承诺((解析,拒绝)={ MyModel.find({email: em},(err,RES)={ if(err){ reject(err)} const len=RES . len if(len=1){//存在resolve(res) }else { //不存在resolve(null) } }) })}//保存保存(obj){ const m=新的MyModel(obj)返回新承诺(解析,拒绝)={ m.save((err,RES)={ if(err){ reject(err)} resolve(RES)控制台。log(RES)})})模块。导出=新Userdb()上面主要查询用户,和保存用户
2.编辑登录注册路由
//路由器/索引。jsconst Router=require(' KOA-Router ')//const User=require('./db/user’)const home=new Router()home。get('/',async (ctx)={ let title='首页wait ctx.render('index ',{ title })})//子路由第2页=新路由器()页。get('/404 ',async (ctx)={ let title=' 404 '等待ctx。render(' err ',{ title })})const log in=new Router()log in。get('/',async(CTX)={ let title='登录wait ctx.render('login ',{ title })}).post('/'),async(CTX)={ const data=CTX。请求。身体让queryres=等待用户。querymail(数据。电子邮件)控制台。日志(查询)if(查询){ if(查询[0]).密码===数据。密码){ CTX。body={ ' code ' : 1,' data': queryres[0],' mesg': '登录成功} }else { ctx.body={ 'code': 0,' data': {},' mesg': '密码错误} } }else { ctx.body={ 'code': 0,' data': {},' mesg': '没有该用户,去注册吧} } })常量寄存器=新的Router()寄存器。get('/',async (ctx)={ let title='注册wait ctx.render('register ',{ title })}).post('/'),async(CTX)={ const data=CTX。请求。身体让queryres=等待用户。queryemail(数据。电子邮件)如果(查询){ CTX。body={ ' code ' : 0 0,' data': {},' mesg': '该邮箱已经存在哦} } else {等待用户。保存(数据)CTX。body={ ' code ' : 1,' data ' : },' mesg': '保存成功' } } })//装载所有子路由让路由器=新路由器()路由器。使用('/',home.routes(),home。allowedmethods())路由器。使用('/page ',page.routes(),page。allowedmethods())路由器。使用('/log in ',登录。routes())路由器。使用('/register ',register.routes(),register。allowedmethods())模块。出口=路由器3 .编辑index.js
const Koa=require(' Koa ')const view=require(' Koa-view ')const statis=require(' Koa-static ')const body parser=require(' Koa-body parser ')const path=require(' path ')const router=require(' ./router)const app=new Koa()const静态路径=' ./static ' app。使用(静力学(路径。join(_ dirname,静态路径)))app。使用(body parser())//加载模板引擎app。使用(查看(路径。join(_ _ dirname,')./view '),{扩展名: ' ejs ' })//加载路由中间件app.use(router.routes()).使用(路由器。allowedmethods())app。听(3000,()={ console。日志(' localhost :3000 ')})这个和之前的内容增加了koa-bodyparser对邮政数据的解析,利用ctx.request.body获取
4.启动服务
节点索引。射流研究…打开浏览器localhost:3000
尝试去登录注册一下,打开控制台,就可以看得到相关后台返回的数据
本文结束,下次文章利用会议对登录状态的判断
本文代码地址:https://github。com/Xiaojian/KOA 2-叶子/树/主人/第6课
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持我们。
版权声明:koa2实现登录注册功能的示例代码是由宝哥软件园云端程序自动收集整理而来。如果本文侵犯了你的权益,请联系本站底部QQ或者邮箱删除。

















