2019.5.22
1.当我们遍历出数据库中菜单的菜品时,需要为其单个产品添加数量的问题。

解决:在表中加入 购买数量(buycount)的字段

然后,在js文件中,控制当前对象中的buycount 属性。

     注意:在控制当前对象的属性是,必须传递一个index标志性的值到js中,因为,我们遍历的是一个对象数组,因为,当我们更改其中一个对象时候,需要找到其下标。因此在+、-号操作的时候,传值data-index到js中。如图:

当我们,完成了添加、减少的数量的操作时候,需要为其保存值在前台,
更新 我们遍历list集合 中的 某些 属性。

5.29更新(小程序订餐 订单之点餐 构思)

由于,之前一直在想一个问题:到底是在点餐的 页面 加入数量 还是,将其加入到购物车里面再添加数量的问题。后来还是选择了后者,如图

当我们将菜品一一列在了一个页面中,该图将2个商品 加入了我的订单中。那么,这个订单如何来的呢?
我一直思考,最终我的解决办法是:
当我们扫描二维码或者通过链接 进入了小程序,那么在app.js中,我会向后台 申请 一个 字符串(改字符串由一个封装好了的类的方法得到的),该方法会返回一个字符串(基本不可能重复)作为订单编号,同时,将其保存wx.setstorageSync域中,同时可以在任何tab里面通过getstorageSync(“key”) 获得订单编号。 那么,当我们进入小程序后,当前用户(我们)相当于 就 拥有 一个专属于本次 从进入 小程序 到 结束小程序 的一个订单编号了。

接下来,就可以,将商品添加 到该订单中了,然后再 对订单的 添加 和 修改(数量和金额)的操作了。

针对对 订单的 添加 和 修改 做下 笔记(只要是理解其思想)
往往在做 商城购物 这类的项目时,往往 会有2个订单。一个为总订单、一个为详情订单(往往记录 总订单 中的 商品)
如:总订单
详情订单:

那么,当我们 开始 点餐的时候,会将改产品的所有信息(订单编号、名字、价格···)传入到后台,在后台将 所有 信息 封装 在一个 类 中。传入到service层,在service 中,对其进行逻辑处理(该部分比较重要):
由于我们的订单中没有任何数据,所以,我们需要通过判断 order表中是否 有该订单编号,如果没有该订单编号(我们传来的订单编号),我们就 创建 该Order,并将product数据添加进去,同时,我们还需要添加在orderDetail(详情订单表)中,
注意**):
当我们,将product添加到了order中,
我们必须得到刚才添加的那条数据 中的 id,作为OrderDetail(详情表单。如上上图)中的orderid。然后再product添加到orderDetail表中

因此,我们点的第一份餐 已经成功添加 到了 订单 和 详情订单中。
当我们点第二份product 时候,通过判断 该订单已经存在,因为我们只需要修改Order中的 数量 和 价格 就ok了(但是,我们还是需要通过订单的id 作为条件),同时再添加详情表单。
如图:这样,我们就完成了简单的添加 product 了。

下次的任务:删除product 和 对购物车中 Product数量的改变。

2019-6-10 终于更新了 哈哈

虽然,有10多天没有更新了,但是,还是有一直在写的,这次写了好多好多的内容了。下面是我这些天写的内容的清单
1.在我们的商城里面取消订单(同时修改数据库的内容)
2.将我们点餐的菜品提交 到购物车里面,为了在购物车中可以增加商品的数量
3.对菜品的删除操作(这个有一点点的复杂)

------------------------------------------------------------------------------------------------------------

一.在我们的商城里面取消订单(同时修改数据库的内容)


在我们添加了商品后,我们如果不小心点错了或者不想要了,可以删除该商品,那我们就需要将该商品的部分信息传到后台。


在接收了前台的信息后,我们就需要在Service层来进行业务逻辑的处理了。
首先,判断是否存在该订单号(肯定存在的),因为是删除订单详情订单里面的数据,我们需要得到订单里面的TotalCount,判断其数量是否<=1,如果是,就将该订单删除,如果不是,就修改订单的数量和金额,同时删除详情订单里面菜品。

之后,就修改一下显示在前端的金额跟数量就Ok了

二.将我们点餐的菜品提交 到购物车里面,为了在购物车中可以增加商品的数量

今天突然发现,以前写的这个步骤时候有一点点 小bug ,但目前不影响我们的正常操作,可以放心的阅读。后面,会更改的。

接下来,就该将我们点的菜品,提交给我们的购物车,然后显示出来了
目前是这个状态

当我们提交订单后,


如果,我们需要将咱们点的餐显示在购物车的话,这里就需要用到wx.setstoragesync(同步)或者 wx.setstorage(异步)来操作了。它们之间的区别可以百度一下啦。

因为我们,点了一下提交订单按钮,于是,我们就向后台请求了一个方法,将我们的订单号传入到后台,通过订单号找到orderId,再通过orderId,找到我们点的菜品。将详情订单 中,属于订单的id给查找出来,然后返回给前台,存在wx.setstoragesync缓存中,它就相当于JavaWeb中的Session域差不多咯。

订单表详情订单表


这样取出来后,就存入wx.setStoragesync中。

然后,我们再购物车界面中,wx.getStorageSync取出数据,然后进行数据的渲染,就会显示出我们点的菜品,

当然,这里我们就需要了解一下页面的生命周期了。onShow(每进入一次页面都会调用)、onLoad(只执行第一次加载页面)这2个方法的区别了。

所有在我们,要加载数据的时候,最好考虑一下,数据是否被频繁的使用,用的少的话,我们就写进onload中,用的多的话,就写进onshow中,当然,还有其他的生命周期函数,可以查查百度。

接下来就是我们,对其数量的增减了。

…之前,写完了只会,就每怎么更新了。不过,后面有时间的话,再补补吧。

完成后的样子:

微信小程序线上点餐问题及解决相关推荐

  1. Java设计-微信小程序线上点餐/外卖项目+后台管理系统

    文章目录 XOrder 前言 环境 微信开发者工具 Java开发环境 Vue开发环境 成果展示 小程序端 小程序前端 扫码点餐 文件树 技术选型 鸣谢 小程序后端 文件树 技术选型 项目总结 未完成的 ...

  2. 微信小程序线上预约管理系统

    微信小程序线上预约管理系统 核心代码展示 /** * 人员列表 * @param {Object} $table 表名 * @param {Object} $pageindex 分页page * @p ...

  3. 从零开始的微信小程序线上商城开发(一)

    今天开始制作一款微信小程序,一方面是巩固所学,一方面也在查漏补缺,准备尽可能的将所有电商功能模块都做出来,首先是准备工作. 这是微信小程序开发文档,下载微信开发者工具,我的开发者工具版本为1.03.2 ...

  4. 基于微信小程序线上生鲜选购平台

  5. 基于SpringBoot和微信小程序的餐馆点餐系统的设计和实现

    作者主页:Designer 小郑 作者简介:Java全栈软件工程师一枚,来自浙江宁波,负责开发管理公司OA项目,专注软件前后端开发(Vue.SpringBoot和微信小程序).系统定制.远程技术指导. ...

  6. SSM基于微信小程序的外卖点餐系统 毕业设计-附源码2711704

    基于微信小程序的外卖点餐系统的设计与实现 摘要 立足于当下餐饮行业现有的点餐模式,分析传统APP点餐的运作流程,结合微信小程序的特点设计新型的外卖点餐系统.近几年,人们生活水平日益提升,但工作强度和压 ...

  7. 【计算机毕业设计】基于微信小程序的外卖点餐系统

    技术栈:前端微信小程序.后端JAVA语言 SpringBoot框架 Redis缓存技术 MySQL关系型数据库 毕设帮助.技术解答.源码获取(有偿),联系方式见文末. 本课题将设计基于微信小程序的外卖 ...

  8. 基于微信小程序的美食点餐推荐系统的设计与实现+源码

    随着人们生活水平的不断提高, 外出吃饭的机会越来越多, 逢年过节聚餐, 同事聚餐, 同学聚餐等等. 当一说到吃饭,最先考虑的是去哪吃, 吃什么, 因此美食网站就成为了人们获取这些信息的主要来源[1] ...

  9. 烧烤店小程序线上开店的步骤

    烧烤店小程序线上开店的步骤,之前发表一个文章关于烧烤店小程序怎么样注册和认证流程,写得有点不是很具体,有很多烧烤店商家都在疑惑具体怎么样操作才能拥有自己的可马上上线小程序. 如果对有关烧烤店小程序的注 ...

最新文章

  1. jsp+Servlet+JavaBean+JDBC+MySQL项目增删改查
  2. 深圳内推 | 华为诺亚方舟实验室招聘机器学习/深度学习算法实习生
  3. AI:PR的数学表示-传统方法PR
  4. 天池 在线编程 木材加工(二分查找)
  5. screenX,clientX,pageX,offsetX,的区别
  6. DataTables之TableTools插件
  7. python实现判断给定列表是否存在重复元素,且索引差小于k
  8. ssh 远程锁住解锁_Linux 中锁定和解锁用户帐户的三种方法
  9. 计算机二级落户上海加分,上海落户哪些重点单位加分
  10. get技能 TCP(ip socket 关系)通信的三次握手和四次撒手的详细流程(顿悟)
  11. CSS选择器有哪几种?举例轻松理解CSS选择器
  12. v67.03 鸿蒙内核源码分析(字符设备) | 绝大多数设备都是这类 | 百篇博客分析OpenHarmony源码
  13. 微信小游戏直播在Android端的跨进程渲染推流实践
  14. 图像处理相关算法之饱和度调整
  15. 苏宁易购按关键字搜索suning商品 API 返回值说明
  16. 应用在触摸电视机中的触摸芯片
  17. 永磁同步电机矢量控制中的双闭环是什么意思_【百问百答】ST 电机控制实战问答合辑 | 连载之二...
  18. 1到3岁宝宝如何选择玩具
  19. C51单片机与C52单片机内部的资源区别
  20. CloudCompare

热门文章

  1. matlab打开网页输入密码,MATLAB GUI 密码输入
  2. H3C光模块相关命令和检测方法
  3. 异常错误cannot be cast to java.lang.Comparable解决办法
  4. 盘点 | Github上的18个顶级深度学习项目
  5. 学习大数据前应该了解什么?
  6. 【CSDN】【自用】CSDN操作
  7. Java打印杨辉三角
  8. sqlserver错误码
  9. 图像算法工程师学习内容
  10. TensorFlow使用Keras Tuner自动调参