基于springboot+vue的校园社团管理系统(前后端分离)
本系统分为三个角色,分别是管理员、社长、社员,以校园社团为主题,采用前后端分离,适合选题:社团管理、社团、校园社团、前后端分离类其他社团系统等。系统采用springboot+vue整合开发,前端主要使用了element-ui框架、项目后端主要使用了springboot,数据层采用mybatis。
·
博主主页:猫头鹰源码
博主简介:Java领域优质创作者、CSDN博客专家、公司架构师、全网粉丝5万+、专注Java技术领域和毕业设计项目实战
主要内容:毕业设计(Javaweb项目|小程序等)、简历模板、学习资料、面试题库、技术咨询
文末联系获取
项目介绍:
本系统分为三个角色,分别是管理员、社长、社员,以校园社团为主题,采用前后端分离,适合选题:社团管理、社团、校园社团、前后端分离类其他社团系统等。系统采用springboot+vue整合开发,前端主要使用了element-ui框架、项目后端主要使用了springboot,数据层采用mybatis。
系统包含技术:
后端:springboot,mybatis
前端:element-ui、js、css等
开发工具:idea/vscode
数据库:mysql 5.7
JDK版本:jdk1.8
部分截图说明:
下面是首页
下面是登录页面,不同角色可以登录
管理员查看系统用户
管理员查看社团活动
管理员查看社团类型
查看社团申请
社团信息
管理员通知信息查看
学生申请社团
信息维护
部分代码:
登录
@PostMapping("/login")
@ResponseBody
public R login(String userName, String passWord, HttpSession session){
Log.info("用户登录,用户名:{}, 用户密码:{}", userName, passWord);
Users user = usersService.getUserByUserName(userName);
if(user == null) {
return R.error("输入的用户名不存在");
}else {
if(passWord.equals(user.getPassWord().trim())) {
String token = IDUtils.makeIDByUUID();
cacheHandle.addUserCache(token, user.getId());
return R.success("登录成功", token);
}else {
return R.error("输入的密码错误");
}
}
}
社团操作
@GetMapping("/info")
@ResponseBody
public R getInfo(String id) {
Log.info("查找指定社团信息,ID:{}", id);
Teams teams = teamsService.getOne(id);
return R.successData(teams);
}
@GetMapping("/all")
@ResponseBody
public R getAll(){
Log.info("获取全部的社团");
List<Teams> list = teamsService.getAll();
return R.successData(list);
}
@GetMapping("/man")
@ResponseBody
public R getListByManId(String manId){
Log.info("获取指定社团管理员相关的社团列表");
List<Teams> list = teamsService.getListByManId(manId);
return R.successData(list);
}
@GetMapping("/page")
@ResponseBody
public R getPageInfos(Long pageIndex, Long pageSize,
String token, Teams teams) {
Users user = usersService.getOne(cacheHandle.getUserInfoCache(token));
if(user.getType() == 1){
teams.setManager(user.getId());
}
Log.info("分页查找社团信息,当前页码:{},"
+ "每页数据量:{}, 模糊查询,附加参数:{}", pageIndex,
pageSize, teams);
PageData page = teamsService.getPageInfo(pageIndex, pageSize, teams);
return R.successData(page);
}
@PostMapping("/add")
@ResponseBody
public R addInfo(Teams teams) {
teams.setId(IDUtils.makeIDByCurrent());
teams.setCreateTime(DateUtils.getNowDate("yyyy-MM-dd"));
Log.info("添加社团信息,传入参数:{}", teams);
teamsService.add(teams);
return R.success();
}
以上就是部分功能展示,从整体上来看,本系统功能是十分完整的,界面设计简洁大方,交互友好,数据库设计也很合理,规模适中,代码工整,清晰,适合学习使用。
好了,今天就到这儿吧,小伙伴们点赞、收藏、评论,一键三连走起呀,下期见~~
更多推荐
已为社区贡献4条内容
所有评论(0)