专业技术开发,收藏关注不迷路
前言
近几年,基于微信平台的小程序非常的被推崇。微信小程序有很多优点,不需要安装,直接关注小程序码就可以打开,本文就是对农产品预订小程序系统设计和开发部署并运行,整个实现过程中采用分布式微服务架构,即是通过把应用的不同业务划分成微服务,根据服务的粒度进行划分,每一个服务都有清晰的界限,服务与服务之间通过RPC的相关协议进行通信,对应用进行充分解耦,扩展能力强。
本文首先研究了通过Eclipse作为开发工具,Maven作为项目构建工具,以Spring boot作为微服务框架的理论可行性研究以及相关技术的理论概述。然后本文以农产品订购小程序作为业务开发切入点,探讨了小程序与农产品订购的相容性,通过微服务框架Spring boot 把整个系统拆分成不同的模块;通过分布式框架SpringBoot对农产品进行分层,实现后台管理和微信小程序API的分离,利用Vue.js实现了前端和后台的分离;最后对平台进行功能测试和性能测试。
本文基于上述技术架构并使用Java作为开发语言,完整的开发出了农产品订购小程序平台,能稳定的运行,并通过了一系列相关的测试,达到了预期的效果。
一、项目介绍
本系统主要分为小程序端和后台端,小程序端的主要功能有:(1)首页:首页是客户打开小程序的第一个页面,一般在该页面中呈现的信息量最大,而且充分展现小程序的亮点,以便吸引客户、留住客户。(2)分类:供用户在小程序中随便挑选自己想要的不同类型的商品。(3)商品搜索:方便用户很快找到自己心目当中的物品类型,便可以到此进行搜索。(4)购物车:选择自己喜欢的商品添加到购物车中,可将已经放入购物车中的商品生成一张订单并确认,可将“未作确认”的缺货订单取消。(5)我的界面:主要有登录获取,查看订单等功能。后台端主要的功能有:(1)商品列表界面:管理员通过商品类别列表可以进行类别信息的添加、删除、修改、查询。(2)订单管理界面:可以进行订单查看和删除。
思路:使用微信小程序开发工具,MySQL数据库,WXML完成页面的结构,WXSS完成小程序的页面样式,JavaScript完成与用户的交互来实现微信小程序农产品订购系统。
二、开发环境
使用微信小程序开发工具,MySQL数据库,WXML完成页面的结构,WXSS完成小程序的页面样式,JavaScript完成与用户的交互来实现微信小程序农产品订购系统。
三、功能介绍
本平台是基于分布式构建的系统,所有采用模块化设计的理念进行开发,每个模块只管自己的业务,如果模块之间有联系的话,则通过暴露的接口传输,绝不在模块内部进行与其他模块的通信,降低系统的耦合度。本平台分为如下模块:用户模块、订单模块、农产品模块、分类模块、购物车模块、静态模块、文件模块、管理员模块、主页模块、数据统计模块。
下面我将分别为各模块作简单介绍。
(1)用户模块设计
本模块主要微信小程序用户的注册、登陆、用户信息和token的获取、用户收获地址的获取。
(2)订单模块设计
本模块主要是用户交易农产品后生成订单、用户查看已生成的订单、商户查看已生成订单、商户管理订单。
(3)农产品模块设计
本模块具有如下功能:商户发布农产品、小程序农产品展示、热门农产品设置、商户修改农产品信息。
(4)分类模块设计
本模块具有如下功能:管理员对农产品分类的添加修改、管理员对商户分类的添加修改。
(5)购物车模块设计
本模块具有如下功能:用户可以查看购物车对应的农产品、用户修改购物车里的农产品、用户清空购物车、购物车农产品一键购买。
(6)管理员模块设计
本模块具有如下功能:管理员登陆、管理员分权。
(7)数据统计模块设计
本模块具有如下功能:商户查看订单报表、流水报表等,管理员查看平台所有的订单、农产品、流水、用户等报表。
(8)主页模块设计
本模块具有如下功能:管理员对轮播图的上传和编辑、微信小程序端轮播图的查看、管理员对热门搜索内容的上传和编辑、搜索接口的实现
(9)文件模块设计
此模块主要是用于上传图片、文件到对应的静态服务器,并且返回对应的文件的储存路径。
四、核心代码
部分代码:
package com.fc.v2.controller;
import com.fc.v2.common.base.BaseController;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.stereotype.Controller;
import org.springframework.ui.ModelMap;
import org.springframework.web.bind.annotation.GetMapping;
/**
* 如果有前台这儿写前台访问方法
* @ClassName: IndexController
* @author fuce
* @date 2019-10-21 00:15
*/
@Api(tags = "首页模块")
@Controller
public class IndexController extends BaseController{
/**
* 前台访问 域名:端口 例如:localhost:80的get请求
* @param map
* @return
* @author fuce
* @Date 2019年11月20日 下午10:55:13
*/
@ApiOperation(value="前台",notes="前台")
@GetMapping("/")
public String index(ModelMap map) {
//直接访问后台用
return "redirect:/admin/login";
//return "index";
}
/**
* 前台访问/index的get请求
* @param map
* @return
* @author fuce
* @Date 2019年11月20日 下午10:54:56
*/
@ApiOperation(value="前台",notes="前台")
@GetMapping("/index")
public String index2(ModelMap map) {
//直接访问后台用
//return "redirect:/admin/login"
return "index";
}
}
五、效果图
六、文章目录
目 录
1 绪论 1
1.1系统研究背景 1
1.2国内外研究现状 1
1.3系统研究的意义 2
1.4系统研究的主要内容 2
1.5论文的组织架构 3
2 架构技术分析 4
2.1 项目开发工具 4
2.1.1 Eclipse开发集成环境 4
2.1.2 Maven项目自动化构建工具 4
2.1.3 数据库开发工具Navicat 4
2.2 Spring boot微服务开发系列技术 5
2.2.1 微服务介绍 5
2.2.2 Spring boot技术 5
2.2.3 使用Spring boot 实现微服务化 5
2.3 微信小程序开发系列技术 6
2.3.1 微信小程序介绍 6
2.3.2 微信小程序技术架构 6
2.4 本章小结 7
3 系统需求分析与设计 8
3.1 系统需求分析 8
3.2 系统架构设计 8
3.3 业务功能模块设计 11
3.4 系统数据库设计 12
3.5 本章小结 20
4 微信小程序系统实现 21
4.1项目构建 21
4.2微服务化 21
4.2.1 微服务构建 21
4.2.2 微服务实现 23
4.3 Eureka服务注册与发现 25
4.4 Zuul网关 26
4.5 Feign服务消费端 27
4.6 Hystrix容错 28
4.7 Cloud Config配置 29
4.8本章小结 30
5 业务系统实现 31
5.1小程序实现 31
5.1.1小程序主页功能 32
5.1.2农产品列表功能 32
5.1.3新增用户地址 33
5.1.4农产品详情功能 34
5.1.4农产品提交订单功能 35
5.1.5选择收货地址 35
5.1.6小程序订单列表功能 36
5.1.7订单结算功能 37
5.1.8农产品分类功能 38
5.1.9个人中心功能 39
5.2后台管理实现 39
5.2.1后台农产品分类 39
5.2.2运费模板 40
5.2.3农产品管理 41
5.2.4订单管理 42
5.2.5用户管理 43
5.2.6轮播图管理 43
5.2.7统计功能 44
6 系统运行测试 45
6.1 小程序核心功能测试 45
6.1.1小程序主页测试 45
6.1.2农产品购买测试 45
6.1.3下单测试 46
6.2 后台管理核心功能测试 47
6.2.1农产品添加测试 47
6.2.2订单管理测试 48
6.3 接口性能测试 49
6.4 本章小结 50
7 总结和展望 51
7.1 全文总结 51
7.2 全文展望 51
参考文献 53