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组件

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

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

原文地址:https://www.cnblogs.com/sna-ling/p/11699830.html

时间: 2024-07-30 03:31:50

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

把商品添加到购物车的动画效果(贝塞尔曲线)

如图: 参考: Android补间动画,属性动画实现购物车添加动画 思路: 确定动画的起终点 在起终点之间使用二次贝塞尔曲线填充起终点之间的点的轨迹 设置属性动画,ValueAnimator插值器,获取中间点的坐标 将执行动画的控件的x.y坐标设为上面得到的中间点坐标 开启属性动画 当动画结束时的操作 难点: PathMeasure的使用 - getLength() - boolean getPosTan(float distance, float[] pos, float[] tan) 的理解

(实例篇)添加到购物车相关操作

我们有很多种方法实现将商品添加到购物车,通常的做法是点击"添加到购物车"按钮,会跳转到购物车,在购物车里可以点击"结算"按钮进行结算.而今天我给大家介绍一个更友好的解决方案. 默认情况下,购物车是隐藏不可见的,当用户点击添加到购物车按钮后,商品信息会添加到购物车,购物车会以按钮的形式出现在页面右下角,点击按钮则会展开购物车,显示购物车中的商品信息,同时也可以对购物车中的商品进行删除或者结算等操作.用户也可以暂时关闭购物车继续购物. HTML结构 HTML结构主要包括

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

系列教程<一步步带你做vue后台管理框架>第三课 github地址:vue-framework-wz 线上体验地址:立即体验 <一步步带你做vue后台管理框架>第一课:介绍框架 <一步步带你做vue后台管理框架>第二课:上手使用 认证又称"验证"."鉴权",是指通过一定的手段,完成对用户身份的确认.身份验证的方法有很多,基本上可分为:基于共享密钥的身份验证.基于生物学特征的身份验证和基于公开密钥加密算法的身份验证. 登录鉴权功能是

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

添加新建.vue文件功能 ①Webstorm 右上角File-Plugins 搜索vue如果没有就去下载 点击serch in repositories ②点击安装vue.js ③安装成功后点击右下角Apply 提示重启webstorm 重启完成后 Setting-Editor-File and Code Templates 点击右上角的加号 添加vue文件 Name为vue File, Extension 为vue,下面的位置可以填写自定义的初始化模板内容 ④点击OK 返回,在项目中新建会出现

Thinkphp3.2添加QQ互联和新浪微博一键登录功能

Thinkphp3.2添加QQ互联和新浪微博一键登录功能 1 2 3 分步阅读 现在很多网站都有 QQ互联 和新浪微博 一键登录功能,国内很多php开源项目的代码都是使用thinkphp框架编写的,但是thinkphp框架如何添加QQ互联 和新浪微博  一键登录功能呢? 工具/原料 Thinkphp3.2版本源码 QQ互联 和新浪微博 申请到的 APPID和APPKEY. 方法/步骤 一:到腾讯QQ互联上申请APPID和APPKEY.申请地址: http://connect.qq.com/ 如同

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

现在网站基本都用手机注册,很少用邮箱注册,本篇内容比较多,代码我会尽量加备注,有些操作需要连续添加几个文件才不报错,如果VS显示错误,请继续后续步骤. 前面已经有一篇文章讲到集成短信发送模块:http://www.cnblogs.com/shensigzs/category/1147235.html 在此基础上才能做手机注册功能,没有完成的同学请先去整合后再回来. 语言文件 AbpZeroTemplate-zh-CN.xml文件末尾添加如下键值对: 文件路径:D:\abp version\asp

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

Vue实现仿淘宝商品详情属性选择的功能 2018年09月07日 17:13:35 yx_cos 阅读数:278 先看下效果图:(同个属性内部单选,属性与属性之间可以多选) 主要实现过程: 所使用到的数据类型是(一个大数组里面嵌套了另一个数组)具体格式如下: attrAndValuees: [   {   'attrId': 1,   'attrName': '味道',   'valuees': [   {   'attrId': 1,   'value': '橘子味'   },   {   'a

Vue电商后台管理系统项目第6篇-商品管理的商品列表和商品添加组件实现

开胃小菜—左侧导航菜单的动态生成 通过为指定的用户指定角色,那么这个用户登陆之后应该只能看到这个角色所对应的权限菜单, 我们是根据当前登陆用户去获取对应的菜单权限 步骤 分析接口文档 ,发现不用传递参数,因为它是根据当前登陆用户的token来动态获取当前用户的权限 添加接口方法获取动态的菜单数据 // 获取左侧菜单权限 export const getLeftMenu = () => { return axios({ url: `menus` }) } 实现菜单项的动态加载 获取数据之后,注意看

web前端利用vue.js实现品牌列表的添加,删除与筛选功能

实现效果图: 实现功能:web前端利用vue.js实现品牌列表的添加,删除与筛选功能 实现代码: <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> &l