摘 要
当今社会已经步入了科学技术进步和经济社会快速发展的新时期,国际信息和学术交流也不断加强,计算机技术对经济社会发展和人民生活改善的影响也日益突出,人类的生存和思考方式也产生了变化。传统成都美食分享采取了人工的管理方法,但这种管理方法存在着许多弊端,比如效率低下、安全性低以及信息传输的不准确等,同时由于成都美食分享管理中会形成众多的个人文档和信息系统数据,通过人工方法对美食菜单、美食痕迹、美食动态、成都美食、美食店铺等进行集中管理会形成检索、更改和维护等较为麻烦的管理问题,同时由于广大用户对网络技术的需求也日益高涨,于是信息技术也需要继续开展全新的改革以满足时代的需求。根据此问题,研发一套微信小程序的成都美食分享系统,既能够大大提高信息的检索、变更与维护的工作效率,也能够方便微信小程序的管理运用,从而减少信息管理成本,提高效率。
该微信小程序的成都美食分享系统采用Uni-weixin、SpringBoot架构技术,前端以小程序页面呈现给用户,结合后台java语言使页面更加完善,后台使用MySQL数据库进行数据存储。该微信小程序主要设计并完成了管理过程中的用户注册登录、个人信息修改、举报用户、拉黑用户、警告用户、举报店铺等管理功能。该微信小程序操作简便,界面设计简洁,不但可以基本满足本行业的日常管理工作,同时又可以有效减少人员成本和时间成本,为成都美食分享管理工作提供了方便。
关键词:微信小程序的成都美食分享系统;java语言;springboot框架;
Abstract
Today's society has entered a new era of scientific and technological progress and rapid economic and social development. International information and academic exchanges are also constantly strengthening, and the impact of computer technology on economic and social development and the improvement of people's lives is becoming increasingly prominent. The way humans survive and think has also changed. Traditional Chengdu food sharing adopts manual management methods, but this management method has many drawbacks, such as low efficiency, low security, and inaccurate information transmission. At the same time, due to the formation of numerous personal documents and information system data in Chengdu food sharing management, centralized management of food menus, food traces, food dynamics, Chengdu food, food stores, etc. through manual methods will result in retrieval The more complicated management issues such as changes and maintenance, as well as the increasing demand for network technology from users, require information technology to continue to undergo new reforms to meet the needs of the times. Based on this issue, developing a Chengdu food sharing system for WeChat mini programs can greatly improve the efficiency of information retrieval, change, and maintenance, as well as facilitate the management and application of WeChat mini programs, thereby reducing information management costs and improving efficiency.
The Chengdu food sharing system of this WeChat mini program adopts Uni Weixin and SpringBoot architecture technology. The front-end presents the mini program page to users, and the back-end uses Java language to make the page more complete. The back-end uses MySQL database for data storage. This WeChat mini program mainly designs and completes management functions such as user registration and login, personal information modification, reporting users, blacklisting users, warning users, and reporting stores during the management process. This WeChat mini program is easy to operate and has a simple interface design. It can not only meet the daily management needs of the industry, but also effectively reduce personnel and time costs, providing convenience for the sharing and management of Chengdu cuisine.
Keywords: Chengdu Food Sharing System for WeChat Mini Programs; Java language; Springboot framework;
目 录
摘 要 I
Abstract II
1 概 述
1.1 课题研究背景
1.2 微信小程序意义介绍
1.3 国内外研究现状 1
2 系统开发环境及相关技术 2
2.1 系统开发环境 2
2.2 系统开发技术 2
2.2.1 Spring Boot框架介绍
2.2.2 Java介绍
2.2.3 MySQL数据库
2.2.4小微信公众号开发技术
3 系统需求分析
2.1 可行性分析
3.2 功能需求分析
3.3 系统流程分析
3.3.1 登录流程
3.3.2 添加信息流程
3.3.3 收藏信息流程
4 系统设计
4.1 功能模块设计
4.2 系统数据库设计
4.2.1 数据库系统
4.2.2 数据库概念设计
4.2.3 数据表设计
4.2.4 数据表的建立
5 系统实现
5.1用户微信端模块实现
5.2管理员服务端模块实现
5.3看板展示
6 系统测试
6.1软件测试过程
6.2测试用例
结 论
致 谢
参 考 文 献
1.1 课题研究背景
近年来,由于计算机技术和互联网技术的飞速发展,所以各企事业单位内部的发展趋势是数字化、信息化、无纸化,随着这一趋势,而各种决策小程序、辅助小程序也就应运而生了,其中,微信小程序是其中重要的组成部分[1]。
成都美食分享管理工作向来都是在生活中不可或缺的一部分,然而多年以来人们大都习惯使用传统方法,即人工来完成美食菜单、美食痕迹、美食动态的管理,但是这种方法存在着工作效率低以及保密性差的问题,同时还会生成大量的文本和数据,在检索数据时极大不便。随着科技发展进步,我们已进入了信息化社会,仅仅依靠传统的表格管理方式已不能适应时代的要求。因此使用计算机来进行接手传统方式已经势在必行[2]。
而通过计算机技术来实现的微信小程序的成都美食分享系统拥有对信息的快速检索、保存了大量的信息、信息系统保存的稳定性高和维护成本低等优点,对成都美食分享管理的工作效率也能提高。如今,传统的人工管理方法、文件和图表打印等信息传输方法已经不能满足当下成都美食分享管理的发展需求,计算机科学与互联网技术的蓬勃发展,颠覆了人们的生活以及思维方式。微信小程序的成都美食分享系统的出现,利用信息技术将成都美食分享管理融于网络平台中,成为提高管理水平的有利手段,将会成为未来发展的新模式[3]。
1.2 微信小程序意义介绍
如今微信已是亚洲地区最大用户群体的移动即时社交通信软件,并且微信已不止社交这么简单,它包含了生活、支付、娱乐、媒体等人们生活中经常用到的多种服务。第一个微信小程序于2017年1月问世,便是利用微信官方提供的服务接口而生的最新的应用技术[4]。微信的这项功能是开放申请的,无论是个人还是政府、媒体或其他组织都可以申请注册并开发小程序,并且微信官方提供了一套专门的开发工具给开发者。微信的小程序和订阅号、服务号和公众号是并行体系,它们有些像,但又不一样。微信之父张小龙表示:现在太多人做公众号而非APP,于是导致现在微信公众号变成了一个媒体化的平台,但是我们的本意并非如此,我们想要提供服务而不是传播推广信息,于是就有了小程序。在手机应用层出不穷且手机存储能力有限的今天,微信小程序作为一种轻度云端应用正好符合了目前人们的需求。根据微信官方的说法,小程序是一种不需要下载安装即可使用的应用,它实现了应用“触手可及"的梦想,用户扫一扫或者搜一下即可打开应用。应用将无处不在,随时可用,但又无须安装卸载[5]。可以说未来随着网络和云的发展,手机应用程序将不再局限于本地模式,而是逐渐向着云端体验进化。
1.3国内外研究现状
在国外线上管理发展较早。相对应的软件的开发设计和保护也有所增加。由于长時间的技术积累,产品研发工作更是持续推动,最终获得了较大的发展。如今,向着智能化,数字化和信息化的方位快速发展。各行各业都使用了相似的规章制度,推动发展,获得了较好的经济效益[5]。
在国内,因起步较晚,目前的管理还不够完善,发展不平衡,对成都美食分享管理的管理过程中应用电子计算机和网上的领域以及外部状况信息存有很大差别。技术性简易地取代了过去的形式或方式,但根据更科学的方式再次设计方案管理的这一环节中,大家必须舍弃传统的管理方式,尽早更改管理方法,变化管理理念合理操纵,使系统更细腻,控制成本、提升管理效益。
计算机作为信息科学的媒介和关键,它的出现和发展对人类社会的繁荣起着至关重要的作用。无论是政府机构还是公共机构,都会根据工作内容选择一套优秀的通信技术和专业的办公设备,利用这些技术和设备快速收集、解决和存储信息,使管理工作变得方便快捷,达到科学合理的管理目标。
2 系统开发环境及相关技术
2.1 系统开发环境
本管理系统采用的集成开发环境为Eclipse,使用java等语言及springboot框架进行开发,其中硬件环境和软件环境如下:
- 硬件环境
处理器:Intel(R) Core(TM) i5-7400 CPU @ 3.00GHz 3.00GHz
内存:8GB
- 软件环境
操作系统:windows 10 64位操作系统
开发工具:Eclipse
2.2 系统开发技术
微信小程序的成都美食分享系统采用Uni-weixin、SpringBoot架构技术,前端以小程序页面呈现给用户,为B/S(Browser/Server)架构进行设计开发。在B/S架构下,用户在浏览器端进行使用,主要工作通过服务器端进行实现,用户通过网站进行访问大大节约了成本。本系统使用java等语言进行开发,使用MySQL进行数据存储。
2.2.1 Spring Boot框架介绍
该框架拥有自己独特的配置方式,网站开发人员不需要再进行大量重复的样板 式的配置工作,开箱即用,不会生成额外代码量,不需要进行XML文件的配置。
2.2.2 Java介绍
Java 最大的两个特点就是功能强大和简单易用。Java可以让程序员进行复杂的编程而不必为储存管理对象等问题所烦恼,把精力和时间更多的放在研发与设计上,极大地提高了开发者的工作效率和工作热情。
2.2.3 MySQL数据库
MySQL是一款小型关系型数据库管理系统(Relational Database Management System),开发商为瑞典MySQLAB公司。关系型数据库将数据存放在不同的表中,使数据更加规范化。MySQL因其体积小、速度快、源码开放的特点,很多网站开发都将MySQL作为首选。
- 微信开发者工作是微信官方提供的针对微信小程序的开发工具,集中了开发,调试,预览,上传等功能。微信团队发布了微信小程序开发者工具、微信小程序开发文档和微信小程序设计指南,全新的开发者工具,集成了开发调试、代码编辑及程序发布等功能,帮助开发者简单和高效地开发微信小程序。
2.启动工具时,开发者需要使用已在后台绑定成功的微信号扫描二维码登录,也可通过帐号密码进行登录,后续所有的操作都会基于这个微信的帐号.
3.早期微信应用的开发是一件非常痛苦的事情,因为基于微信的网页涉及到调用微信的接口,所以网页必须在微信的内置浏览器打开才能看到实际的运行效果。做过前端开发的同学都知道,Chrome和firefox都自带强大的调试工具,使用非常方便。但是基于微信的网页不能在这两种PC端浏览器中运行,所以调试是一个很大的问题。
4.幸运的是,现在这个问题已经不存在了,微信技术团队在去年年底的时候推出了微信web开发者工具:微信公众平台为开发者提供web开发者工具,用于帮助开发基于微信的网页或者webapp。它是一个桌面应用,通过模拟微信客户端的表现使得开发者可以使用这个工具方便地在PC或者Mac上进行开发和调试工作。
3 系统需求分析
2.1 可行性分析
根据微信小程序的成都美食分享系统所拥有的功能情况,通过经济效益、技术难度和管理方式进行全面的可行性分析,来提供准确的可行性依据。以下是本微信小程序的可行性分析:
使用了免费版的Eclipse节省了开发成本,在购买服务器后部署项目便能通过浏览器进行访问。
本管理系统采用B/S架构和java语言进行设计,通过分层分包的方法,有利于日常的维护,同时降低了代码之间的耦合。
本管理系统所需要的管理难度低,只需要一个管理员便能进行用户、举报用户、警告用户、成都美食、美食店铺、举报店铺、美食菜单、美食痕迹、举报痕迹、美食动态、举报动态等的删除、修改和添加[9]。
3.2 功能需求分析
微信小程序的成都美食分享系统综合网络空间开发设计要求。目的是将成都美食分享通过网络平台将传统管理方式转换为在网上操作,方便快捷、安全性高、交易规范做了保障,目标明确。微信小程序的成都美食分享系统可以将功能划分为用户和管理员功能[10]。
(1)、用户关键功能包含用户注册登陆、首页、用户、美食菜单、美食痕迹、美食动态、成都美食、美食店铺、地图、我的等有关功能。用户用例如下:
图3-1 用户用例图
(2)、管理员的权限是最高的,可以对系统所在功能进行查看,修改和删除等,管理员用例如下:
图3-2管理员用例图
3.3 系统流程分析
3.3.1 登录流程
每个用户都有专属的密码和账号,在输入合法的账号和密码之后即可进入系统。登录流程如图3-3所示:
图3-3 登录流程图
3.3.2 添加信息流程
管理层人员有添加用户信息等信息功能。添加信息流程如图3-4所示:
3.3.3 收藏信息流程
在微信小程序的成都美食分享系统中,用户登录后,浏览美食菜单、美食痕迹、美食动态、成都美食、美食店铺详情界面能进行信息收藏,用户收藏信息的流程图如图3-5所示:
图3-5 用户收藏信息流程图
4 系统设计
4.1 功能模块设计
微信小程序的成都美食分享系统根据权限类型进行分类,主要可分为用户微信端和管理员服务端二大模块。用户微信端模块主要实现了修改个人信息,查看美食菜单、美食痕迹、美食动态、成都美食、美食店铺等操作,加强了用户的操作体验。管理员服务端模块主要根据管理员对整个系统的管理进行设计,提高了管理的效率和规范[11]。系统总体模块设计如下图所示:
图4-1 系统总体模块设计
4.2 系统数据库设计
4.2.1 数据库系统
本系统采用MySQL来进行数据库的管理。基于WEB的MySQL体积小、速度快、成本低,能够及时处理上千万条记录,初步满足和支持大型的数据库高并发的读写和高效率读写等要求。
4.2.2 数据库概念设计
概念模型用于对信息世界建模,并与指定的数据库管理系统分离。它有助于将真实世界的事物抽象为适合于数据库管理系统的数据库模型。人们往往把现实世界抽象成信息世界,再把信息世界变成机器世界。也就是说,将现实世界的目标抽象成独立于专用计算机软件和专用数据库管理系统的信息结构的数据模型,然后将物理模型转化为适合电子计算机的数据库管理系统。事实上,数据模型是从现实世界到机器世界的中间层。
信息世界的基本要素包括实体和关联。实体(entity) 客观存在并可相互区别的事物称为实体。实体可以是实际的人、事或物,还可以是抽象化的概念或联络。以下是对部分主要的关键实体E-R如下:
用户信息实体E-R图如下图4-2所示。
图4-2用户信息实体E-R图
举报店铺实体E-R图如下图4-3所示。
图4-3举报店铺实体E-R图
美食菜单实体E-R图如下图4-4所示。
美食店铺实体E-R图如下图4-5所示。
图4-5美食店铺实体E-R图
微信小程序的成都美食分享系统总体E-R图如下图4-5所示。
图4-5微信小程序的成都美食分享系统总体E-R图
4.2.3 数据表设计
本管理系统的数据表的设计根据管理过程中的具体流程所需,方便了管理员对数据进行新增、删除、修改和查询的操作。
4.2.4 数据表的建立
系统使用MySQL工具对数据库进行操作,它有着简便的数据库管理操作以及强大的数据处理能力。以下是数据表的建立情况:
表4-1:美食店铺评论表
字段名称 | 类型 | 长度 | 字段说明 | 主键 | 默认值 |
id | bigint | 主键 | 主键 | ||
addtime | timestamp | 创建时间 | CURRENT_TIMESTAMP | ||
refid | bigint | 关联表id | |||
userid | bigint | 用户id | |||
avatarurl | longtext | 4294967295 | 头像 | ||
nickname | varchar | 200 | 用户名 | ||
content | longtext | 4294967295 | 评论内容 | ||
score | double | 评分 | |||
reply | longtext | 4294967295 | 回复内容 |
表4-2:用户
字段名称 | 类型 | 长度 | 字段说明 | 主键 | 默认值 |
id | bigint | 主键 | 主键 | ||
addtime | timestamp | 创建时间 | CURRENT_TIMESTAMP | ||
yonghuzhanghao | varchar | 200 | 用户账号 | ||
mima | varchar | 200 | 密码 | ||
yonghuxingming | varchar | 200 | 用户姓名 | ||
xingbie | varchar | 200 | 性别 | ||
dianhua | varchar | 200 | 电话 | ||
meishileixing | varchar | 200 | 兴趣标签 | ||
touxiang | longtext | 4294967295 | 头像 | ||
longitude | double | 经度 | |||
latitude | double | 纬度 | |||
fulladdress | varchar | 200 | 地址 | ||
status | int | 状态 | 0 | ||
passwordwrongnum | int | 密码错误次数 | 0 |
表4-3:举报用户
字段名称 | 类型 | 长度 | 字段说明 | 主键 | 默认值 |
id | bigint | 主键 | 主键 | ||
addtime | timestamp | 创建时间 | CURRENT_TIMESTAMP | ||
yonghuzhanghao | varchar | 200 | 用户账号 | ||
yonghuxingming | varchar | 200 | 用户姓名 | ||
touxiang | longtext | 4294967295 | 头像 | ||
jubaoshijian | datetime | 举报时间 | |||
jubaoneirong | longtext | 4294967295 | 举报内容 | ||
jubaozhanghao | varchar | 200 | 举报账号 | ||
jubaoxingming | varchar | 200 | 举报姓名 | ||
sfsh | varchar | 200 | 是否审核 | 待审核 | |
shhf | longtext | 4294967295 | 审核回复 |
表4-4:美食菜单评论表
字段名称 | 类型 | 长度 | 字段说明 | 主键 | 默认值 |
id | bigint | 主键 | 主键 | ||
addtime | timestamp | 创建时间 | CURRENT_TIMESTAMP | ||
refid | bigint | 关联表id | |||
userid | bigint | 用户id | |||
avatarurl | longtext | 4294967295 | 头像 | ||
nickname | varchar | 200 | 用户名 | ||
content | longtext | 4294967295 | 评论内容 | ||
score | double | 评分 | |||
reply | longtext | 4294967295 | 回复内容 |
表4-5:用户表
字段名称 | 类型 | 长度 | 字段说明 | 主键 | 默认值 |
id | bigint | 主键 | 主键 | ||
username | varchar | 100 | 用户名 | ||
password | varchar | 100 | 密码 | ||
image | varchar | 200 | 头像 | ||
role | varchar | 100 | 角色 | 管理员 | |
addtime | timestamp | 新增时间 | CURRENT_TIMESTAMP |
表4-6:举报痕迹
字段名称 | 类型 | 长度 | 字段说明 | 主键 | 默认值 |
id | bigint | 主键 | 主键 | ||
addtime | timestamp | 创建时间 | CURRENT_TIMESTAMP | ||
meishimingcheng | varchar | 200 | 美食名称 | ||
meishileixing | varchar | 200 | 美食类型 | ||
meishitupian | longtext | 4294967295 | 美食图片 | ||
jubaoshijian | datetime | 举报时间 | |||
jubaoneirong | longtext | 4294967295 | 举报内容 | ||
jubaozhanghao | varchar | 200 | 举报账号 | ||
jubaoxingming | varchar | 200 | 举报姓名 | ||
sfsh | varchar | 200 | 是否审核 | 待审核 | |
shhf | longtext | 4294967295 | 审核回复 |
表4-7:配置文件
字段名称 | 类型 | 长度 | 字段说明 | 主键 | 默认值 |
id | bigint | 主键 | 主键 | ||
name | varchar | 100 | 配置参数名称 | ||
value | varchar | 100 | 配置参数值 | ||
url | varchar | 500 | url |
表4-8:token表
字段名称 | 类型 | 长度 | 字段说明 | 主键 | 默认值 |
id | bigint | 主键 | 主键 | ||
userid | bigint | 用户id | |||
username | varchar | 100 | 用户名 | ||
tablename | varchar | 100 | 表名 | ||
role | varchar | 100 | 角色 | ||
token | varchar | 200 | 密码 | ||
addtime | timestamp | 新增时间 | CURRENT_TIMESTAMP | ||
expiratedtime | timestamp | 过期时间 | CURRENT_TIMESTAMP |
表4-9:成都美食
字段名称 | 类型 | 长度 | 字段说明 | 主键 | 默认值 |
id | bigint | 主键 | 主键 | ||
addtime | timestamp | 创建时间 | CURRENT_TIMESTAMP | ||
title | longtext | 4294967295 | 标题 | ||
shopname | varchar | 200 | 店名 | ||
picture | longtext | 4294967295 | 图片 | ||
province | varchar | 200 | 所在省 | ||
xqdz | longtext | 4294967295 | 详情地址 | ||
jiage | double | 价格 | |||
manjian | varchar | 200 | 满减 | ||
cuxiaoyu | longtext | 4294967295 | 促销语 |
表4-10:系统简介
字段名称 | 类型 | 长度 | 字段说明 | 主键 | 默认值 |
id | bigint | 主键 | 主键 | ||
addtime | timestamp | 创建时间 | CURRENT_TIMESTAMP | ||
title | varchar | 200 | 标题 | ||
subtitle | varchar | 200 | 副标题 | ||
content | longtext | 4294967295 | 内容 | ||
picture1 | longtext | 4294967295 | 图片1 | ||
picture2 | longtext | 4294967295 | 图片2 | ||
picture3 | longtext | 4294967295 | 图片3 |
表4-11:举报动态
字段名称 | 类型 | 长度 | 字段说明 | 主键 | 默认值 |
id | bigint | 主键 | 主键 | ||
addtime | timestamp | 创建时间 | CURRENT_TIMESTAMP | ||
dongtaibiaoti | varchar | 200 | 动态标题 | ||
dongtaileixing | varchar | 200 | 动态类型 | ||
dongtaifengmian | longtext | 4294967295 | 动态封面 | ||
jubaoshijian | datetime | 举报时间 | |||
jubaoneirong | longtext | 4294967295 | 举报内容 | ||
jubaozhanghao | varchar | 200 | 举报账号 | ||
jubaoxingming | varchar | 200 | 举报姓名 | ||
sfsh | varchar | 200 | 是否审核 | 待审核 | |
shhf | longtext | 4294967295 | 审核回复 |
表4-12:消息表
字段名称 | 类型 | 长度 | 字段说明 | 主键 | 默认值 |
id | bigint | 主键 | 主键 | ||
addtime | timestamp | 创建时间 | CURRENT_TIMESTAMP | ||
uid | bigint | 用户ID | |||
fid | bigint | 好友用户ID | |||
content | varchar | 200 | 内容 | ||
format | int | 格式(1:文字,2:图片) | |||
isread | int | 消息已读(0:未读,1:已读) | 0 |
表4-13:收藏表
字段名称 | 类型 | 长度 | 字段说明 | 主键 | 默认值 |
id | bigint | 主键 | 主键 | ||
addtime | timestamp | 创建时间 | CURRENT_TIMESTAMP | ||
userid | bigint | 用户id | |||
refid | bigint | 商品id | |||
tablename | varchar | 200 | 表名 | ||
name | varchar | 200 | 名称 | ||
picture | longtext | 4294967295 | 图片 | ||
type | varchar | 200 | 类型 | 1 | |
inteltype | varchar | 200 | 推荐类型 | ||
remark | varchar | 200 | 备注 |
表4-14:举报店铺
字段名称 | 类型 | 长度 | 字段说明 | 主键 | 默认值 |
id | bigint | 主键 | 主键 | ||
addtime | timestamp | 创建时间 | CURRENT_TIMESTAMP | ||
dianpumingcheng | varchar | 200 | 店铺名称 | ||
dianpuleixing | varchar | 200 | 店铺类型 | ||
dianpuzhaopian | longtext | 4294967295 | 店铺照片 | ||
jubaoshijian | datetime | 举报时间 | |||
jubaoneirong | longtext | 4294967295 | 举报内容 | ||
yonghuzhanghao | varchar | 200 | 用户账号 | ||
yonghuxingming | varchar | 200 | 用户姓名 | ||
sfsh | varchar | 200 | 是否审核 | 待审核 | |
shhf | longtext | 4294967295 | 审核回复 |
表4-15:联系管理
字段名称 | 类型 | 长度 | 字段说明 | 主键 | 默认值 |
id | bigint | 主键 | 主键 | ||
addtime | timestamp | 创建时间 | CURRENT_TIMESTAMP | ||
userid | bigint | 用户id | |||
adminid | bigint | 管理员id | |||
ask | longtext | 4294967295 | 提问 | ||
reply | longtext | 4294967295 | 回复 | ||
isreply | int | 是否回复 |
获取源码 ⬇