- 系统设计
- 2 章
3.1 系统功能模块设计
通过整体功能模块设计,我们将根据需求分析的结果,将系统的功能划分为不同的模块。每个模块负责实现特定的功能,并与其他模块进行协作。我们将详细定义每个模块的输入、输出、处理逻辑和相互依赖关系。具体的功能模块图如图3.1所示。
图3.1 超市外卖小程序功能模块图
3.2 数据库设计
数据库设计是系统开发中至关重要的一环,它涉及到数据的组织、存储和管理。在数据库设计中,我们将根据系统的需求设计数据库的概念结构和逻辑结构,包括定义实体、属性、关系和约束等。
3.2.1 数据库概念结构设计
数据库概念结构设计主要涉及数据库的实体和实体之间的关系。通过实体-关系模型或者其他适当的模型,我们将定义系统中涉及的各个实体以及它们之间的联系。下面是整个系统的总E-R关系图。
图3.2 超市外卖小程序总E-R关系图
3.2.2 数据库逻辑结构设计
数据库逻辑结构设计是指将数据库概念结构转化为数据库管理系统能够理解和操作的具体数据模型,包括表的定义、字段属性、主键、外键等逻辑关系。通过逻辑结构设计,可以将概念结构转化为数据库系统支持的数据存储结构,确保数据的有效组织和存储,实现数据的快速检索和高效管理。逻辑结构设计旨在优化数据的存储和访问效率,提高数据库系统的性能和可靠性。下面罗列了几个主要的数据表。
表coupon (优惠券)
编号 |
名称 |
数据类型 |
长度 |
小数位 |
允许空值 |
主键 |
默认值 |
说明 |
1 |
coupon_id |
int |
10 |
0 |
N |
Y |
优惠券id |
|
2 |
coupon_user_id |
int |
10 |
0 |
Y |
N |
优惠券用户id |
|
3 |
coupon_user_auth |
varchar |
255 |
0 |
Y |
N |
优惠券用户 |
|
4 |
coupon_name |
varchar |
255 |
0 |
Y |
N |
优惠券名称 |
|
5 |
coupon_price |
int |
10 |
0 |
Y |
N |
优惠券价格 |
|
6 |
coupon_price1 |
int |
10 |
0 |
Y |
N |
优惠券券后价格 |
|
7 |
coupon_time |
varchar |
255 |
0 |
Y |
N |
优惠券时间 |
|
8 |
coupon_type |
varchar |
255 |
0 |
Y |
N |
优惠券类型 |
|
9 |
create_time |
timestamp |
19 |
0 |
Y |
N |
CURRENT_TIMESTAMP |
|
10 |
update_time |
timestamp |
19 |
0 |
Y |
N |
CURRENT_TIMESTAMP |
表exchange (积分兑换)
编号 |
名称 |
数据类型 |
长度 |
小数位 |
允许空值 |
主键 |
默认值 |
说明 |
1 |
exchange_id |
int |
10 |
0 |
N |
Y |
积分兑换ID |
|
2 |
product_number |
varchar |
64 |
0 |
Y |
N |
商品编号 |
|
3 |
product_name |
varchar |
64 |
0 |
Y |
N |
商品名称 |
|
4 |
product_type |
varchar |
64 |
0 |
Y |
N |
商品类型 |
|
5 |
product_images |
varchar |
255 |
0 |
Y |
N |
商品图片 |
|
6 |
product_specifications |
varchar |
64 |
0 |
Y |
N |
商品规格 |
|
7 |
required_points |
int |
10 |
0 |
Y |
N |
0 |
所需积分 |
8 |
product_details |
text |
65535 |
0 |
Y |
N |
商品详情 |
|
9 |
hits |
int |
10 |
0 |
N |
N |
0 |
点击数 |
10 |
praise_len |
int |
10 |
0 |
N |
N |
0 |
点赞数 |
11 |
create_time |
datetime |
19 |
0 |
N |
N |
CURRENT_TIMESTAMP |
创建时间 |
12 |
update_time |
timestamp |
19 |
0 |
N |
N |
CURRENT_TIMESTAMP |
更新时间 |
表exchange_information (兑换信息)
编号 |
名称 |
数据类型 |
长度 |
小数位 |
允许空值 |
主键 |
默认值 |
说明 |
1 |
exchange_information_id |
int |
10 |
0 |
N |
Y |
兑换信息ID |
|
2 |
product_number |
varchar |
64 |
0 |
Y |
N |
商品编号 |
|
3 |
product_name |
varchar |
64 |
0 |
Y |
N |
商品名称 |
|
4 |
required_points |
int |
10 |
0 |
Y |
N |
0 |
所需积分 |
5 |
regular_users |
int |
10 |
0 |
Y |
N |
0 |
普通用户 |
6 |
user_name |
varchar |
64 |
0 |
Y |
N |
用户姓名 |
|
7 |
my_points |
varchar |
64 |
0 |
Y |
N |
我的积分 |
|
8 |
exchange_date |
date |
10 |
0 |
Y |
N |
兑换日期 |
|
9 |
remarks |
text |
65535 |
0 |
Y |
N |
备注信息 |
|
10 |
create_time |
datetime |
19 |
0 |
N |
N |
CURRENT_TIMESTAMP |
创建时间 |
11 |
update_time |
timestamp |
19 |
0 |
N |
N |
CURRENT_TIMESTAMP |
更新时间 |
表mall_center (商城中心)
编号 |
名称 |
数据类型 |
长度 |
小数位 |
允许空值 |
主键 |
默认值 |
说明 |
1 |
mall_center_id |
int |
10 |
0 |
N |
Y |
商城中心ID |
|
2 |
product_specifications |
varchar |
64 |
0 |
Y |
N |
商品规格 |
|
3 |
hits |
int |
10 |
0 |
N |
N |
0 |
点击数 |
4 |
praise_len |
int |
10 |
0 |
N |
N |
0 |
点赞数 |
5 |
cart_title |
varchar |
125 |
0 |
Y |
N |
标题:[0,125]用于产品html的标签中 |
|
6 |
cart_img |
text |
65535 |
0 |
Y |
N |
封面图:用于显示于产品列表页 |
|
7 |
cart_description |
varchar |
255 |
0 |
Y |
N |
描述:[0,255]用于产品规格描述 |
|
8 |
cart_price_ago |
double |
8 |
2 |
N |
N |
0.00 |
原价:[1] |
9 |
cart_price |
double |
8 |
2 |
N |
N |
0.00 |
卖价:[1] |
10 |
cart_inventory |
int |
10 |
0 |
N |
N |
0 |
商品库存 |
11 |
cart_type |
varchar |
64 |
0 |
N |
N |
未分类 |
商品分类: |
12 |
cart_content |
longtext |
2147483647 |
0 |
Y |
N |
正文:产品的主体内容 |
|
13 |
cart_img_1 |
text |
65535 |
0 |
Y |
N |
主图1: |
|
14 |
cart_img_2 |
text |
65535 |
0 |
Y |
N |
主图2: |
|
15 |
cart_img_3 |
text |
65535 |
0 |
Y |
N |
主图3: |
|
16 |
cart_img_4 |
text |
65535 |
0 |
Y |
N |
主图4: |
|
17 |
cart_img_5 |
text |
65535 |
0 |
Y |
N |
主图5: |
|
18 |
create_time |
datetime |
19 |
0 |
N |
N |
CURRENT_TIMESTAMP |
创建时间 |
19 |
update_time |
timestamp |
19 |
0 |
N |
N |
CURRENT_TIMESTAMP |
更新时间 |
第4章 关键模块的设计与实现
- 3 章
4.1 用户模块
4.1.1 用户注册
用户注册功能实现包括创建注册页面,收集用户输入的用户名、密码、邮箱等信息,验证输入的合法性,加密密码,将用户信息存储到用户表中。在用户注册过程中,需要确保用户名的唯一性,并对输入的信息进行合法性检查和验证,以确保用户注册信息的准确性和安全性。注册成功后,向用户反馈注册成功的信息,同时可以选择发送验证邮件等方式进行用户身份验证。注册功能的实现需要考虑用户体验和安全性,确保用户注册过程简单便捷,同时能够有效防范恶意注册和信息泄露。界面展示如下图4.1所示。
图4.1 注册界面图
注册代码如下:
4.1.2 用户登录
用户登录时接收用户输入的用户名和密码,验证输入的合法性,对比输入的用户名和加密后的密码与数据库中存储的信息进行匹配。在用户登录过程中,需要确保输入的信息合法,并进行安全的密码验证,防止密码泄露和登录安全问题。登录成功后,用户可以进入系统,否则需提醒用户用户名或密码错误。界面展示如下图4.2所示。
图4.2 登录界面图
登录代码如下:
4.1.3 积分兑换
普通用户在超市外卖小程序中可以通过积分兑换功能查