赞
踩
一、总体设计
(游客,注册用户)
用户进入小程序后游客可访问首页,超市商品,我的等,但无法进行购物等。用户可到我的中进行登录。有账号可直接进行登录,无账号可通过手机号码进行注册。登录后用户可进行浏览商品,下单商品等。
二、数据库设计
经过需求分析此次数据库系统中有三个实体,分别是用户(手机号、密码和配送地址),商品(商品号、商品名称、商品图片、价格和类型),订单(订单号、商品号、手机号和数量)。
实体与实体之间还存在关联,一个用户可以购买多件商品,一件商品也可以被多个用户购买。一个用户可以拥有多条订单,但一个订单只能被一个用户所拥有。
三、游客(未登录)状态
- onLoad:function(options){
- // 页面初始化 options为页面跳转所带来的参数
- this.setData({
- isLogin:getApp().globalData.isLogin,
- phone:getApp().globalData.phone
- })
- // console.log(getApp().globalData.phone)
- if(getApp().globalData.isLogin == true){
- wx.request({
- url: 'http://localhost/selectimg.php',
- method:"post",
- header:{'content-type':'application/x-www-form-urlencoded'},
- data:{
- phone:getApp().globalData.phone
- },
- success:(res)=>{
- // console.log(res.data);
- if(res.data.img == '../../images/morenImg.png'){
- return;
- }
- var tempFilePaths=decodeURIComponent(res.data.img);
- this.setData({
- // tempFilePaths:encodeURI(res.data.stu_img)
- tempFilePaths:tempFilePaths
- })
-
- }
- })
- }
- }
点击未登录前往登录
点击无账号进行注册
登录成功后可购物等
首页
超市,添加商品
购物车
加载商品
- loadOrders: function () {
- wx.request({
- url: 'http://localhost/checkCart.php',
- data:{
- phone:getApp().globalData.phone
- },
- method:'POST',
- header:{'content-type':'application/x-www-form-urlencoded'},
- success:(res)=>{
- this.setData({
- flag:false
- })
- }
- })
- //从数据库中里取出
- // var orders = wx.getStorageSync('orders');
- if(getApp().globalData.isLogin == false){
- this.setData({
- orders:[]
- })
-
- }else{
- wx.request({
- url: 'http://localhost/usergoods.php',
- data:{
- phone:getApp().globalData.phone
- },
- method:'POST',
- header:{'content-type':'application/x-www-form-urlencoded'},
- success:(res)=>{
- console.log(res.data)
- this.setData({
- orders:res.data
- })
- }
- })
- }
-
- var orders = this.data.orders;
- //把从本地缓存数据取出来的数据,给orders
- // this.setData({ orders: orders });
- //定义变量
- var totalPrice = 0;
- for (var i = 0; i < orders.length; i++) {
- var order = orders[i];
- //总价=单价*数量
- totalPrice += order.price * order.count;
- }
- this.setData({ totalPrice: totalPrice });
- }
可移除商品,增加减少商品数量
- checkAll: function (e) {//全选复选框
- //拿到被选中的
- var selected = this.data.selected;
- //判断:如果selected == true ,就为false
- var result = selected == true ? false : true;
- //要么全选要么全不选
- this.setData({ selected: result });
- //判断:如果result == false全不选
- if (result == false) {
- //则设置总价格为0
- this.setData({ totalPrice: 0 });
- //则设置全选复选框为false
- this.setData({ selectedAll: false });
- } else {
- //否则加载商品,重新计算价格
- this.loadOrders();
- //设置全选复选框为true
- this.setData({ selectedAll: true });
- }
-
- },
- addGoods: function (e) {//添加商品数量
-
- // var goods = wx.getStorageSync('goods');
- var goods = getApp().globalData.goods;
- //获取当前的id值
- var id = e.currentTarget.id;
-
- //获取当前价格
-
- console.log(id)
- wx.request({
- url: 'http://localhost/userAddgoods.php',
- data:{
- phone:getApp().globalData.phone,
- id:id
- },
- method:'POST',
- header:{'content-type':'application/x-www-form-urlencoded'},
- success:(res)=>{
- // console.log(res.data)
- }
- })
- var tmp = this.data.totalPrice;
- wx.request({
- url: 'http://localhost/getPrice.php',
- data:{
- id:id
- },
- method:'POST',
- header:{'content-type':'application/x-www-form-urlencoded'},
- success:(res)=>{
- console.log(res.data)
- this.setData({
- totalPrice:tmp+res.data
- })
- }
- })
- // this.onLoad();
- this.loadOrders();
- }
更改地址
- Page({
- data: {
- //定义的城市数组
- cities: [
-
-
- ],
- /
- index: 0
- },
- onLoad: function (options) {
- // 页面初始化 options为页面跳转所带来的参数
- },
- //绑定事件--城市选择器
- bindPickerChange: function (e) {
- //选择哪个,修改值就是被选择哪个的索引值
- this.setData({ index: e.detail.value });
- },
- //表单里的值都通过e传递过来
- formSubmit: function (e) {
- //获取地址值
- var address = e.detail.value;
- //获取地址值
- var cityNum = address.city;
- //获取地址值
- var cities = this.data.cities;
- address.city = cities[cityNum];
- //从本地缓存数据中获取地址信息
- var addresses = wx.getStorageSync('addresses');
- //如果地址不存在,就创建数组
- if (!addresses) {
- addresses = new Array();
- }
- //把新增地址值添加进数组
- addresses.push(address);
- //重新设置值
- wx.setStorageSync('addresses', addresses);
- //跳转到地址列表这一列
- wx.redirectTo({
- url: '../address/address'
- })
- }
- })
点击选好了后,会将订单信息保存,在个人中心配送中查看
点击更换地址时,若下单时间超过24小时就不可更改。确认收货后可在历史订单里查看。
- onLoad: function (options) {
- wx.request({
- url: 'http://localhost/selectAccount2.php',
- data:{
- phone:getApp().globalData.phone
- },
- method:'POST',
- header:{'content-type':'application/x-www-form-urlencoded'},
- success:(res)=>{
- if(!res.data){
- this.setData({
- orders:[]
- })
- }else{
- this.setData({
- orders:res.data
- })
- }
- }
- })
- }
源码加q: one three five one zero nine seven four three one
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。