当前位置:首页 > JavaScript > 点餐小程序 源码

点餐小程序 源码

一叶知秋2024-08-02 18:24:41JavaScript33

以下是一个简单的点餐小程序的源代码,使用微信小程序原生框架编写:

一、项目结构:

pages/
  index/                  // 首页
    index.js
    index.json
    index.wxml
    index.wxss
  menu/                   // 菜单详情页
    menu.js
    menu.json
    menu.wxml
    menu.wxss
  order/                  // 订单页
    order.js
    order.json
    order.wxml
    order.wxss
app.js
app.json
app.wxss

二、主要代码:

  1. app.json
{
  "pages": [
    "pages/index/index",
    "pages/menu/menu",
    "pages/order/order"
  ],
  "window": {
    "navigationBarTitleText": "点餐小程序"
  },
  "tabBar": {
    "list": [
      {
        "pagePath": "pages/index/index",
        "text": "首页"
      },
      {
        "pagePath": "pages/order/order",
        "text": "订单"
      }
    ]
  }
}
  1. index.wxml
<view class="container">
  <view class="menu-list">
   <block wx:for="{{menus}}" wx:key="id">
      <view class="menu-item" data-id="{{item.id}}" bindtap="goToMenu">
       <image src="{{item.image}}" class="menu-image" />
        <text class="menu-name">{{item.name}}</text>
      </view>
    </block>
  </view>
</view>
  1. index.js
Page({
  data: {
    menus: [
      {
        id: 1,
        name: "菜品1",
        image: "https://example.com/image1.jpg"
      },
      {
        id: 2,
        name: "菜品2",
        image: "https://example.com/image2.jpg"
      },
      // 更多菜品...
    ]
  },
  goToMenu: function (e) {
    const id = e.currentTarget.dataset.id;
    wx.navigateTo({
      url: "/pages/menu/menu?id=" + id
    });
  }
});
  1. menu.wxml
<view class="container">
  <view class="menu-detail">
   <image src="{{menu.image}}" class="menu-image" />
    <view class="menu-info">
      <text class="menu-name">{{menu.name}}</text>
      <text class="menu-price">¥ {{menu.price}}</text>
     <button class="add-to-order" bindtap="addToOrder">加入订单</button>
    </view>
  </view>
</view>
  1. menu.js
Page({
  data: {
    menu: {
      id: 1,
      name: "菜品1",
      image: "https://example.com/image1.jpg",
      price: 10
    }
  },
  onLoad: function (options) {
    const id = options.id;
    // 根据 id 获取菜品详情,这里为了简化直接使用固定数据
  },
  addToOrder: function () {
    // 将菜品添加到订单,这里可以使用本地存储或者全局变量来保存订单数据
    wx.navigateBack();
  }
});
  1. order.wxml
<view class="container">
  <view class="order-list">
   <block wx:for="{{order}}" wx:key="id">
      <view class="order-item">
        <text class="menu-name">{{item.name}}</text>
        <text class="menu-price">¥ {{item.price}}</text>
      </view>
    </block>
  </view>
 <button class="submit-order" bindtap="submitOrder">提交订单</button>
</view>
  1. order.js
Page({
  data: {
    order: []
  },
  onShow: function () {
    // 从本地存储或全局变量中获取订单数据,这里为了简化直接使用固定数据
    this.setData({
      order: [
        {
          id: 1,
          name: "菜品1",
          price: 10
        },
        {
          id: 2,
          name: "菜品2",
          price: 20
        }
        // 更多订单数据...
      ]
    });
  },
  submitOrder: function () {
    // 提交订单逻辑,如发送请求到服务器,这里为了简化直接使用 alert 弹窗
    alert("订单提交成功");
  }
});

以上代码实现了一个简单的点餐小程序,包括首页展示菜品列表、菜品详情页、订单页等功能。请注意,这里的代码仅作为示例,实际开发中需要根据具体需求进行调整和优化。

扫描二维码推送至手机访问。

版权声明:本站部分文章来自AI创作、互联网收集,请查看免责申明

本文链接:https://www.yyzq.team/post/366931.html

下载此文章:
新工具上线:
分享给朋友: