当前位置: 首页 > article >正文

基于SpringBoot+Vue的旅游管理系统【源码+文档+部署讲解】

系统介绍

基于SpringBoot+Vue实现的旅游管理系统采用前后端分离架构方式,系统设计了管理员、用户两种角色,系统实现了用户登录与注册、个人中心、用户管理、景点信息管理、订票信息管理、用户评价管理、景点咨询、轮播图管理等功能。

技术选型

开发工具:idea2020.3+Webstorm2020.3

运行环境:jdk1.8+maven3.6.0+MySQL5.7+nodejs14.21.3+Redis

服务端技术:Springboot+Mybatis-Plus

前端技术:html+css+Vue+axios+Element-UI

成果展示

文档展示

后台管理

用户登录

用户管理

景点信息管理

订票信息管理

用户评价管理

景点咨询

轮播图管理

前端页面

首页

景点信息

景点咨询

个人中心

源码展示

@RequestMapping("users")
@RestController
public class UserController{
 
 @Autowired
 private UserService userService;
 
 @Autowired
 private TokenService tokenService;

 /**
  * 登录
  */
 @IgnoreAuth
 @PostMapping(value = "/login")
 public R login(String username, String password, String captcha, HttpServletRequest request) {
  UserEntity user = userService.selectOne(new EntityWrapper<UserEntity>().eq("username", username));
  if(user==null || !user.getPassword().equals(password)) {
   return R.error("账号或密码不正确");
  }
  String token = tokenService.generateToken(user.getId(),username, "users", user.getRole());
  return R.ok().put("token", token);
 }
 
 /**
  * 注册
  */
 @IgnoreAuth
 @PostMapping(value = "/register")
 public R register(@RequestBody UserEntity user){
     if(userService.selectOne(new EntityWrapper<UserEntity>().eq("username", user.getUsername())) !=null)   {
      return R.error("用户已存在");
     }
        userService.insert(user);
        return R.ok();
    }

 /**
  * 退出
  */
 @GetMapping(value = "logout")
 public R logout(HttpServletRequest request) {
  request.getSession().invalidate();
  return R.ok("退出成功");
 }
 
 /**
     * 密码重置
     */
    @IgnoreAuth
 @RequestMapping(value = "/resetPass")
    public R resetPass(String username, HttpServletRequest request){
     UserEntity user = userService.selectOne(new EntityWrapper<UserEntity>().eq("username", username));
     if(user==null) {
      return R.error("账号不存在");
     }
     user.setPassword("123456");
        userService.update(user,null);
        return R.ok("密码已重置为:123456");
    }
 
 /**
     * 列表
     */
    @RequestMapping("/page")
    public R page(@RequestParam Map<String, Object> params,UserEntity user){
        EntityWrapper<UserEntity> ew = new EntityWrapper<UserEntity>();
     PageUtils page = userService.queryPage(params, MPUtil.sort(MPUtil.between(MPUtil.allLike(ew, user), params), params));
        return R.ok().put("data", page);
    }

 /**
     * 列表
     */
    @RequestMapping("/list")
    public R list( UserEntity user){
        EntityWrapper<UserEntity> ew = new EntityWrapper<UserEntity>();
       ew.allEq(MPUtil.allEQMapPre( user, "user")); 
        return R.ok().put("data", userService.selectListView(ew));
    }

    /**
     * 信息
     */
    @RequestMapping("/info/{id}")
    public R info(@PathVariable("id") String id){
        UserEntity user = userService.selectById(id);
        return R.ok().put("data", user);
    }
}

账号地址及其他说明

1、地址说明

登录页:http://localhost:8081/#/login

2、账号说明

管理员:admin/admin

用户:用户1/123456(可自行注册用户)


http://www.kler.cn/a/514648.html

相关文章:

  • 【JDBC】数据库连接的艺术:深入解析数据库连接池、Apache-DBUtils与BasicDAO
  • C语言程序设计十大排序—选择排序
  • Android SystemUI——CarSystemBar车载状态栏(九)
  • 事件和方法
  • 金融场景 PB 级大规模日志平台:中信银行信用卡中心从 Elasticsearch 到 Apache Doris 的先进实践
  • C# 的 NLog 库高级进阶
  • gitlab处理空文件夹的提交或空文件夹提交失败
  • 洛谷题目 P1271 【深基9.例1】选举学生会 题解
  • 物联网边缘(Beta)离全面落地还有多远?
  • MySQL主从配置
  • Excel常用功能总结
  • java中的单元测试的使用以及原理
  • 机器学习-线性回归(简单回归、多元回归)
  • Java爬虫还有其他用途吗?
  • 头歌实训作业 算法设计与分析-贪心算法(第3关:活动安排问题)
  • cling: c++交互式执行
  • 数据分析 基础定义
  • 深入探讨Web应用开发:从前端到后端的全栈实践
  • 无人机反制设备:察打诱一体设备技术详解
  • Linux:修改用户名
  • 5.9 洞察 OpenAI - Translator:日志(Logger)模块的 “时光记录仪”
  • 「全网最细 + 实战源码案例」设计模式——单例设计模式
  • 深度学习 Pytorch 动态计算图与梯度下降入门
  • HTTPS协议简述
  • Flask基础和URL映射
  • 【spring专题】编译spring5.3源码