基于SpringBoot+Vue校园菜鸟驿站管理系统的设计与实现 您所在的位置:网站首页 菜鸟驿站功能分区 基于SpringBoot+Vue校园菜鸟驿站管理系统的设计与实现

基于SpringBoot+Vue校园菜鸟驿站管理系统的设计与实现

2024-06-21 02:34| 来源: 网络整理| 查看: 265

博主主页:一季春秋博主简介:专注Java技术领域和毕业设计项目实战、Java、微信小程序、安卓等技术开发,远程调试部署、代码讲解、文档指导、ppt制作等技术指导。主要内容:SpringBoot、Vue、SSM、HLMT、Jsp、PHP、Nodejs、Python、小程序、安卓app、大数据等设计与开发。

感兴趣的可以收藏+关注,所有项目均配有开发文档,一系列安装配置教程,可以定制功能包安装运行!!

🍅文末获取联系🍅

系统介绍

在此基础上,结合现有校园菜鸟驿站体系的特点,运用新技术,构建了以 springboot为基础的校园菜鸟驿站信息化管理体系。首先,以需求为依据,根据需求分析结果进行了系统的设计,并将其划分为管理员和用户二种角色和多个主要模块:用户、快递类型、快递信息、取件信息等。使用目前市场主流的技术springboot框架进行项目构建,基于B/S架构开发模式,使用Java开发语言和MySQL数据库对系统进行高内聚低耦合的设计,最终完成了校园菜鸟驿站管理系统的实现。

系统主要技术  开发语言:Java 使用框架:spring boot 前端技术:JavaScript、Vue 、css3 开发工具:IDEA/MyEclipse/Eclipse、Visual Studio Code 数据库:MySQL 5.7/8.0 数据库管理工具:phpstudy/Navicat JDK版本:jdk1.8 Maven: apache-maven 3.8.1-bin 系统展示

校园菜鸟驿站管理系统的整体结构设计主要分为二大部分:管理员和用户。他们的权限不同,于是操作功能也有所不同。整体结构设计如图4-2所示。

5.1 管理员功能模块的实现

管理员打开校园菜鸟驿站管理系统后,首先要填写本人的登录信息,后端会查询数据库信息,若用户名、密码、角色,全部正确会自动跳转到系统功能主页面,否则需要重新输入登录信息,界面如图5-1所示。

图5-1管理员登录界面

管理员登录校园菜鸟驿站管理系统可以新增、修改或者删除系统首页、个人中心、用户管理、快递类型管理、快递信息管理、取件信息管理等。其界面如图5-2所示。

图5-2 管理员功能界面

管理员点击用户管理;在用户管理页面通过对用户账号、用户姓名、性别、头像、用户电话、身份证号等信息,进行查询、新增或删除用户信息等操作;如图5-3所示。

图5-3用户管理界面图

管理员点击快递类型管理;在快递类型管理页面通过对快递类型等信息,进行查询或新增、删除快递类型等操作;如图5-4所示。

图5-4快递类型管理界面图

管理员点击快递信息管理;在快递信息管理页面通过对快递单号、快递名称、快递类型、图片、状态、取件码、取件地点、入库时间、发布时间、用户账号、用户姓名、用户电话等信息,进行查询或新增、删除快递信息等操作;如图5-5所示。

图5-5快递信息管理界面图

管理员点击取件信息管理;在取件信息管理页面通过对快递单号、快递名称、快递类型、取件地点、入库时间、取件时间、用户账号、用户姓名、用户电话等信息,进行查询或新增、删除取件信息等操作;如图5-6所示。

图5-6取件信息管理界面图

5.2用户功能模块的实现

在系统上用户点击注册或者登录按钮,在注册、登录界面填写信息完成后,单击注册或者登录操作,如图5-7所示:

    图5-7用户注册、用户登录界面

用户登录系统后可以对系统首页、个人中心、快递信息管理、取件信息管理等功能进行操作。如图5-8所示:

图5-8 用户功能主界面

用户点击快递信息管理;在快递信息管理页面通过对快递单号、快递名称、快递类型、图片、状态、取件码、取件地点、入库时间、发布时间、用户账号、用户姓名、用户电话等信息,进行查询快递信息等操作;如图5-9所示。

图5-9快递信息管理界面图

用户点击取件信息管理;在取件信息管理页面通过对快递单号、快递名称、快递类型、取件地点、入库时间、取件时间、用户账号、用户姓名、用户电话等信息,进行查询取件信息等操作;如图5-10所示。

图5-10取件信息管理界面图

部分核心代码 /** * 登录相关 */ @RequestMapping("users") @RestController public class UsersController { @Autowired private UsersService usersService; @Autowired private TokenService tokenService; /** * 登录 */ @IgnoreAuth @PostMapping(value = "/login") public R login(String username, String password, String captcha, HttpServletRequest request) { UsersEntity user = usersService.selectOne(new EntityWrapper().eq("username", username)); if(user==null || !user.getPassword().equals(password)) { return R.error("账号或密码不正确"); } String token = tokenService.generateToken(user.getId(),username, "users", user.getRole()); R r = R.ok(); r.put("token", token); r.put("role",user.getRole()); r.put("userId",user.getId()); return r; } /** * 注册 */ @IgnoreAuth @PostMapping(value = "/register") public R register(@RequestBody UsersEntity user){ // ValidatorUtils.validateEntity(user); if(usersService.selectOne(new EntityWrapper().eq("username", user.getUsername())) !=null) { return R.error("用户已存在"); } usersService.insert(user); return R.ok(); } /** * 退出 */ @GetMapping(value = "logout") public R logout(HttpServletRequest request) { request.getSession().invalidate(); return R.ok("退出成功"); } /** * 修改密码 */ @GetMapping(value = "/updatePassword") public R updatePassword(String oldPassword, String newPassword, HttpServletRequest request) { UsersEntity users = usersService.selectById((Integer)request.getSession().getAttribute("userId")); if(newPassword == null){ return R.error("新密码不能为空") ; } if(!oldPassword.equals(users.getPassword())){ return R.error("原密码输入错误"); } if(newPassword.equals(users.getPassword())){ return R.error("新密码不能和原密码一致") ; } users.setPassword(newPassword); usersService.updateById(users); return R.ok(); } /** * 密码重置 */ @IgnoreAuth @RequestMapping(value = "/resetPass") public R resetPass(String username, HttpServletRequest request){ UsersEntity user = usersService.selectOne(new EntityWrapper().eq("username", username)); if(user==null) { return R.error("账号不存在"); } user.setPassword("123456"); usersService.update(user,null); return R.ok("密码已重置为:123456"); } /** * 列表 */ @RequestMapping("/page") public R page(@RequestParam Map params,UsersEntity user){ EntityWrapper ew = new EntityWrapper(); PageUtils page = usersService.queryPage(params, MPUtil.sort(MPUtil.between(MPUtil.allLike(ew, user), params), params)); return R.ok().put("data", page); } /** * 列表 */ @RequestMapping("/list") public R list( UsersEntity user){ EntityWrapper ew = new EntityWrapper(); ew.allEq(MPUtil.allEQMapPre( user, "user")); return R.ok().put("data", usersService.selectListView(ew)); } /** * 信息 */ @RequestMapping("/info/{id}") public R info(@PathVariable("id") String id){ UsersEntity user = usersService.selectById(id); return R.ok().put("data", user); } /** * 获取用户的session用户信息 */ @RequestMapping("/session") public R getCurrUser(HttpServletRequest request){ Integer id = (Integer)request.getSession().getAttribute("userId"); UsersEntity user = usersService.selectById(id); return R.ok().put("data", user); } /** * 保存 */ @PostMapping("/save") public R save(@RequestBody UsersEntity user){ // ValidatorUtils.validateEntity(user); if(usersService.selectOne(new EntityWrapper().eq("username", user.getUsername())) !=null) { return R.error("用户已存在"); } usersService.insert(user); return R.ok(); } /** * 修改 */ @RequestMapping("/update") public R update(@RequestBody UsersEntity user){ // ValidatorUtils.validateEntity(user); usersService.updateById(user);//全部更新 return R.ok(); } /** * 删除 */ @RequestMapping("/delete") public R delete(@RequestBody Long[] ids){ List user = usersService.selectList(null); if(user.size() > 1){ usersService.deleteBatchIds(Arrays.asList(ids)); }else{ return R.error("管理员最少保留一个"); } return R.ok(); } }



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有