基于微信小程序的工艺品溯源系统的设计与实现
2021-08-09赵鹏于碧鹏秦小东
赵鹏 于碧鹏 秦小东
(1.广州软件学院 广东省广州市 510990 2.广州石化中学 广东省广州市 510700)
1 研究背景与意义
在现如今,消费者们普遍缺乏正品意识以及维权意识。当消费者们购买了出现质量问题的产品后,无法正确得知该产品的信息来源,而导致无法对问题产品进行下一步的处理及追责。而生产者也因信息的不完整,无法得知其生产产品是在生产环节、加工环节亦或是流通环节发生的问题所导致产品出现了瑕疵。
产品溯源系统是通过一物一码技术,实现商品生产加工、包装仓储、渠道物流、终端销售、真伪查询、数据分析等产品全生命周期信息记录追溯管理,帮助企业提高商品品牌价值,综合竞争力,并获取商品市场大数据信息,为企业经营决策提供有利数据依据。产品溯源系统可针对企业所生成的不同商品制定相应的溯源系统,开放性的自定义系统可根据不同产品所特有的生产流程来自定义溯源流程,实现企业多品牌多产品的不同溯源流程需求,完美匹配大型多元化生产企业的需求。
1.1 国内外环境研究现状
追本溯源是人类的天性。在漫长的时间发展中,欧盟逐渐不仅仅是对牛肉的溯源,慢慢的建立了对工艺品、艺术品等的溯源系统。
1.2 可行性研究
本系统技术范围涉及比较广泛,计划采用目前市面上比较主流且开源的开发体系,技术选型如下。
微信小程序客户端是基于微信的平台进行开发与部署,小程序目前生态良好,且具有更丰富的功能和出色的使用体验,从而降低用户的使用难度。
微信小程序的restful 风格的api 搭建采用spring 系列中的springBoot,是目前企业中最主流的的框架之一。它基于Spring4.0设计,不仅继承了Spring 框架原有的优秀特性,而且还通过简化配置来进一步简化了Spring 应用的整个搭建和开发过程[6]。Spring Boot 的自动化装配也是它成为目前主流框架的原因之一。
后台前端框架采用vue,vue.js 目前最火的一个前端框架,三大主流前端框架之一,这也是中国人创建的框架语言,并且受到了大量的开发人员的喜爱。vue是轻量级的,它有很多独立的功能或ui库,帮助减少不必要的dom 操作。
数据库层面采用目前oracle 公司开源的数据库MYSQL,MYSQL 是一个轻量级关系型数据库管理系统,一般中小型网站的开发都选择Linux + MYSQL 作为网站数据库采用阿里云服务器负责承载后台程序,将后台数据库的数据通过使用后台api 接口进行数据处理。
2 系统分析
2.1 系统架构
本系统的总体架构主要分为,微信小程序客户端,web 服务器端,mysql 数据库,其中微信小程序,主要采用微信小程序的原生框架MINA 以及前端UI 组件VANT WEAPP,Vant 是业界主流的移动端组件库之一。本系统采用了MVVM 的模式完成微信小程序客户端的数据处理与逻辑绑定。Web 服务器端的前端主要采用VUE+element UI 担任前端的UI 设计,同样也是采用MVVM 架构。后台主要使用SpringBoot 进行restful 风格的api 搭建,以及如何对数据库进行数据处理,这里的主要采用MVC 架构。数据库层面主要采用MYSQL 数据库,通过navicat 数据库可视化界面工具编写SQL 语句,并将其嵌入到mybatis 的核心页面中。将写好的SpringBoot 后端处理系统,存放入阿里云服务器的tomcat web 容器中,将mysql 的数据,通过navicat 将数据拷贝进入阿里云服务器的mysql 数据库中。这里使用的是阿里云服务器的centos 操作系统,并且对centos 系统搭建java 开发环境、mysql 开发环境。基于微信小程序的特殊要求,我们需要购买域名和ssl 证书,采用https 的网络请求,在tomcat 中我们配置跨域请求和https 证书安装等。
图1:微信小程序系统功能模块设计图
图2:客户端业务流程图
2.2 软件系统结构
图3:系统总体实体图
主要工作是搭建微信小程序溯源系统的客户端前台、java 后台、服务器的购买与环境搭建、数据库的开发和设计等。本系统一共分为三个用户,分别为微信小程序客户端用户、工艺师用户、管理员用户。微信小程序用户,主要是对工艺品的信息进行查询,一共分为三种查询方式,分别为二维码查询、正品码查询以及工艺师查询,通过输入特定的二维码可以获取工艺品的信息。通过正确的二维码也可以查询到工艺品信息。通过工艺师的信息可以获取到工艺师的个人生平。
后台管理员主要是对工艺师进行数据管理,他需要具有可以对工艺师的账号信息进行添加、删除、查找、修改等功能,由于本系统采用的是管理员一对多工艺师,所以管理员具有能够为工艺师创建正品码的权限,工艺师可以向管理员提出申请正品码,所以管理员也具有可以对正品码进行创建、删除、查询等功能。
微信小程序溯源系统功能模块设计如图1 所示。
3 系统设计
3.1 系统业务流程
基于微信小程序溯源系统的客户端业务使用流程,进入到微信小程序页面,进入到浏览主页,可以选择三个模块,进入工艺师模块,输入刚刚创建的工艺师的姓名,可以找到创建的工艺师的信息。进入正品码模块,输入关联的正品码,可以查询到工艺品的溯源信息,以及制作工艺品的工艺师个人信息,当输入的正品码有误时,会将错误返还给用户。进入二维码模块,扫一扫自动生成的二维码,可以查询到工艺品的信息。客户端业务流程图如图2 所示。
基于微信小程序溯源系统的后台业务使用流程,当进入系统管理员的权限之后,可以创建一个工艺师的信息,然后为工艺师创建他所持有的的正品码,创建正品码之后,退出系统管理员界面,进入工艺师的个人信息页面,在这里可以上传有关工艺师的更详细的个人信息,譬如个人照片,拥有证书等等。然后在工艺品的相关页面,创建有关工艺品的轮播图,产品图,制作说明,创建完毕之后,关联工艺师所具有的的正品码并且生成所对应的二维码,进行防伪验证。
E-R 图是将该系统的需求抽象为一个信息结构的过程,是该系统编写各类数据结构的基础,用E-R 数据模型进行概念设计,可以促进本系统的快速开发,例如本系统的工艺师信息就是一个实体,它包含了工艺师的个人信息,姓名,编号,备注,手机号等属性,他们之间的关系可以分为三种:一对一、一对多、多对多。下面罗列了微信小程序系统的主要实体信息。
3.2 E-R图设计
由系统的实体以及实体与实体之间的联系可以得出系统的E-R图,微信小程序溯源系统的总体E-R 图如图3。
使用E-R 图确定了该系统的实体内容了解了实体之间的关系,下一步通过对数据库表的合理设计可以减少数据冗余、提高存取速度。
4 系统实现
4.1 后台管理员登录模块
后台管理员输入账号和密码,经过系统验证,登录进入后台系统对工艺师等信息进行数据处理,如果输入的账号密码错误,则提醒用户输入账号有误,请重新输入。登录模块的ui 分别为账号输入框和密码输入框以及背景图片。
4.2 添加工艺师信息模块
后台管理员登陆成功之后,进入工艺师模块,可以创建工艺师的信息,创建工艺师的样式为一张表单,表单有四个输入框,分别为编号、姓名、手机号以及备注,其中备注为非必填项。创建的工艺师信息为系统不曾创建过的信息,如果创建工艺师的姓名、手机号、编号存在,那么创建失败并给于提示。
后台管理员对工艺师的个人信息进行修改,点击修改按钮,进入修改信息的表单,修改信息的表单由4 个输入框组成,其中工艺师的编号不允许被修改为禁止状态。进入页面会获得被修改工艺师的个人信息,当数据修改完成,点击确定按钮即可修改工艺师的信息。微信小程序客户端用户进入正品码模块,输入正确的正品码,可以查询到工艺品的信息和制造它的工艺师的介绍。
微信小程序客户进入主页,点击二维码模块,进入二维码模块,通过获取特定的二维码,通过二维码扫一扫可以获取与之关联的工艺品信息。微信小程序进入工艺师查询模块,输入工艺师对应的姓名可以获取工艺师的个人信息等。
5 系统测试
测试在本系统中十分的重要,如果测试不合格可能会导致系统运行时崩溃。所以项目开发完毕,结合微信小程序客户端,和后台系统进行全面的测试,在微信小程序客户端对各个功能模块进行功能测试,在后台服务器的客户端对数据录入进行功能测试。该系统采用黑盒测试的方法,根据需求分析对各个模块进行功能测试。性能测试采用的是微信小程序开发者工具提供的测试工具,通过测试报告进行性能分析。
正品码查询工艺品信息,是客户端的主要模块之一,通过这个模块我们可以了解到工艺品的溯源信息和制造他的工艺师的个人信息。这里对客户端用户输入的正确的正品码和输入错误的正品码以及不输入正品码进行测试。
通过二维码扫一扫查询工艺品信息,这里微信小程序客户端用户获取特殊的二维码,通过主页的二维码模块进行测试扫一扫,不同的二维码可以获取到不同的工艺品信息。这里测试输入正确的二维码和输入错误的二维码进行测试。通过输入工艺师的姓名可以查询到工艺师的个人图片、证书信息等等,这里测试输入存在的工艺师、不存在的工艺师以及输入的工艺师为空的情况。
管理员后台登录模块,是操作后台程序的门户,主要功能就是验证输入的账号密码是否正确,防止有心人恶意篡改数据。本次测试分为三种方案输入正确的账号密码、错误的账号密码、不输入账号密码的情况。
性能测试是检验本系统能否在高并发等极端情况下能否抗住数据流量的冲击,以及正常负载和异常负载下的各项性能指标。本系统采用微信小程序开发者工具自带的测试工具进行测试。测试结果总分87 分,性能、体验、最佳实践基本均超过合格线。因此本系统在性能方面基本没有问题。