1. 引言
农村网络零售额,在二零一九年增长到了1.7万亿元,相比较2014年增长8.4倍 [1]。中国工商业研究院预计,虽然受到新冠疫情影响,但整体规模依然有望实现增长趋势。初步预测,农村网络零售额将在二零二零年超1.8万亿元,并且农村电商在移动端拥有巨大发展潜力。
基于微信小程序的助农义购平台,通过构建在线商城模块、系统管理模块和农产品知识模块等模块,以农产品电子商务为主,农业知识学习为辅,为农民和购买者及时地提供各种信息,提高效率,降低成本。通过信息技术与现代农业的优化结合,能够帮助农民提供信息技术的便利,有效地推广农业技术。农产品滞销会打击农民种植积极性并且造成经济损失,严重时会对社会造成一定的危害,通过助农平台的开发,可以实现农产品的有效推广。通过信息技术实现助农工作的良性循环,最大程度缩短城乡差距,加快农村现代化进程,使社会经济结构的建设更加完善 [2]。因此,通过对本平台的设计实现,在乡村振兴战略和城乡一体化的背景下,实现生态产业化,产业生态化,为农村经济社会发展注入新的活力,给农民增收 [3]。
国内外研究现状
现在国内外已经存在很多农村电商平台。例如,国内有12,306扶贫商城,益农淘等;美国的Local Harvest,韩国的Kgfarm等。虽然这些平台可以满足农村电商的大部分需要,但是仍然存在一些不足,如没有流量进行支撑。而微信小程序,有10亿的微信用户作为支撑。
2.关键技术
2.1. SSM框架
SSM是由Spring、SpringMVC、MyBatis三个开源框架,集成的框架集,属于Web应用开发的一种框架 [4]。相比其他框架,轻量级配置、ORM (Object Relational Mapping)实现灵活、SQL优化简便及容易掌握等优势。
Sprin的核心是控制反转,由容器控制程序,简化代码,即就是不需要程序员去显式地创捷一个对象,而是框架帮你来完成这一切。Spring提供JDBC的封装类库,并且做了良好的隔离设计,使得系统即使没有使用Spring作为框架,也可以独立使用Spring的JDBC部分 [5]。
SpringMVC是Spring的Web MVC框架。与Struts2相比,与Spring的结构更加紧密集成,SpringMVC是完全在MVC系统之上的框架,支持Spring的特性。可以通过注解的方式实例化Controller和Service,并且不局限于JSP,可以使用任意视图技术 [6]。因此,本文选择SpringMVC作为表示层框架。运行原理图如图1所示。

Figure 1. SpringMVC operation schematic diagram
图1. SpringMVC运行原理图
Mybatis对Jdbc进行封装,让数据库底层操作变得更加透明。与Hibernate相比,Mybatis更灵活,更加小巧,更加方便统一维护与管理sql,且执行效率高Hibernate [7],适用于小型项目开发。所以,本文选用Mybatis作为持久层框架。
1) DisPatcherServlet前端控制器核心。
用户在浏览器输入url,发起请求,首先会到达DisPatcherServlet,由它来调用其他组件来配合工作的完成,DisPatcherServlet的存在大大降低了组件之间的耦合性。
2) HandlerMapping处理器映射器。
记录url与处理器的映射,方式有注解、XML配置等。
3) HandLer处理器后端控制器。对用户的请求进行处理。
4) HandlerAdapter处理器适配器。
通过HandlerAdapter对处理器进行执行,这是适配器模式的应用,通过扩展适配器可以对更多类型的处理器进行执行。
5) ViewResolver视图解析器。
ViewResolver负责解析view视图,并进行渲染(数据填充),将处理结果通过页面展示给用户看。
6) View视图。
View是一个接口,实现类支持不同的View类型(jsp、freemarker、velocity)一般情况下需要通过页面标签或者页面模板技术将模型数据通过页面展示给用户。
2.2. MySQL数据库
MySQL数据库作为一个关系型管理数据库系统,体积小,速度快,开放源代码,支持多线程和多用户,成为企业应用的Web系统中后台数据库的优先选择 [8]。数据库在本系统中的作用,如图2所示。
2.3. 微信小程序
微信平台框架是其开发的基础,实现开放接口、API和页面渲染功能的集合,在框架上实现页面、数据驱动视图的编写和底部接口的调用。微信小程序开发是基于JS、WXSS和WXML语言基础,不适用于Windows等第三方框架,其框架是Native层,封装一系列的组件,包含UI和逻辑组件 [9]。微信小程序框架如图2、图3所示。
开发框架:
WXML:描述页面的内容。
WXSS:描述页面的样式。
JavaScript:控制页面交互逻辑和数据通信。
WXS:它是对WXML能力的增强的一种脚本语言,可以将我们请求到的数据,进行filter(过滤),和计算处理,帮WXML快速构建出页面的内容结构。
3. 系统分析
基于微信小程序助农义购平台主要采用微信小程序、服务端使用java技术,基于Mysql、B/S结构,这些技术的成熟度可以保证系统的平稳流畅的运行。不论从硬件还是软件方面来看,技术可行性都符合标准。本平台基于B/S结构,用户使用小程序就可以随时随地访问,这些使系统有操作简单、管理容易、交互界面良好的特点。
4. 系统设计
4.1. 系统概述
基于微信小程序助农义购平台运行过程,如图4所示。
4.2. 系统结构设计
系统结构设计是决定了整个系统好坏的关键,同时也是系统设计阶段的产物。基于微信小程序助农义购平台的整体结构设计如图5所示。
4.3. 数据库设计
系统总体ER图。用总体ER图来说明每个实体之间的关系。如图6所示。

Figure 6. Overall ER diagram of the system
图6. 系统总体ER图
5. 系统实现
5.1. 实现技术
在微信小程序的开发中使用springMVC框架,后端数据库采用MySQL数据库进行数据的存储。
5.2. 登录
用户进入登录界面,输入账号与密码,就可以进入到用户界面。用户通过添加个人信息进行注册成为用户后登录系统等操作。如图7所示。
5.3. 用户
用户对农产品、农产品知识、我的收藏管理等进行添加、删除、修改以及查看、修改个人信息等操作,首页可以查看农产品推荐,并进行商品搜索等功能,农产品页面可以按照农产品分类,进行查找。农业知识页面可以学习农业知识,同时可以按照自己的意愿进行搜索。如下图8所示。
5.4. 购物
用户将农产品加入购物车、用户付款以及用户查看订单。如下图9所示。
6. 系统测试
基于微信小程序的助农义购开发最后步骤就是系统测试同样是重要环节,测试的好坏决定了产品发展。通过黑盒测试,可以验证软件的质量与性能等。
6.1. 部分测试
1) 管理员登录测试
输入账号和密码,点击登录按钮,如果账号和密码不匹配,查看是否会出现相应的提示。测试结果为:当正确输入账号和密码时登录成功;当账号和密码不匹配时,提示“账号或密码错误”。如图10所示。
2) 添加农产品分类测试
每个模块都有添加功能,当点击农产品分类模块,将添加的种类名称输入进去,点击提交,显示成功。当未输入信息时,点击提交会提示“分类不能为空”。如图11所示。

Figure 11. Agricultural product classification tests
图11. 农产品分类测试
6.2. 测试结果
具体操作如表1所示。

Table 1. Table of main functional test cases
表1. 主要功能测试用例表
7. 结束语
本平台是农产品买卖与农业知识学习的一体化平台,用户可以及时了解到最新的农业政策和技能,操作简单,容易上手,有着良好的发展前景。基于微信小程序助农义购平台,如果能够进一步完善的话,将会成为促进乡村发展的一大助力。
由于本平台开发的时间和人力有限,系统在一定程度上存在着某些不足,例如:小程序界面设计不是很好、没有部署到服务器、没有实现真实的支付功能,需要进一步的完善和拓展。
NOTES
*通讯作者。