基于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,访问端口

相关推荐
草履虫建模19 小时前
力扣算法 1768. 交替合并字符串
java·开发语言·算法·leetcode·职场和发展·idea·基础
qq_2975746721 小时前
【实战教程】SpringBoot 实现多文件批量下载并打包为 ZIP 压缩包
java·spring boot·后端
老毛肚21 小时前
MyBatis插件原理及Spring集成
java·spring·mybatis
学嵌入式的小杨同学1 天前
【Linux 封神之路】信号编程全解析:从信号基础到 MP3 播放器实战(含核心 API 与避坑指南)
java·linux·c语言·开发语言·vscode·vim·ux
lang201509281 天前
JSR-340 :高性能Web开发新标准
java·前端·servlet
Re.不晚1 天前
Java入门17——异常
java·开发语言
缘空如是1 天前
基础工具包之JSON 工厂类
java·json·json切换
追逐梦想的张小年1 天前
JUC编程04
java·idea
好家伙VCC1 天前
### WebRTC技术:实时通信的革新与实现####webRTC(Web Real-TimeComm
java·前端·python·webrtc
南极星10051 天前
蓝桥杯JAVA--启蒙之路(十)class版本 模块
java·开发语言