基于微信小程序的在线订餐平台的设计与实现(程序+论文)

目录

1、项目简介

2、设计说明

3、实现效果

4、源码获取及技术文档展示​​​​​​​


1、项目简介

基于微信小程序的订餐平台以微信小程序为载体,以Java加Tomcat及部分微信云开发作为后端服务。使用MySQL数据库对菜品信息、订单信息、用户信息进行信息存储。其中前端采用Vue框架技术、HTML和CSS、JavaScript语言,后端技术采用Java、spring、微信云开发三种技术。

基本功能如下

后台部分:

用户管理:可以查看对应用户的电话、昵称等信息。

餐品管理:可以管理点餐系统发布的餐品信息,进行相应的数据增删改查操作。

订单管理:对前端用户的下单信息进行查看、确认上餐管理操作。

分类管理:主要实现对前端点餐显示的餐品分类管理、分为种类管理和菜品分类管理。

系统管理:主要可以实现对系统的相关基本信息的管理操作。

用户端

产品展示:查看商品细节,分类预览,商品浏览。

使用者管理:用户登录、用户注册、用户修改手机号等。

订货管理:用户取消订单,查看订单。

购物车:添加物品、删除物品、清空购物车、付款、修改(数量)等等。

2、设计说明

功能架构图

 

整体E-R图

表4-1:wct_address

序号

列名

数据类型

长度

允许空

说明

1

id

int

11

主键

2

title

varchar

255

3

uid

int

11

4

type

varchar

255

5

ntime

varchar

255

6

rtype

varchar

255

7

note

varchar

255

表4-2:wct_bill

序号

列名

数据类型

长度

允许空

说明

1

id

int

11

主键

2

gids

varchar

100

3

price

varchar

100

4

user

varchar

100

5

uid

varchar

100

6

shop

varchar

100

7

bill

varchar

2000

8

openid

varchar

255

9

ndate

varchar

255

10

total

varchar

255

11

way

varchar

50

12

gnames

varchar

500

13

sid

varchar

10

14

tel

varchar

50

15

address

varchar

50

16

note

varchar

200

17

state

varchar

10

18

statecn

varchar

50

19

cuidan

varchar

255

20

todate

varchar

255

21

totime

varchar

255

3、实现效果

var app = getApp();

login: function() {

  const that = this;

  const token = wx.getStorageSync('token');

//wx.getStorageSync(string key)从本地缓存中获取指定key内容

   if (token) {

      WXAPI.checkToken(token).then(function(res) {

//封装的方法checkToken向服务器发送get请求查询token

        if (res.code != 0) {

          wx.removeStorageSync('token')

          that.login();

        } else {

          // 回到原来的地方放

          app.navigateToLogin = false

          wx.navigateBack();

        }

      })

      return;

    }

//登录函数

    wx.login({

//wx.login(Object object)微信提供的登录方法

//success为回调函数,code为登录凭证

success: function(res) {

        WXAPI.login(res.code).then(function(res) {

          if (res.code == 10000) {

            // 没有信息需要去注册

            that.registerUser();

            return;

          }

          if (res.code != 0) {

            // 登录错误

            wx.hideLoading();

            wx.showModal({

              title: '提示',

              content: '无法登录,请重试',

              showCancel: false

            })

            return;

          }

//如果登录成功则本地存储token以及uid

          wx.setStorageSync('token', res.data.token)

          wx.setStorageSync('uid', res.data.uid)

          // 回到原来的地方放

          app.navigateToLogin = false

          wx.navigateBack();

        })

      }

    })

  },

  registerUser: function() {

    let that = this;

    wx.login({

      success: function(res) {

      let code = res.code;

 // 微信登录接口返回的 code 参数,下面注册接口需要用到

//获取微信用户信息如昵称、头像等

      wx.getUserInfo({

             success: function(res) {

              let encryptedData = res.encryptedData;

          // 下面开始调用注册接口

          WXAPI.register( {

            code: code,

            encryptedData: encryptedData,

            iv: iv,

        

          }).then(function(res) {

             wx.hideLoading();

             that.login();

const WXAPI = require('../../wxapi/main')

Page({

  /**

   * 页面的初始数据

   */

  data: {

    categories: [],

    goodsWrap: [],

    categorySelected: "",

    goodsToView: "",

    categoryToView: "",

  },

  /**

   * 生命周期函数--监听页面加载

   */

  onLoad: function(options) {

    this.initData();

  },

  initData() {

    let that = this;

 //在当前页面显示导航条加载动画

    wx.showNavigationBarLoading();

//调用WXAPI中的goodsCategory函数获取数据库数据

    WXAPI.goodsCategory().then(function(res) {

      var categories = [];

      if (res.code == 0) {

        for (var i = 0; i < res.data.length; i++) {

          let item = res.data[i];

          item.scrollId = "s" + item.id;

          categories.push(item);

          if (i == 0) {

            that.setData({

              categorySelected: item.scrollId,

            })

          }

        }

      }

      that.setData({

        categories: categories,

      });

      console.log(categories);

      that.getGoodsList(0);

    }).catch((e) => {

//在当前页面隐藏导航条加载动画

      wx.hideNavigationBarLoading();

    });

  },

4、源码获取及技术文档展示

  • 0
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值