2.1: 学子商城--用户登录

用户登录商城用户操作行为,操作用户输入用户名和密码

点击登录按钮,一种情况登录成功 一种情况登录失败

"用户名或密码有误请检查"

2.2:如何实现用户登录

(1)数据库 xz_login 用户登录表[id;uname;upwd]

id INT

uname VARCHAR(25)

upwd  VARCHAR(32) 加密处理

xz_login

1  tom     123

2  jerry     123

知识扩展:加密通过复杂算法将明文加密转换密文保存

原来密码 123(明文)  加密  219ds98kjkjds9832wiu32(密文)

知识扩展:单向加密 md5 加密

在mysql数据库有一个函数md5('123')

知识扩展:如何提高安全性 让用户密码8位以上

大写小写数字特殊符号  ABcOO0_9

操作: upwd VARCHAR(32)

 (2)node.js(技巧)

-请求方法 get 请求地址  /login

-参数 用户名密码

-sql   SELECT id FROM xz_login

WHERE uname = ? AND upwd = md5(?)

技巧:用户输入密码加密后与数据库密文比较

pool.quey(sql,[uname,upwd],(err,result)=>{

if(result.length==0) 用户名或密码错误

})

-json {code:1,msg:"登录成功"}

{code:-1,msg:"用户名或密码错误"}

(3)脚手架表单

*-创建组件      src/components/home/Login.vue

*-组件分配路径  /Login

*-创建卡片 mui

*-在卡片创建表单

#不要添加action属性

#登录按钮 <input type="button" value="登录" />

-为 button绑定点击事件发送 ajax

(4)差一点如果用户登录成将用户编号 id保存服务器端对象

session

 2.3: 学子商城--购物车

购物车保存用户想购物买商品临时对象

购物车可以保存在

(1)数据库  ok

(2)cookie

2.4: 学子商城--将商品添加至购物车-开发数据库

xz_cart 购物车表 id count price pid uid

id 编号;count 购买数量;price 购买时价格;pid 购物商品编号;

uid 登录用户编号

2.5: 学子商城--将商品添加至购物车-node.js(重点 非阻塞)

请求方式 GET 请求路径 /addcart

参数:pid/count/uid/price

sql:

-查询当前用户是否己经将商品添加至购物车

SELECT id FROM xz_cart WHERE pid = ? AND uid = ?

-更新数量

UPDATE xz_cart SET count=count+ num WHERE pid=? AND uid=?

-将商品信息添加购物车

INSERT INTO ....

json

{code:1,msg:"商品添加成功"}

 2.6: 学子商城--将商品添加至购物车-node.js解决阻塞问题

(1)SELECT id FROM xz_cart WHERE uid = ? AND pid = ?

pool.query(sql,[uid,pid],(err,result)=>{

#回调函数,什么时候调用函数

if(result.length==0){

var sql = "INSERT ..."

}else{

var sql = "UPDATE..."

}

(2)pool.query(sql,(err,result)=>{

})

})

常见错误

1: 无法访问此网站   检查node.js 出错信息

原因:node.js因为出错停止工作

SQL syntax sql语句不正确附近

2: Table 'xz.xz_cart' doesn't exist

xz_cart1 表不存在

原因:表名 拼写错误/ 表不存在

3: Unknown column 'count1' in 'field list'

原因:列名不正确

 2.7: 学子商城--将商品添加至购物车-脚手架

(1)GoodInfo.vue

(2)有一个按钮 "加入购物车 "

(3)绑定点击事件

(4)pid uid=1 price

2.8: 学子商城--购物车列表/全选/清空/批量删除/删除/..

(1)库xz_cart[id/count/price/pid/uid]

(2)node.js查询购物车所有数据

- 参数 uid

- sql   SELECT id,count,price,pid,uid,lname

xz_cart/xz_laptop

-json   {code:1,data:[]}

  (3)脚手架对应组件显示购物车

*-创建空组件 src/components/home/ShopCart.vue

*-为组件分配路径  /ShopCart

*-mui组件库 card组件

*-中间循环显示购物车中商品内容

[ ]  商品名称   价格    数量   (删除)

vue登录功能和将商品添加至购物车实现的更多相关文章

  1. 一步步带你做vue后台管理框架(三)——登录功能

    系列教程<一步步带你做vue后台管理框架>第三课 github地址:vue-framework-wz 线上体验地址:立即体验 <一步步带你做vue后台管理框架>第一课:介绍框架 ...

  2. node+vue进阶【课程学习系统项目实战详细讲解】打通前后端全栈开发(1):创建项目,完成登录功能

    第一章 建议学习时间8小时·分两次学习      总项目预计10章 学习方式:详细阅读,并手动实现相关代码(如果没有node和vue基础,请学习前面的vue和node基础博客[共10章]) 视频教程地 ...

  3. Vue电商后台管理系统项目第1天-基本环境搭建&登录功能

    基本环境搭建完成 安装npm包:npm -S i vue vue-router axios element-ui 配置Eslint: 打开设置,搜索Eslint拓展,然后将下面代码覆盖进去即可 { , ...

  4. Vue+Vuex 实现自动登录功能

    刚刚实现了Vue+Vuex的自动登录功能,在实现的时候遇到了一些问题,这里记录一下: 因为这个还不够完善,在写完下列代码后,又进行了补充,可以从https://www.cnblogs.com/xiao ...

  5. 8、ABPZero系列教程之拼多多卖家工具 添加手机注册登录功能

    现在网站基本都用手机注册,很少用邮箱注册,本篇内容比较多,代码我会尽量加备注,有些操作需要连续添加几个文件才不报错,如果VS显示错误,请继续后续步骤. 前面已经有一篇文章讲到集成短信发送模块:http ...

  6. Webstorm添加新建.vue文件功能并支持高亮vue语法和es6语法

    转载:https://blog.csdn.net/qq_33008701/article/details/56486893 Webstorm 添加新建.vue文件功能并支持高亮vue语法和es6语法 ...

  7. JAVAEE——宜立方商城04:图片服务器FastDFS、富文本编辑器KindEditor、商品添加功能完成

    1. 学习计划 1.图片上传 a) 图片服务器FastDFS b) 图片上传功能实现 2.富文本编辑器的使用KindEditor 3.商品添加功能完成 2. 图片服务器的安装 1.存储空间可扩展. 2 ...

  8. Webstorm 添加新建.vue文件功能并支持高亮vue语法和es6语法

    添加新建.vue文件功能 ①Webstorm 右上角File-Plugins 搜索vue如果没有就去下载 点击serch in repositories ②点击安装vue.js ③安装成功后点击右下角 ...

  9. Vue实现仿淘宝商品详情属性选择的功能

    Vue实现仿淘宝商品详情属性选择的功能 先看下效果图:(同个属性内部单选,属性与属性之间可以多选) 主要实现过程: 所使用到的数据类型是(一个大数组里面嵌套了另一个数组)具体格式如下:   attrA ...

随机推荐

  1. 从零开始入门 K8s | Kubernetes 网络概念及策略控制

    作者 | 阿里巴巴高级技术专家  叶磊 一.Kubernetes 基本网络模型 本文来介绍一下 Kubernetes 对网络模型的一些想法.大家知道 Kubernetes 对于网络具体实现方案,没有什 ...

  2. vodevs3031 最富有的人

    在你的面前有n堆金子,你只能取走其中的两堆,且总价值为这两堆金子的xor值,你想成为最富有的人,你就要有所选择. 输入描述 Input Description 第一行包含两个正整数n,表示有n堆金子. ...

  3. 设计模式常见面试知识点总结(Java版)

    设计模式 这篇总结主要是基于我设计模式系列的文章而形成的的.主要是把重要的知识点用自己的话说了一遍,可能会有一些错误,还望见谅和指点.谢谢 更多详细内容可以到我的cdsn博客上查看: https:// ...

  4. 解决Maven依赖jar包冲突总结

    maven导入jar包中的一些概念:      直接依赖:项目中直接导入的jar包,就是该项目的直接依赖包.      传递依赖:项目中没有直接导入的jar包,可以通过项目直接依赖jar包传递到项目中 ...

  5. Python_深拷贝和浅拷贝

    深拷贝与浅拷贝 import copy v = 123 v1 = copy.copy(v) #浅拷贝 v2 = copy.deepcopy(v) #深拷贝 **拷贝只拷贝可变数据类型,浅拷贝只拷贝第一 ...

  6. 实验吧之【简单的sql注入 1、2、3】

    实验吧的三道sql注入(感觉实验吧大部分web都是注入) 简单的SQL注入 地址:http://ctf5.shiyanbar.com/423/web/ 这道题也是sql注入,输入1,页面显示正常,输出 ...

  7. Vue学习笔记和代码记录

    ## 安装 * 直接引入链接:建议初学者使用:* 通过node.js的NPM安装Vue:* 通过node.js的NPM安装Vue-cli脚手架(推荐安装方式): ## 基础 ### 数据类型 * 字符 ...

  8. c++11::std::remove_reference

    引用移除 : remove_reference 引用折叠规则 A& & 折叠成 A&  A& && 折叠成 A&  A&& &a ...

  9. div设置contenteditable 的小技巧

    div设置contenteditable="true",即可编辑,除从网页粘贴过来内容的格式 <div contenteditable="true" id ...

  10. 卡特兰(Catalan)数入门详解

    也许更好的阅读体验 基本概念 介绍 学卡特兰数我觉得可能比组合数要难一点,因为组合数可以很明确的告诉你那个公式是在干什么,而卡特兰数却像是在用大量例子来解释什么时卡特兰数 这里,我对卡特兰数做一点自己 ...