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

目录

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
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
基于Java的微信食堂线上订餐小程序为食堂和就餐者提供了一个便捷、高效的线上订餐解决方案。以下是该小程序的主要功能描述: 菜品浏览与选择:小程序展示食堂提供的各类菜品,包括图片、价格、口味、营养信息等,让用户能够直观地浏览并选择心仪的菜品。 购物车与订单管理:用户可以将所选菜品加入购物车,随时查看和修改购物车内容。同时,小程序支持用户查看历史订单、当前订单状态(如待支付、已支付、已配送等),确保订单信息的透明性和可追溯性。 在线支付:用户可以通过小程序进行在线支付,支持多种支付方式,如微信支付等,确保支付过程的安全和便捷。 智能推荐:小程序根据用户的点餐历史和偏好,智能推荐相似口味或新上架的菜品,提高用户的点餐效率和满意度。 评价与反馈:用户可以对菜品、服务等进行评价,并提供反馈意见,帮助食堂不断改进菜品和服务质量。 个性化设置:用户可以设置常用地址、支付方式等个人信息,提高订餐的便捷性。 通知与提醒:小程序会及时通知用户订单状态的变化,如订单已接单、已配送等,确保用户能够及时了解订单情况。 综上所述,基于Java的微信食堂线上订餐小程序通过整合菜品浏览、订单管理、在线支付等功能,为食堂和就餐者提供了一个高效、便捷的线上订餐平台,提升了食堂的服务质量和就餐者的用餐体验。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值