vue登录功能和将商品添加至购物车实现
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登录功能和将商品添加至购物车实现的更多相关文章
- 一步步带你做vue后台管理框架(三)——登录功能
系列教程<一步步带你做vue后台管理框架>第三课 github地址:vue-framework-wz 线上体验地址:立即体验 <一步步带你做vue后台管理框架>第一课:介绍框架 ...
- node+vue进阶【课程学习系统项目实战详细讲解】打通前后端全栈开发(1):创建项目,完成登录功能
第一章 建议学习时间8小时·分两次学习 总项目预计10章 学习方式:详细阅读,并手动实现相关代码(如果没有node和vue基础,请学习前面的vue和node基础博客[共10章]) 视频教程地 ...
- Vue电商后台管理系统项目第1天-基本环境搭建&登录功能
基本环境搭建完成 安装npm包:npm -S i vue vue-router axios element-ui 配置Eslint: 打开设置,搜索Eslint拓展,然后将下面代码覆盖进去即可 { , ...
- Vue+Vuex 实现自动登录功能
刚刚实现了Vue+Vuex的自动登录功能,在实现的时候遇到了一些问题,这里记录一下: 因为这个还不够完善,在写完下列代码后,又进行了补充,可以从https://www.cnblogs.com/xiao ...
- 8、ABPZero系列教程之拼多多卖家工具 添加手机注册登录功能
现在网站基本都用手机注册,很少用邮箱注册,本篇内容比较多,代码我会尽量加备注,有些操作需要连续添加几个文件才不报错,如果VS显示错误,请继续后续步骤. 前面已经有一篇文章讲到集成短信发送模块:http ...
- Webstorm添加新建.vue文件功能并支持高亮vue语法和es6语法
转载:https://blog.csdn.net/qq_33008701/article/details/56486893 Webstorm 添加新建.vue文件功能并支持高亮vue语法和es6语法 ...
- JAVAEE——宜立方商城04:图片服务器FastDFS、富文本编辑器KindEditor、商品添加功能完成
1. 学习计划 1.图片上传 a) 图片服务器FastDFS b) 图片上传功能实现 2.富文本编辑器的使用KindEditor 3.商品添加功能完成 2. 图片服务器的安装 1.存储空间可扩展. 2 ...
- Webstorm 添加新建.vue文件功能并支持高亮vue语法和es6语法
添加新建.vue文件功能 ①Webstorm 右上角File-Plugins 搜索vue如果没有就去下载 点击serch in repositories ②点击安装vue.js ③安装成功后点击右下角 ...
- Vue实现仿淘宝商品详情属性选择的功能
Vue实现仿淘宝商品详情属性选择的功能 先看下效果图:(同个属性内部单选,属性与属性之间可以多选) 主要实现过程: 所使用到的数据类型是(一个大数组里面嵌套了另一个数组)具体格式如下: attrA ...
随机推荐
- Windows 7 SP1官方原版ISO系统镜像所有版本下载集合
========================================================================== Windows 7 With SP1 32位简体中 ...
- Python:的web爬虫实现及原理(BeautifulSoup工具)
最近一直在学习python,学习完了基本语法就练习了一个爬虫demo,下面总结下. 主要逻辑是 1)初始化url管理器,也就是将rooturl加入到url管理器中 2)在url管理器中得到新的new_ ...
- 浅谈爬虫 《一》 ===python
浅谈爬虫 <一> ===python ‘’正文之前先啰嗦一下,准确来说,在下还只是一个刚入门IT世界的菜鸟,工作近两年了,之前做前端的时候就想写博客来着,现在都转做python了,如果还 ...
- PHP代码审计基础-中级篇
初级篇更多是对那些已有的版本漏洞分析,存在安全问题的函数进行讲解,中级篇更多是针对用户输入对漏洞进行利用 中级篇更多是考虑由用户输入导致的安全问题. 预备工具首先要有php本地环境可以调试代码 总结就 ...
- 算法问题实战策略 QUADTREE
地址 https://algospot.com/judge/problem/read/QUADTREE 将压缩字符串还原后翻转再次压缩的朴素做法 在数据量庞大的情况下是不可取的 所以需要在压缩的情况下 ...
- 06 Node.js学习笔记之自动路由
在以往客户端请求的文件,我们都得判断匹配才能返回相应的数据,其实我们可以设置一个自动路由,就可以不用每次去判断用户访问的是那个文件了 //1.载入http和fs模块 var http=require( ...
- [洛谷P2396]yyy loves Maths VII $\&$ [CF327E]Axis Walking
这道题是一个状压动归题.子集生成,每一位表示是否选择了第$i$个数. 转移:$f[S] = \sum f[S-\{x\}]$且$x\in S$,当该子集所有元素的和为$b_1$或$b_2$时不转移. ...
- 基础安全术语科普(五)——crypter
crypter(加壳):使病毒逃过反病毒软件检测的技术 UD类加壳病毒:只有%50至%25的软件能检测出是病毒. FUD类加壳病毒:完全不会被检测出来. 加壳技术有两个主要组件: 1.client — ...
- 手把手实现微信网页授权和微信支付,附源代码(VUE and thinkPHP)
wechat github 手把手实现微信网页授权和微信支付,附源代码(VUE and thinkPHP) 概述 公众号开发是痛苦的,痛苦在好多问题开发者文档是没有提到的,是需要你猜的. 在开发过程中 ...
- 前后端hosts配置访问问题解决思路
问题背景:前后端分离情况下后端开发测试需要配置hosts,有此问题的人员有RD,QA,PM,User 测试环境由于用户使用这种配置导致无法使用线上系统发起单据影响用户使用,同时让用户误以为系统出问题而 ...