判断用户是否登录

中间件

app/middleware/userauth.js

module.exports = (options, app) => {

return async function init(ctx, next) {

//判断前台用户是否登录 如果登录可以进入 ( 去结算 用户中心) 如果没有登录直接跳转到登录

var userinfo = ctx.service.cookies.get('userinfo');

if (userinfo && userinfo._id && userinfo.phone) {

//判断数据库里面有没有当前用户

var userResutl = await ctx.model.User.find({ "_id": userinfo._id, "phone": userinfo.phone });

if (userResutl && userResutl.length > 0) {

//注意

await next();

} else {

ctx.redirect('/login');

}

} else {

ctx.redirect('/login');

}

};

};

router

var userauthMiddleware = app.middleware.userauth({}, app);

router.get('/buy/checkout', initMiddleware, userauthMiddleware, controller.default.buy.checkout);

}

效果

点击结算,如果没有登录,就跳转到登录页面

购物车到结算页面

controller

app/controller/default/buy.js

async checkout() {

var orderList = [];

var allPrice = 0;

var cartList = this.service.cookies.get('cartList');

if (cartList && cartList.length > 0) {

for (var i = 0; i < cartList.length; i++) {

if (cartList[i].checked) {

orderList.push(cartList[i]);

allPrice += cartList[i].price * cartList[i].num;

}

}

await this.ctx.render('/default/checkout.html', {

orderList: orderList,

allPrice: allPrice

})

} else {

this.ctx.redirect('/cart')

}

}

view

app/view/default/checkout.html

元 x

应付总额:

效果

html页面判断是否登录,egg(103)--egg之定义公共的中间件判断用户是否登录以及去结算页面制作...相关推荐

  1. Python笔记_81_结算页面_订单模型_优惠券

    文章目录 结算页面 订单模型 把当前子应用注册到xadmin中 后端实现生成订单的api接口 使用django提供的mysql事务操作保证下单过程中的数据一致性 前端请求生成订单 前端请求后端的订单信 ...

  2. php sessionid 重复,php_ session_id 限制同一用户同时登录

    出于信息安全的考虑,希望给每个能进入系统的人员一个账户,而不是所有人共用一个账户,并且一个账户同时只能一人登陆.刚开始的做法是登陆加锁,当用户登陆之后,对此用户进行标记,若此用户未下线状态下进行第二次 ...

  3. 登录失败未授权用户在此计算机上win10,win10系统未授予用户请求登录类型该如何解决?...

    Win10系统使用电脑时,常常会遇到win10系统未授予用户请求登录的问题.出现win10系统未授予用户请求登录的问题该怎么解决呢?就此问题,下面小编浅析win10未授予用户请求登录类型如何设置. w ...

  4. egg(113)--egg之登录成功跳转到登录之前的页面

    流程 点击登录按钮,前端把当前的url,传给后台 后台把url传给,登录页面 登录页面,点击登录,跳转到登录前的页面 效果 第一步 第二步 第三步 router router.get('/login' ...

  5. egg(115)--egg之订单页面筛选,搜索

    model 修改order_item,增加uid appmodelorder_item.js module.exports = app => {const mongoose = app.mong ...

  6. python验证用户登录的判断_python怎么判断用户是否登录?

    python中判断用户是否登录的方法:def cmdbindex(req): if not request.user.is_authenticated(): return render(request ...

  7. 基于 Egg.js 框架的 Node.js 服务构建之用户管理设计

    转载需经本人同意且标注本文原始地址:https://zhaomenghuan.github.io/blog/nodejs-eggjs-usersytem.html 前言 近来公司需要构建一套 EMM( ...

  8. vue路由守卫判断用户是否登录,如果没登陆就跳转到登录

    router.beforeEach((to, from, next) => {//路由跳转中const nextRoute = ['About'];//将所有需要登陆才显示的页面的路由都放进一个 ...

  9. uniapp 判断是否登录,是跳转至首页,否跳转至登录页

    1.问题 在使用uni-app开发app 打包完成后 用户没登录首次进入跳转登录页 登录跳转至首页! 平常解决方法是onLaunch生命周期里面判断用户是否登录 但是有一个不好的体验就是每次进入程序先 ...

最新文章

  1. 将Excel文件数据库导入SQL Server
  2. MM的SQLDMO- -哈哈(数据备份与恢复篇)
  3. [js对象]JS入门之Global对象
  4. mysql 创建库设置中文
  5. Apache服务器二级域名的完美实现
  6. 消费升级背景下零食行业发展报告_零食行业进入4.0时代,蔬菜、水果、肉制品站上万亿风口!...
  7. 如何使用Gradle外部脚本进行项目构建
  8. 哪个学校既教计算机教英语翻译,教学计算机专业的英语翻译.doc
  9. MariaDB多源复制环境搭建(多主一丛)
  10. Codeforces Round #243 (Div. 2) A~C
  11. linux 用shell比较两个整数的大小
  12. Confluence 6 配置备份
  13. eclipse php 404错误,关于php:Eclipse Subversion插件Subclipse显示错误
  14. 十几减9的口算题_一年级数学《口算十几减9》教案
  15. 高通Q888内核源码分析--概述篇
  16. 网络游戏源代码分析_为您的游戏选择正确的网络代码
  17. 利用html做一个3D 图片动态效果
  18. 微型计算机温度控制系统,单片机实现PC机温度控制系统方案
  19. Fortran 90:Fortran 学习笔记(一)
  20. 关于mindspore.ops.operation.Conv2d算子使用

热门文章

  1. Java 将中缀表达式转换成后缀表达式
  2. 新版CSDN中如何快速转载别人的CSDN博客,详细方法与步骤!!!
  3. 切面是异步还是同步操作‘_分布式中采用Logback的MDC机制与AOP切面结合串联日志...
  4. 【文章】工作之余,放松心情
  5. matplotlib setting zh-hans
  6. java和C++有什么异同
  7. 数据类型总结(干货)
  8. INNODB表快速迁移
  9. hadoop 2.7.3伪分布式安装
  10. 清除浮动塌陷的4种经典套路