一、项目介绍
本设计完成了基于Vue2+elementUI的二手书管理系统的设计与实现。现代移动化网络发展下,不同于以往的短信、邮件、收音机传递信息,网页是向用户传输信息的主要媒介之一。书籍也是向人们传递信息和知识的媒介,如今书籍印刷和出版的快速发展,以及社会文化水平的进步,越来越多的读书客使得书籍市场愈发壮大,由此为了获得需要制作书籍的纸张砍伐了更多的森林,增大了保护环境的压力。伴随着网络用户的逐渐增长,在网上通过网页或者小程序交易二手图书的人越来越多。
在本毕业设计中,前端开发方面使用了Vue.js和Element UI构建了一个带有搜索、筛选、发布、购买、订单管理等功能的Web应用程序。并且使用Vuex作为状态管理器,方便管理应用程序的多个组件之间的共享状态。同时,为了增加应用程序的可重用性和灵活性,将应用程序划分为多个组件,每个组件都可以独立开发、调试和测试。在Vue-router和axios的帮助下,实现一个完全响应式的单页面应用程序。组要功能包括:(1)用户登录与注册;(2)二手书籍搜索:(3)购物车功能;(4)书籍买卖。在后端开发方面使用Node.js和Express框架,对应用程序进行服务器端开发,同时使用MongoDB作为数据存储,对用户、书籍、订单信息进行管理和存储。
最终实现一个基于vue2.0+node.js且功能完善、流畅易用的二手书交易平台,为用户提供了一个能登录注册,能买能卖,能搜索二手书的平台,拥有良好的用户体验,帮助他们更加便捷地进行二手书籍的交流和交易。通过该系统,用户可以轻松地添加、编辑和删除书籍信息,该系统还提供了购物车功能,以帮助用户更好地管理订单。
关键词:Vue2.0,二手书,电商,nodeJs+express
二、开发环境
开发语言:Java
框架:springboot
JDK版本:JDK1.8
服务器:tomcat7
数据库:mysql
数据库工具:Navicat11
开发软件:eclipse/myeclipse/idea
Maven包:Maven
————————————————
三、功能介绍
本章主要阐述本设计的各个功能模块的需求。
3.2.1 用户登录功能
用户输入用户名和密码后,点击登录按钮,系统需要验证用户的账号和密码是否正确。如果账号和密码正确,系统需要跳转到用户的个人信息页面。如果账号和密码不正确,系统需要提示用户账号或密码错误,并清空用户输入的密码框。
用户需要有记住密码的选项,系统需要保存用户的登录状态,下次打开页面时不需要再次登录。用户可以选择使用第三方账号(如微信、QQ)登录,系统需要提供相应的第三方登录接口。
3.2.2 用户注册功能
用户在注册页面输入用户名、密码、确认密码、邮箱等信息,点击注册按钮后,系统需要对输入的信息进行验证。如果信息填写不完整或格式不正确,系统需要给出相应的提示,提示用户修改错误的信息。如果输入的两次密码不一致,系统需要提示用户两次输入的密码不一致。注册成功后,系统需要自动跳转到登录页面,并提示用户注册成功,请登录。
3.2.3 书籍搜索功能
用户在搜索框中输入关键字,点击搜索按钮后,系统需要根据关键字搜索相关的书籍。系统需要支持模糊搜索,即输入的关键字可以是书名、作者名、出版社、ISBN等信息的一部分,系统需要返回匹配的结果。系统需要支持分页显示搜索结果,每页可以显示固定数量的书籍信息,并提供翻页功能。用户可以选择按照价格、评分等信息进行排序,系统需要根据用户选择的排序方式对搜索结果进行排序。系统需要提供筛选功能,用户可以根据自己的需求,筛选出符合条件的书籍,例如按照价格范围、出版时间等进行筛选。
3.2.4 书籍上架功能以及购买功能
书籍上架功能:
需要售卖二手书的用户需要登录系统后,才能进入书籍上架页面。卖书者在书籍上架页面填写书籍信息,包括书名、作者、出版社、价格、信息,并上传书籍封面图片。可以填写多个标签,用于分类和搜索书籍。卖书者需要进行价格和库存的合理性检查,确保上架的书籍信息正确无误。点击提交按钮后,系统需要将书籍信息存储到数据库中,上架成功后,提示上架成功。
购买功能:
用户在搜索页面或者书籍详情页面点击购买按钮后,系统需要验证用户是否已登录。如果用户未登录,则需要提示用户先登录。用户确认购买后,系统需要扣除相应的购买金额,并将购买记录存储到数据库中,同时更新书籍库存信息。购买成功后,系统需要提示用户购买成功,并显示相应的购买记录。
为了实现以上需求,在前端使用Element-UI的Input、Button、Checkbox等组件来实现登录页面的构建,同时使用Axios库发送HTTP请求与后端进行数据交互。在后端,则需要编写相应的登录接口,进行账号密码的验证,并返回结果给前端。如果使用第三方账号登录,还需要与第三方接口进行对接,获取用户信息。同时,在登录状态保存方面,可以使用浏览器提供的localStorage或cookie来实现。
四、核心代码
部分代码:
package com.example.controller;
import cn.hutool.core.util.StrUtil;
import cn.hutool.crypto.SecureUtil;
import com.example.common.Result;
import com.example.common.ResultCode;
import com.example.entity.Caiwu;
import com.example.exception.CustomException;
import com.example.service.CaiwuService;
import com.example.utils.MapWrapperUtils;
import com