手机wap网站导航模板,建立自我追求无我,建站软件排行榜,二次元wordpress博客#x1f449;文末查看项目功能视频演示获取源码sql脚本视频导入教程视频
1 、功能描述 基于VUE的校园二手物品交易管理系统8拥有两种角色
管理员#xff1a;闲置物品管理、订单管理、用户管理
用户#xff1a;登录注册、购物车、发布闲置物品、评论、发货、收货地址管理等…文末查看项目功能视频演示获取源码sql脚本视频导入教程视频
1 、功能描述 基于VUE的校园二手物品交易管理系统8拥有两种角色
管理员闲置物品管理、订单管理、用户管理
用户登录注册、购物车、发布闲置物品、评论、发货、收货地址管理等
1.1 背景描述 基于VUE的校园二手物品交易管理系统是一个使用Vue.js框架构建的Web应用程序。它旨在提供一个方便、可靠的平台以管理校园内的二手物品交易。该系统主要包括用户管理、物品管理、订单管理和评价管理等功能。 用户管理模块允许学生、教师和管理员注册、登录和修改个人信息。物品管理模块使学生可以发布和搜索物品包括名称、描述和价格等信息。订单管理模块涵盖了订单生成、支付和发货等流程。评价管理模块则保障了交易的公正性和安全性。 该系统特点在于界面友好、操作简便和功能完善。它满足了校园内二手物品交易的需求使学生更方便地进行二手物品交易提高物品利用率并节约资源。同时它也减少了浪费并保护了环境。
2、项目技术
后端框架springboot、Mybatis
前端技术VUE
2.1 springboot Spring Boot是由Pivotal团队提供的基于Spring的框架该框架使用了特定的方式来进行配置从而使开发人员不再需要定义样板化的配置。Spring Boot集成了绝大部分目前流行的开发框架就像Maven集成了所有的JAR包一样Spring Boot集成了几乎所有的框架使得开发者能快速搭建Spring项目。
2.2 mysql MySQL是一款Relational Database Management System直译过来的意思就是关系型数据库管理系统MySQL有着它独特的特点这些特点使他成为目前最流行的RDBMS之一MySQL想比与其他数据库如ORACLE、DB2等它属于一款体积小、速度快的数据库重点是它符合本次毕业设计的真实租赁环境拥有成本低开发源码这些特点这也是选择它的主要原因。
3、开发环境
JAVA版本JDK1.8IDE类型IDEA、Eclipse都可运行tomcat版本无需数据库类型MySql5.5-5.7、8.x版本都可maven版本无限制硬件环境Windows
4、功能截图视频演示文档目录
4.1 登录 4.2 前端模块 4.3 用户模块 4.4 管理员模块 5 、核心代码实现
5.1 配置代码
# 使用对象关系映射将对象和xml文件联系起来
# 指定MyBatis映射文件的路径
mybatis.typeAliasesPackagecom.second.hand.trading.server.model
mybatis.mapperLocationsclasspath:mapper/*.xmlspring.datasource.driver-class-namecom.mysql.cj.jdbc.Driver
spring.datasource.urljdbc:mysql://localhost:3306/second_hand_trading?characterEncodingutf8useSSLfalseserverTimezoneUTCrewriteBatchedStatementstrueallowPublicKeyRetrievaltrue
spring.datasource.usernameroot
spring.datasource.passwordroot# multipart上传文件
spring.servlet.multipart.enabledtrue
#单个文件上传最大值
spring.servlet.multipart.max-file-size200MB
#单次上传最大值
spring.servlet.multipart.max-request-size200MB
#文件存放目录
userFilePathD:\\1\\backend\\src\\main\\resources\\image
# 后端url
baseUrlhttp://localhost:8080spring.jackson.time-zoneGMT8
spring.jackson.date-formatyyyy-MM-dd HH:mm:ss# 中文乱码
server.servlet.encoding.charsetutf-8
server.servlet.encoding.enabledtrue
server.servlet.encoding.forcetrue5.2 用户管理核心代码
package com.second.hand.trading.server.controller;import com.second.hand.trading.server.enums.ErrorMsg;
import com.second.hand.trading.server.model.UserModel;
import com.second.hand.trading.server.service.UserService;
import com.second.hand.trading.server.vo.ResultVo;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;import javax.servlet.http.Cookie;
import javax.servlet.http.HttpServletResponse;
import javax.validation.constraints.NotEmpty;
import javax.validation.constraints.NotNull;
import java.sql.Timestamp;RestController
RequestMapping(user)
public class UserController {Autowiredprivate UserService userService;/*** 注册账号* param userModel* return*/PostMapping(sign-in)public ResultVo signIn(RequestBody UserModel userModel) {System.out.println(userModel);userModel.setSignInTime(new Timestamp(System.currentTimeMillis()));if (userModel.getAvatar() null || .equals(userModel.getAvatar())) {userModel.setAvatar(https://cube.elemecdn.com/0/88/03b0d39583f48206768a7534e55bcpng.png);}if (userService.userSignIn(userModel)) {return ResultVo.success(userModel);}return ResultVo.fail(ErrorMsg.REGISTER_ERROR);}/*** 登录不安全可伪造id后期改进** param accountNumber* param userPassword* param response* return*/RequestMapping(login)public ResultVo login(RequestParam(accountNumber) NotEmpty NotNull String accountNumber,RequestParam(userPassword) NotEmpty NotNull String userPassword,HttpServletResponse response) {UserModel userModel userService.userLogin(accountNumber, userPassword);System.out.println(登录 userModel);System.out.println();System.out.println(accountNumber userPassword);System.out.println();if (null userModel) {return ResultVo.fail(ErrorMsg.EMAIL_LOGIN_ERROR);}// 用户名或者密码为空if(accountNumber.equals() || userPassword.equals()){return ResultVo.fail(ErrorMsg.EMAIL_LOGIN_ERROR);}// 手机号长度不足11位if(userModel.getAccountNumber().length() ! 11){return ResultVo.fail(ErrorMsg.EMAIL_LOGIN_ERROR);}if(userModel.getUserStatus()!nulluserModel.getUserStatus().equals((byte) 1)){return ResultVo.fail(ErrorMsg.ACCOUNT_Ban);}Cookie cookie new Cookie(shUserId, String.valueOf(userModel.getId()));
// cookie.setMaxAge(60 * 60 * 24 * 30);cookie.setPath(/);cookie.setHttpOnly(false);response.addCookie(cookie);return ResultVo.success(userModel);}/*** 退出登录** param shUserId* param response* return*/RequestMapping(logout)public ResultVo logout(CookieValue(shUserId)NotNull(message 登录异常 请重新登录)NotEmpty(message 登录异常 请重新登录) String shUserId, HttpServletResponse response) {Cookie cookie new Cookie(shUserId, shUserId);cookie.setMaxAge(0);cookie.setPath(/);cookie.setHttpOnly(true);response.addCookie(cookie);return ResultVo.success();}/*** 获取用户信息** param id* return*/GetMapping(info)public ResultVo getOneUser(CookieValue(shUserId) NotNull(message 登录异常 请重新登录)NotEmpty(message 登录异常 请重新登录)String id) {return ResultVo.success(userService.getUser(Long.valueOf(id)));}/*** 修改用户公开信息* param id* param userModel* return*/PostMapping(/info)public ResultVo updateUserPublicInfo(CookieValue(shUserId) NotNull(message 登录异常 请重新登录)NotEmpty(message 登录异常 请重新登录)String id, RequestBody UserModel userModel) {userModel.setId(Long.valueOf(id));if (userService.updateUserInfo(userModel)) {return ResultVo.success();}return ResultVo.fail(ErrorMsg.SYSTEM_ERROR);}/*** 修改密码* param id* param oldPassword* param newPassword* return*/GetMapping(/password)public ResultVo updateUserPassword(CookieValue(shUserId) NotNull(message 登录异常 请重新登录)NotEmpty(message 登录异常 请重新登录) String id,RequestParam(oldPassword) NotEmpty NotNull String oldPassword,RequestParam(newPassword) NotEmpty NotNull String newPassword) {if (userService.updatePassword(newPassword,oldPassword,Long.valueOf(id))) {return ResultVo.success();}return ResultVo.fail(ErrorMsg.PASSWORD_RESET_ERROR);}
}
6 、功能视频演示 基于VUE的校园二手物品交易管理系统8 7 、 获取方式 大家点赞、收藏、关注、评论啦 获取联系方式后台回复关键词二手