zoukankan      html  css  js  c++  java
  • 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组件

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

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

  • 相关阅读:
    Nhibernate 3.0 cookbook学习笔记 配置与架构
    jQuery 三级联动选项栏
    依赖注入框架Autofac学习笔记
    Windows服务初探
    再记面试题
    Nhibernate 3.0 cookbook学习笔记 一对多与多对多映射
    Nhibernate 3.0 cookbook学习笔记 创建一个加密类
    2011 微软 MVP 全球大会即将拉开序幕
    Windows Shell扩展系列文章 2 .NET 4为扩展的Windows Shell上下文菜单项添加位图图标
    【转】微软一站式示例代码库(中文版)20110413版本, 新添加16个Sample
  • 原文地址:https://www.cnblogs.com/sna-ling/p/11699830.html
Copyright © 2011-2022 走看看