基于SpringBoot实现的历史馆藏系统设计与实现【源码+文档】

系统介绍

基于SpringBoot+Vue实现的历史馆藏系统采用前后端分离架构方式,系统设计了管理员、用户两种角色,系统实现了用户登录与注册、个人中心、管理员管理、用户管理、博物馆分类管理、公告类型管理、公告管理、留言板管理、展品管理、博物馆管理、博物馆预约管理、轮播图管理等功能。

技术选型

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

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

服务端技术:Springboot+Mybatis-Plus

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

成果展示

文档展示

管理端页面

用户登录

用户管理

公告类型管理

公告管理

留言板管理

展品管理

博物馆管理

博物馆预约管理

轮播图管理

用户端页面

用户登录

首页

博物馆

公告

留言板

展品

个人中心

源码展示

复制代码
@RequestMapping("users")
@RestController
publicclass 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<UsersEntity>().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){
     if(usersService.selectOne(new EntityWrapper<UsersEntity>().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("退出成功");
 }

/**
     * 密码重置
     */
    @IgnoreAuth
@RequestMapping(value = "/resetPass")
    public R resetPass(String username, HttpServletRequest request){
     UsersEntity user = usersService.selectOne(new EntityWrapper<UsersEntity>().eq("username", username));
     if(user==null) {
      return R.error("账号不存在");
     }
     user.setPassword("123456");
        usersService.update(user,null);
        return R.ok("密码已重置为:123456");
    }
}

账号地址及其他说明

1、地址说明

管理端登录页面 http://localhost:8081/#/login

用户端登录页面 http://localhost:8080/lishiguancangxitong/front/pages/login/login.html

2、账号说明

管理员 账户:admin 密码:admin

用户 账户:a1 密码:123456

3、目录结构展示

4、项目结构展示

5、以上系统源码,经过博主整理与调试,确保能正常运行!

6、制作不易,点赞、在看、分享再走吧,您的支持永远是我最大的动力!

7、运行步骤

1、创建数据库、导入sql脚本

2、修改application.yml中的数据库配置文件,启动服务端

3、在前端根目录下打开cmd,执行npm install或者yarn install下载依赖

4、下载完毕后启动前端npm run serve,访问端口

相关推荐
IT毕设实战小研3 分钟前
基于大数据的跨国外派人员适应满意度与留存影响因素可视化分析
android·java·大数据·python·django·课程设计
letisgo56 分钟前
JAVA 高级进阶10篇《消息队列实战:RocketMQ/Kafka选型与“不丢不重有序“三连解》
java·面试·kafka·消息队列·rocketmq
2401_8504811711 分钟前
UVA101
java
平头哥AI17 分钟前
Day 21 _ error 是个普通值_errors.New 与 fmt.Errorf 造出来,沿调用栈抛到 main 接住
后端·学习·golang·go
Lyyaoo.21 分钟前
【回溯】【中等】全排列
java·数据结构·算法
xixingzhe221 分钟前
spring boot对接Dify
java·spring boot·dify
数据狐(Datafox)23 分钟前
京东商品详情API接口解析(附 JSON 样例)
java·开发语言·json
写后端的胖头鱼25 分钟前
一文讲懂JVM与调优
jvm·后端·算法·架构·jvm调优
步行cgn26 分钟前
Spring Boot 指定数据来源详解
spring boot·后端·python
Wang's Blog28 分钟前
Java框架快速入门: Spring Security+OAuth2之深度定制UserDetailsService与密码无缝升级
java·开发语言·spring