功能需求分析
在这个快节奏的时代,我们深知您对便捷和高效的追求。为此,我们推出了一款集多项功能于一体的小程序,旨在为您提供无与伦比的餐饮体验。让我们一起探索这款小程序的独特功能:
扫码点餐: 忘掉繁琐的排队等待,我们的小程序允许您通过简单的扫码动作,即刻点选您心仪的美食。无需与服务员交流,只需动动手指,美味即刻准备。
店内点餐: 如果您更喜欢店内用餐,我们的小程序同样提供店内点餐服务。通过直观的用户界面,您可以轻松浏览菜单,选择您喜爱的菜品,并直接发送订单至厨房,享受个性化的用餐体验。
外卖服务: 不论您身在何处,我们的外卖服务都能满足您对美食的渴望。通过小程序,您可以轻松下单,享受快速、可靠的配送服务,让美味直达您的家门口。
首页广告: 我们的小程序首页精心设计了广告位,展示最新推出的菜品和不容错过的优惠活动。这不仅帮助您发现新的美食选择,还能让您享受独家优惠。
会员活动: 成为我们的会员,您将获得一系列专属福利。积分累积、会员日特价、生日礼物等丰富活动,都是为了让您的每一次用餐都充满惊喜。
代码结构
- 微信接口代码(wechatapi端):这部分代码就像是我们与微信世界的桥梁,它帮助我们的小程序与微信的各种功能进行对话,比如接收消息、发送通知等。
- 用户端小程序(uniapp小程序user):想象一下,这是你的顾客在微信上看到的那部分,他们通过这个小程序来浏览菜单、下订单、支付等等。这就像是你的店铺的在线展示窗口。
- 后台管理系统(CMS后台管理端):这是商家用来管理整个小程序后台的部分。你可以在这里查看订单、管理菜单、更新促销信息,就像是店铺的后台办公室,帮助你高效运营。
效果展示
小程序端:
web后端:
数据库设计
Er图:
数据表结构:
字段名 | 类型 | 是否为空 | 索引 | 默认值 | 说明 |
---|---|---|---|---|---|
id | int(11) | NO | PRI | 无 | |
username | varchar(40) | NO | 无 | 无 | 用户名 |
password | varchar(60) | NO | 无 | 无 | |
group_id | tinyint(4) | NO | 无 | 1 | 管理组ID |
ip | varchar(30) | YES | 无 | 无 | |
state | int(1) | NO | 无 | 0 | 是否禁用 |
description | varchar(200) | YES | 无 | 无 | 描述 |
ucid | int(1) | YES | 无 | 3 | ucid |
login_time | int(11) | NO | 无 | 0 | |
create_time | int(11) | NO | 无 | 0 | |
rh_admin
字段名 | 类型 | 是否为空 | 索引 | 默认值 | 说明 |
---|---|---|---|---|---|
id | int(10) unsigned | NO | PRI | 无 | 文章编号 |
type | int(11) | NO | 无 | 无 | 0活动公告,1独立文章,3公告 |
title | varchar(50) | NO | 无 | 无 | 文章标题 |
summary | varchar(140) | YES | 无 | 无 | 文章摘要 |
content | text | NO | 无 | 无 | 文章正文 |
image | varchar(255) | YES | 无 | 无 | 文章标题图片 |
is_hidden | tinyint(1) | NO | 无 | 0 | 是否显示 1 显示 0 不显示 |
author | varchar(50) | YES | 无 | 无 | 发布者用户名 |
created_at | int(11) | YES | 无 | 0 | 文章发布时间 |
ucid | int(1) | NO | 无 | 3 | ucid |
updated_at | int(11) | YES | 无 | 无 | |
rh_article
字段名 | 类型 | 是否为空 | 索引 | 默认值 | 说明 |
---|---|---|---|---|---|
id | int(11) | NO | PRI | 无 | |
name | varchar(50) | YES | 无 | 无 | Banner名称,通常作为标识 |
description | varchar(255) | YES | 无 | 无 | Banner描述 |
delete_time | int(11) | YES | 无 | 无 | |
update_time | int(11) | YES | 无 | 无 | |
ucid | int(1) | NO | 无 | 3 | ucid |
rh_banner
字段名 | 类型 | 是否为空 | 索引 | 默认值 | 说明 |
---|---|---|---|---|---|
id | int(11) | NO | PRI | 无 | |
img_id | int(11) | NO | 无 | 无 | 外键,关联image表 |
key_word | varchar(100) | NO | 无 | 无 | 执行关键字,根据不同的type含义不同 |
type | varchar(255) | NO | 无 | 0 | 跳转类型 |
jump_id | int(11) | YES | 无 | 0 | |
deleted_at | int(11) | YES | 无 | 无 | |
banner_id | int(11) | NO | 无 | 无 | 外键,关联banner表 |
is_visible | int(11) | NO | 无 | 1 | 是否显示 1 显示 0 不显示 |
sort | int(11) | YES | 无 | 无 | |
update_time | int(11) | YES | 无 | 无 | |
ucid | int(1) | NO | 无 | 3 | ucid |
create_time | int(11) | YES | 无 | 无 | |
rh_banner_item
字段名 | 类型 | 是否为空 | 索引 | 默认值 | 说明 |
---|---|---|---|---|---|
category_id | int(11) | NO | PRI | 无 | |
category_name | varchar(50) | NO | 无 | 无 | 名称 |
short_name | varchar(50) | NO | 无 | 无 | 商品分类简称 |
pid | int(11) | NO | 无 | 0 | |
level | tinyint(4) | NO | 无 | 0 | |
is_visible | int(11) | NO | 无 | 1 | 是否显示 1 显示 0 不显示 |
sort | int(11) | YES | 无 | 无 | |
category_pic | varchar(255) | NO | 无 | 无 | 商品分类图片 |
ucid | int(1) | NO | 无 | 3 | ucid |
rh_category
字段名 | 类型 | 是否为空 | 索引 | 默认值 | 说明 |
---|---|---|---|---|---|
id | int(11) | NO | PRI | 无 | |
type | int(11) | NO | 无 | 3 | 类型1:店铺优惠券 |
name | varchar(50) | NO | 无 | 无 | 优惠券名称 |
status | int(11) | NO | 无 | 1 | 状态1:使用1次,2使用无数次 |
is_show | int(11) | NO | 无 | 0 | vip特权券是否能领取,0不可领取,1能领取,2撤回申请中 |
stock | int(11) | YES | 无 | 无 | 库存null为无限张 |
stock_type | int(11) | NO | 无 | 0 | 库存类型(0有限张数1无限张) |
full | decimal(10,2) | NO | 无 | 无 | 满多少,0为无门槛 |
reduce | decimal(10,2) | NO | 无 | 无 | 减多少 |
start_time | int(11) | YES | 无 | 无 | 开始时间 |
end_time | int(11) | YES | 无 | 无 | 结束时间 |
day | int(11) | YES | 无 | 无 | 使用时间 |
created_at | int(11) | NO | 无 | 无 | 创建时间 |
updated_at | int(11) | NO | 无 | 无 | 修改时间 |
deleted_at | int(11) | YES | 无 | 无 | 删除时间 |
ucid | int(1) | NO | 无 | 3 | ucid |
rh_coupon
字段名 | 类型 | 是否为空 | 索引 | 默认值 | 说明 |
---|---|---|---|---|---|
id | int(10) unsigned | NO | PRI | 无 | 记录ID |
uid | int(11) | NO | 无 | 无 | 用户ID |
fav_id | int(10) unsigned | NO | 无 | 0 | 商品ID |
img_id | int(11) | YES | 无 | 无 | |
price | decimal(10,2) | NO | 无 | 无 | 商品收藏时价格 |
create_time | int(11) | YES | 无 | 0 | 收藏时间 |
ucid | int(1) | NO | 无 | 3 | ucid |
rh_favorites
字段名 | 类型 | 是否为空 | 索引 | 默认值 | 说明 |
---|---|---|---|---|---|
id | int(11) | NO | PRI | 无 | |
uid | int(11) | NO | 无 | 无 | |
type_name | varchar(255) | NO | 无 | 无 | |
content | varchar(800) | NO | 无 | 无 | |
operator | varchar(255) | YES | 无 | 无 | |
ip | varchar(255) | YES | 无 | 无 | |
wx_refund | varchar(50) | YES | 无 | 无 | 微信退款id |
created_at | int(11) | YES | 无 | 无 | |
ucid | int(1) | NO | 无 | 3 | ucid |
updated_at | int(11) | YES | 无 | 无 | |
rh_money_log
字段名 | 类型 | 是否为空 | 索引 | 默认值 | 说明 |
---|---|---|---|---|---|
order_id | int(11) | NO | PRI | 无 | |
order_num | varchar(40) | NO | 无 | 无 | 订单编号 |
user_id | int(11) | YES | 无 | 无 | |
state | int(11) | NO | 无 | 0 | 0未完成 1已完成 2已评价 -1退款中 -2已退款-3关闭订单 |
shipment_state | int(11) | NO | 无 | 0 | 运输(验证)状态 0待配送 1已配送 2已收货 |
payment_state | int(11) | NO | 无 | 0 | 支付状态 0 1 |
rate_id | int(11) | YES | 无 | 0 | |
coupon_id | int(11) | YES | 无 | 0 | 优惠券ID |
order_from | varchar(4) | YES | 无 | 无 | 来源小程序或wap |
payment_type | varchar(60) | YES | 无 | 无 | 支付来源 |
goods_money | decimal(10,2) | NO | 无 | 无 | 商品总价 |
reduction_money | decimal(10,2) | NO | 无 | 无 | 满减价格 |
coupon_money | decimal(10,2) | NO | 无 | 无 | 优惠券价格 |
edit_money | decimal(10,2) | YES | 无 | 无 | |
order_money | decimal(10,2) | NO | 无 | 无 | 订单总价 |
user_ip | varchar(40) | YES | 无 | 无 | |
goods_picture | varchar(400) | YES | 无 | 无 | |
message | varchar(300) | YES | 无 | 无 | 备注 |
receiver_name | varchar(60) | NO | 无 | 无 | 收货人 |
receiver_mobile | varchar(60) | NO | 无 | 无 | 收货人手机 |
receiver_city | varchar(60) | NO | 无 | 无 | |
receiver_address | varchar(200) | NO | 无 | 无 | |
courier_num | varchar(60) | YES | 无 | 无 | |
courier | varchar(255) | YES | 无 | 无 | |
remark_one | varchar(255) | YES | 无 | 无 | |
remark_two | varchar(255) | YES | 无 | 无 | |
drive_type | varchar(255) | YES | 无 | 无 | 配送方式 |
prepay_id | varchar(255) | YES | 无 | 无 | |
pay_time | int(11) | YES | 无 | 无 | 支付时间 |
created_at | int(11) | NO | 无 | 无 | |
updated_at | int(11) | NO | 无 | 无 | |
deleted_at | int(11) | YES | 无 | 无 | |
other | text | YES | 无 | 无 | 其他要求 |
mobile | varchar(11) | YES | 无 | 无 | |
address | varchar(255) | YES | 无 | 无 | 收货地址 |
count | int(11) | NO | 无 | 0 | |
pay_cate | varchar(255) | NO | 无 | 3 | 支付方式1微信支付2余额支付3暂不支付 |
ucid | int(1) | NO | 无 | 3 | |
table_num | varchar(50) | YES | 无 | 无 | 几号桌 |
yzcode | varchar(255) | YES | 无 | 无 | |
invite_code | varchar(255) | YES | 无 | 无 | 邀请码 |
rh_order
字段名 | 类型 | 是否为空 | 索引 | 默认值 | 说明 |
---|---|---|---|---|---|
id | int(11) | NO | PRI | 无 | |
order_id | int(11) | NO | 无 | 无 | |
goods_id | int(11) | NO | 无 | 无 | |
goods_name | varchar(300) | NO | 无 | 无 | |
sku_id | int(11) | NO | 无 | 无 | |
sku_name | varchar(300) | YES | 无 | 无 | |
price | decimal(10,2) | NO | 无 | 无 | |
cost_price | decimal(10,2) | NO | 无 | 无 | |
number | int(11) | NO | 无 | 无 | |
total_price | decimal(10,2) | NO | 无 | 无 | |
state | int(11) | NO | 无 | 0 | 订单状态0未完成 1已完成 2已评价 -1退款中 -2已退款-3关闭订单 |
pic | varchar(255) | NO | 无 | 无 | |
user_id | int(11) | NO | 无 | 无 | |
remark | varchar(400) | YES | 无 | 无 | |
created_at | int(11) | NO | 无 | 无 | |
updated_at | int(11) | NO | 无 | 无 | |
deleted_at | int(11) | YES | 无 | 无 | |
ucid | int(1) | NO | 无 | 3 | |
rh_order_goods
字段名 | 类型 | 是否为空 | 索引 | 默认值 | 说明 |
---|---|---|---|---|---|
id | int(11) | NO | PRI | 无 | |
order_id | int(11) | NO | 无 | 无 | |
type_name | varchar(255) | NO | 无 | 无 | |
content | varchar(800) | NO | 无 | 无 | |
operator | varchar(255) | YES | 无 | 无 | |
ip | varchar(255) | YES | 无 | 无 | |
wx_refund | varchar(50) | YES | 无 | 无 | 微信退款id |
created_at | int(11) | YES | 无 | 无 | |
ucid | int(1) | NO | 无 | 无 | |
updated_at | int(11) | YES | 无 | 无 | |
rh_order_log
字段名 | 类型 | 是否为空 | 索引 | 默认值 | 说明 |
---|---|---|---|---|---|
id | int(11) | NO | PRI | 无 | |
type_id | int(11) | NO | 无 | 无 | 类型ID |
name | varchar(50) | NO | 无 | 无 | |
lv | int(11) | NO | 无 | 0 | 概率 |
award | varchar(50) | NO | 无 | 无 | 奖励内容 |
award_type | int(11) | NO | 无 | 0 | 奖品类型(0为积分1为商品) |
stock | int(11) | NO | 无 | 0 | |
img_id | int(11) | NO | 无 | 0 | |
ucid | int(1) | YES | 无 | 无 | |
rh_play_award
字段名 | 类型 | 是否为空 | 索引 | 默认值 | 说明 |
---|---|---|---|---|---|
id | int(11) | NO | PRI | 无 | |
uid | int(10) unsigned | NO | MUL | 无 | |
credittype | varchar(10) | NO | 无 | 无 | |
num | decimal(10,2) | NO | 无 | 无 | |
operator | int(10) unsigned | YES | 无 | 0 | |
module | varchar(30) | NO | 无 | 无 | |
clerk_id | int(10) unsigned | NO | 无 | 0 | |
store_id | int(10) unsigned | NO | 无 | 0 | |
clerk_type | tinyint(3) unsigned | NO | 无 | 1 | |
created_at | int(11) | YES | 无 | 无 | |
remark | varchar(200) | NO | 无 | 无 | |
real_uniacid | int(11) | NO | 无 | 0 | |
updated_at | int(11) | YES | 无 | 无 | |
ucid | int(1) | NO | 无 | 3 | |
软件运行测试
为了更好地进行SEO推流并确保步骤清晰,以下是将上述内容具体化为操作步骤的指南:
步骤 1: 准备域名和服务器
- 购买域名:选择一个合适的域名注册商,购买一个与你的网站内容相关的域名(例如:xxx.com)。
- 获取服务器:购买一台云服务器(VPS),并确保它支持宝塔面板。我这里是用的阿里云
步骤 2: 安装宝塔面板
- 连接服务器:使用SSH工具(如PuTTY或Terminal)连接到你的云服务器。
- 安装宝塔:在服务器上执行宝塔面板的安装命令(可在宝塔官网找到最新安装命令)。
- 配置宝塔:通过浏览器访问宝塔面板,并按照向导完成基础配置。
- **使用一键命令:**wget -O install.sh http://download.bt.cn/install/install-ubuntu.sh && sudo bash install.sh
- 官网:宝塔官网
步骤 3: 域名解析
- 设置域名解析:登录你的域名注册商的控制面板,将域名的A记录指向你的服务器IP地址。
步骤 4: 配置Nginx
- 添加网站:在宝塔面板中,选择“网站” -> “添加站点”,输入你的域名和服务器信息。
- 配置Nginx:根据你的网站需求,设置Nginx的配置文件,包括服务器块、SSL证书(如果需要HTTPS)等。
这里注意需要将Nginx 配成伪静态如下:
location / {
try_files $uri
u
r
i
/
/
i
n
d
e
x
.
p
h
p
?
uri/ /index.php?
uri//index.php?query_string;
}
步骤 5: 上传后端代码
- 上传代码:通过FTP工具(如FileZilla)或宝塔面板的文件管理器,将后端代码上传到服务器的网站目录中。
步骤 6: 打包小程序
- 开发小程序:使用HBuilder或其他开发工具开发你的小程序。
- 打包微信包:在开发完成后,使用HBuilder打包成微信小程序的发布包
步骤 7: 上传并配置小程序
- 上传小程序:登录微信公众平台,上传打包好的小程序包,并提交审核。
- 设置安全域名:在微信公众平台的“开发” -> “开发设置”中,设置你的小程序的安全域名,确保只有你的服务器可以与小程序通信。调试的时候可以选择跳过域名检测,但是上线一定要确认域名已经添加