摘要:随着信息科技的快速发展和互联网的普及,信息技术在助力农业发展、促进农村振兴以及扶贫工作中发挥着越来越重要的作用。本文基于Spring Boot框架和Vue.js前端开发技术,设计完成了一个助农扶贫电商网站。网站提供便捷的农产品信息发布、农产品交易、农业知识普及等功能板块,同时通过商城配置管理后台,实现商户认证,商品管理,订单管理,评价管理等功能,系统具有一定的实用性。
本文结构主要分为绪论、需求分析,详细设计,系统编码,系统测试等章节,对系统研发的背景,技术路线以及详细实现过程进行阐述。通过本课题的研发实践,笔者对应用软件系统的研发流程及主流技术体系有了更全面的掌握与理解。
关键词:SpringBoot; Vue; 助农扶贫; 微信Native支付; AES加密; FastDFS
组织结构
本文共分为5章。
第1章绪论:本章首先介绍了研究的目的和意义,然后对国内外发展现状进行了分析,包括国外发展现状和国内发展现状。
第2章相关技术介绍:本章主要介绍了与本文研究相关的技术,包括Java、SpringBoot、Vue、B/S架构、MVC模式等。
第3章系统分析:本章对系统进行了可行性分析,包括技术可行性、时间可行性分析。接着对系统的性能需求进行了分析,包括期望的系统性能。然后对系统的功能需求进行了详细分析,包括系统流程分析和各个功能模块的业务流程描述。最后对系统的非功能性需求进行了分析。
第4章系统设计:本章首先进行了系统总体架构设计,包括架构设计原则、系统软件架构设计和系统物理架构设计。然后对系统的功能模块进行了详细设计,包括登录功能、注册功能、商品浏览功能、商品购买浏览功能、评价浏览功能、用户管理模块功能、商品管理模块功能、订单管理模块功能和评价管理业务功能的设计。最后对系统的非功能性需求进行了设计,并进行了数据库设计。
第5章系统实现与系统测试:本章首先介绍了系统环境的搭建,然后对系统的主要功能进行了实现,包括登录功能、注册功能、商品浏览功能、商品购买浏览功能、评价浏览功能、用户管理模块功能、商品管理模块功能、订单管理模块功能和评价管理业务功能的实现。最后对系统进行了测试,包括功能测试。
总体业务流程描述
网站提供了用户管理、商品管理和订单管理等模块。用户可以进行个人信息的修改和管理,包括修改密码、修改收货地址等。管理员可以对商品进行管理,包括添加商品、修改商品信息和删除商品等。同时,管理员还可以对订单进行管理,包括查看订单列表、订单详情和订单状态的更新。用户通过这些操作可以实现对商品的浏览、购买和评价,从而促进农产品的销售和农民的增收。系统流程的设计和实现对于网站的高效运行和用户体验至关重要。系统总体业务流程图如图3.1所示。
系统总体功能模块结构设计
系统总体功能模块结构设计是指对整个系统的功能进行划分和组织,确保各个功能模块之间的协调运作。在本论文的设计中,系统总体功能模块结构设计如下:
1.用户模块负责用户的注册、登录以及个人信息的管理。用户可以通过注册功能创建账号,并通过登录功能进行身份验证。在个人信息管理中,用户可以查看和修改个人信息。
2.商品模块主要包括商品的浏览和购买功能。用户可以在该模块中浏览不同类别的商品,并查看商品的详细信息。购买功能允许用户将选择的商品加入购物车,并完成订单支付。
3.订单模块负责管理用户的订单信息。用户可以在该模块中查看已购买的商品订单,并进行订单支付和取消操作。
4.评价模块用于用户对购买的商品进行评价。用户可以在该模块中查看已购买商品的评价,并对自己的购买商品进行评价。
系统总体功能模块结构图如下图4.2所示。
数据库设计
4.4.1 数据库逻辑设计
在本次助农扶贫网站的设计中,数据库概念设计包括以下几个方面的内容:
- 实体分析和设计:根据系统需求,确定需要存储的实体,例如用户、商品、订单和评价等。对每个实体进行属性的分析和设计,确定每个实体的属性名称、数据类型、长度、约束等。
- 关系分析和设计:分析和确定实体之间的关系,包括一对一关系、一对多关系和多对多关系等。根据关系的类型,确定关系的表示方式,例如使用外键进行关联。
- 主键设计:为每个实体确定主键,主键是唯一标识实体的属性,可以是单个属性或多个属性的组合。主键的设计需要满足唯一性和稳定性的要求。
- 数据库约束设计:确定数据库的约束条件,包括主键约束、外键约束、唯一约束和检查约束等。这些约束条件可以保证数据库中的数据的完整性和一致性。
- 数据库视图设计:根据系统需求,设计数据库的视图,以满足不同用户的数据访问需求。视图可以隐藏数据库的复杂性,提供简单和易用的数据展示方式。
本系统E-R图如4.12所示
系统实现
登录模块的开发与实现
用户通过登录功能可以访问个人信息、购买商品、查看订单等功能。本文将介绍基于SpringBoot+Vue的助农扶贫网站的登录功能的实现。
用户进入登录页面,输入账号信息并选择对应的角色。当用户点击登录按钮,会触发单击事件,执行login方法,会校验用户的账号信息,若账号信息不全会给出对应的提示,使用的信息都校验通过则使用axios发送post方法请求后端的登录接口,后端返回登录成功状态,前端进行判断。功能前端代码核心代码如下所示:
<el-divider>用户登录</el-divider>
<el-form ref="form" :model="form" label-width="80px">
<el-form-item label="账号">
<el-input onkeyup="this.value = this.value.replace(/[^\d]/g,'');" placeholder="请输入账号" v-model="form.account"></el-input>
</el-form-item>
<el-form-item label="密码">
<el-input placeholder="请输入密码" v-model="form.password" show-password></el-input>
</el-form-item>
<el-form-item label="角色">
<el-select v-model="form.user_type" placeholder="请选择角色">
<el-option label="用户" value="1"></el-option>
<el-option label="帮扶对象" value="2"></el-option>
<el-option label="管理员" value="3"></el-option>
</el-select>
</el-form-item>
<el-form-item>
<el-button type="primary" @click="login">立即登录</el-button>
<el-button type="info" @click="goForget">忘记密码</el-button>
</el-form-item>
</el-form>
后端接收到登录请求,对用户输入的密码使用AES进行加密。然后根据用户输入的账号去数据库里查询对应的账号信息,如果查询不到,则用户输入的账号信息不正确,反则进一步校验密码是否正确。密码正确则使用JWT根据账号信息生成token信息并返回,否则登录失败。登录功能后端代码核心代码如下:
@PostMapping("/login")
public Result login(@RequestBody User user){
//密码加密
user.setPassword(AESUtils.encryptByECB(key,user.getPassword()));
User checkUser = userService.selectByPrimaryKey(user.getAccount());
if(checkUser!=null){
if(checkUser.getPassword().equals(user.getPassword())
&&checkUser.getUserType().equals(user.getUserType())){
String token = JwtUtil.createJWT(UUID.randomUUID().toString(),
JSON.toJSONString(checkUser),
null);
return new Result(true, StatusCode.OK,"登录成功",token);
}
}
return new Result(false,StatusCode.ERROR,"账号或密码错误!");
}
商品浏览模块的开发与实现
在基于Springboot+Vue的助农扶贫网站中,通过使用Springboot+Vue,可以实现一个功能丰富、用户友好的商品浏览功能。用户可以方便地浏览和搜索各类农产品,提高购物的便利性和效率。这对于助农扶贫网站的发展和农产品的推广具有重要意义。
用户可以输入商品的名称,若不输入则默认查询,由于农产品商品的数量比较多,采用了分页进行显示。
商品购买浏览功能实现
商品购买浏览功能的实现主要包括商品列表展示、商品详情查看、商品加入购物车和下单购买等步骤。通过合理的页面设计和数据交互,用户可以方便地浏览、选择和购买自己感兴趣的商品,提高了网站的用户体验和购物便利性。
用户确认商品的购买,会发起微信支付二维码的生成请求。前端生成订单号,并把商品的名称以及价格一并使用axios.get发送给后端生成支付二维码接口。拿到支付二维码的url_code就可以qrious.js来显示支付二维码图片。
评价浏览功能实现
评价浏览功能是用户可以通过该功能查看其他用户对商品的评价,以便更好地了解商品的质量和性能。通过前后端的协作,可以实现用户对商品评价的浏览,提高用户对商品的了解程度,从而促进农产品的销售和农民的收入增加。
输入完评价信息,前端把评价信息封装成json格式的数据传输给系统的后端评价接口,根据后端接口的返回结果判断评价成功是否成功。前端代码核心代码如下所示:
帮扶认证功能实现
帮扶认证功能的实现基于Spring Boot后端框架处理业务逻辑和Vue前端框架提供用户交互界面。后端通过定义RESTful API接口,接收前端传递的帮扶申请数据,并进行验证和存储。
对帮扶对象的认证信息传输给后端的认证申请接口,根据后端的返回结果来判断是否认证成功。如果没有认证成功则提示相关错误信息,若认证成功得进行成功认证的提示并跳转到认证信息页面。
帮扶认证审核功能实现
在审核过程中,后端逻辑判断申请的有效性,如用户身份核实、资源匹配度评估等,并根据预设规则进行自动或手动审核。审核结果通过API返回给前端,前端根据结果展示相应的状态提示。同时,系统提供管理员审核界面,支持手动介入和特殊情况处理。整个帮扶认证功能的实现确保了扶贫资源的合理分配和使用的真实性,提高了扶贫工作的效率和透明度。
管理员对帮扶对象的认证申请进行审核,管理员仔细查阅认证的信息之后,需要选择审核下拉框,并提交审核。前端会校验审核的结果信息,通过校验然后请求后端的审核接口,更新审核结果。
用户管理模块功能实现
用户管理模块提供了对用户信息的管理和操作。在基于Springboot+vue的助农扶贫网站中,用户管理模块主要包括用户查询、修改、删除功能。
管理员选择要修改的用户,对用户信息进行修改。请求对应的用户更新接口,后端接口会更新相关的用户信息。如果用户不存在,则可以选择删除操作,根据用户id来删除。