微信小程序毕业设计-学院自习室预约系统(附源码+论文)

大家好!我是职场程序猿,感谢您阅读本文,欢迎一键三连哦。

💞当前专栏:微信小程序毕业设计

精彩专栏推荐👇🏻👇🏻👇🏻

👉🎀 安卓app毕业设计
👉🌎Java毕业设计

一、项目简介

本文介绍了使用微信小程序技术开发基于微信小程序的新乡学院自习室预约系统的设计与实现过程,首先对实现该系统的技术进行分析,说明选择Java后台技术和MySQL数据库的必要性,然后对基于微信小程序的新乡学院自习室预约系统的需求进行分析。并接着对系统进行设计,包括架构设计、功能设计、数据库设计。最后进行了系统实现。针对系统用户权限问题进行了设计,在前台界面为提升用户体验,使用Jquery、Ajax、CSS等技术进行布局。基于微信小程序的新乡学院自习室预约系统上线后,反应良好,达到了所有的需求目的,完善了教务工作,为高校发展具有一定的实际价值。

二、系统设计

2.1软件功能模块设计

习室预约管理系统的用户是系统最根本使用者,按需要分析系统包括用户:学生、管理员。
管理员通过后台的登录页面,选择管理员权限后进行登录,管理员的权限包括学生信息管理和文章公告管理。自习室公告管理,添加自习室公告信息,给学生发布一些学校的公告内容,为学习提前做准备,管理员管理后点击退出,注销登录信息。
学生用户只要实现了前台信息的查看,打开首页,查看网站介绍、在线交流、信息公告等,学生用户通过账户账号登录,登录后查看自习室、预约自习室。
用户功能结构图如4.1所示:在这里插入图片描述

2.2数据库设计

本系统的E-R图如下图所示:
(1)管理员信息实体E-R图:在这里插入图片描述

(2)公告信息实体E-R图在这里插入图片描述
(3)类型信息实体E-R图在这里插入图片描述
(4)学生信息实体E-R图在这里插入图片描述
(5) 高校自习室信息E-R图在这里插入图片描述
(6)留言交流信息E-R图在这里插入图片描述

三、系统项目部分截图

3.1首页界面

搭建微信小程序环境后,进入到系统首页,首页包括头部的logo,导航条,中间为文章公告信息。
小程序首页如下图所示:在这里插入图片描述
自习室列表界面
用户打开本系统后,可以查看自习室列表信息。如下图所示:在这里插入图片描述

高校自习室预约界面
用户打开本系统后,可以查看高校自习室信息,并进行预约。如下图所示:在这里插入图片描述

3.2管理员功能模块

留言管理
在系统主界面中的导航菜单中,有留言按钮,点击按钮,就可以在留言界面进行信息添加和管理。在这里插入图片描述

学生信息管理
在系统主界面中的导航菜单中,有学生信息按钮,点击按钮,就可以在学生信息界面进行信息添加和管理。在这里插入图片描述

公告管理
管理员查看公告信息。其中,公告信息管理界面为5.9所示:
在这里插入图片描述

高校自习室信息管理
在系统主界面中的导航菜单中,有高校自习室管理按钮,点击按钮,就可以在高校自习室管理界面进行高校自习室信息添加和管理。其中高校自习室添加的界面如下:
在这里插入图片描述

自习室预约审核管理
在系统主界面中的导航菜单中,有自习室预约管理按钮,点击按钮,就可以在自习室预约管理界面进行信息审核和管理。
其中,自习室预约管理界面为5.7所示:

在这里插入图片描述

四、论文目录

摘 要 I
Abstract I
第一章 绪论 1
1.1系统开发的背景 1
1.2系统开发的意义 1
1.3本文研究内容 2
第二章 系统开发技术 3
2.1 JAVA技术 3
2.2 MYSQL数据库 3
2.3 微信小程序介绍 4
第三章 系统分析 5
3.1用户需求分析 5
3.1.1 学生用户 5
3.1.3 管理员用户 5
3.2 系统用例分析 5
3.2.1 公告管理用例分析 5
3.2.2 系统管理用例分析 6
3.2.3 学生信息用例分析 7
3.2.4 高校自习室管理用例分析 8
3.3 非功能性需求分析 9
第四章 系统设计 11
4.1系统功能设计 11
4.2 系统总体设计 12
4.2.1 系统流程图 12
4.2.2 数据流图 12
4.3 系统架构设计 13
4.4 数据库设计 14
4.4.1 ER图设计 14
4.4.2 数据库表设计 15
第五章 系统实现 20
5.1小程序功能的实现 20
5.1.1 学生注册界面 20
5.1.2 首页界面 20
5.1.3 自习室列表界面 21
5.1.4 高校自习室预约界面 22
5.1.5 在线交流界面 23
5.2管理员模块的实现 24
5.2.1 留言管理 24
5.2.2 学生信息管理 24
5.2.3 公告管理 25
5.2.4 高校自习室信息管理 25
5.2.5 自习室预约审核管理 26
结论 28
参考文献 29
致 谢 31

五、部分核心代码

4.1 用户部分


package com.controller;


import java.util.Arrays;
import java.util.Calendar;
import java.util.Date;
import java.util.Map;

import javax.servlet.http.HttpServletRequest;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.ResponseBody;
import org.springframework.web.bind.annotation.RestController;

import com.annotation.IgnoreAuth;
import com.baomidou.mybatisplus.mapper.EntityWrapper;
import com.entity.TokenEntity;
import com.entity.UserEntity;
import com.service.TokenService;
import com.service.UserService;
import com.utils.CommonUtil;
import com.utils.MD5Util;
import com.utils.MPUtil;
import com.utils.PageUtils;
import com.utils.R;
import com.utils.ValidatorUtils;

/**
 * 登录相关
 */
@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){
//    	ValidatorUtils.validateEntity(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);
    }
    
    /**
     * 获取用户的session用户信息
     */
    @RequestMapping("/session")
    public R getCurrUser(HttpServletRequest request){
    	Long id = (Long)request.getSession().getAttribute("userId");
        UserEntity user = userService.selectById(id);
        return R.ok().put("data", user);
    }

    /**
     * 保存
     */
    @PostMapping("/save")
    public R save(@RequestBody UserEntity user){
//    	ValidatorUtils.validateEntity(user);
    	if(userService.selectOne(new EntityWrapper<UserEntity>().eq("username", user.getUsername())) !=null) {
    		return R.error("用户已存在");
    	}
        userService.insert(user);
        return R.ok();
    }

    /**
     * 修改
     */
    @RequestMapping("/update")
    public R update(@RequestBody UserEntity user){
//        ValidatorUtils.validateEntity(user);
    	UserEntity u = userService.selectOne(new EntityWrapper<UserEntity>().eq("username", user.getUsername()));
    	if(u!=null && u.getId()!=user.getId() && u.getUsername().equals(user.getUsername())) {
    		return R.error("用户名已存在。");
    	}
        userService.updateById(user);//全部更新
        return R.ok();
    }

    /**
     * 删除
     */
    @RequestMapping("/delete")
    public R delete(@RequestBody Long[] ids){
        userService.deleteBatchIds(Arrays.asList(ids));
        return R.ok();
    }
}

获取源码或论文

源码下载:

https://download.csdn.net/download/m0_46388260/87794052

如需对应的论文,可下方微信联系。

  • 3
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值