项目运行
环境配置:
Jdk1.8 + Tomcat7.0 + Mysql + HBuilderX(Webstorm也行)+ Eclispe(IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持)。
项目技术:
SSM + mybatis + Maven + Vue 等等组成,B/S模式 + Maven管理等等。
环境需要
1.运行环境:最好是java jdk 1.8,我们在这个平台上运行的。其他版本理论上也可以。
2.IDE环境:IDEA,Eclipse,Myeclipse都可以。推荐IDEA;
3.tomcat环境:Tomcat 7.x,8.x,9.x版本均可
4.硬件环境:windows 7/8/10 1G内存以上;或者 Mac OS;
5.是否Maven项目: 否;查看源码目录中是否包含pom.xml;若包含,则为maven项目,否则为非maven项目
6.数据库:MySql 5.7/8.0等版本均可;
毕设帮助,指导,本源码分享,调试部署(见文末)
3.3系统功能分析
考虑到实际生活中在开放式实验室预约方面的需要以及对该系统认真的分析,将系统权限按管理员和用户这两类涉及用户划分。
(a) 管理员;管理员使用本系统涉到的功能主要有:首页、个人中心、用户管理、实验室管理、实验室预约管理、通知公告管理等功能。管理员用例图如图3-1所示。
图3-1 管理员用例图
(b) 用户;用户使用本系统涉到的功能主要有:首页、个人中心、实验室管理、实验室预约管理、通知公告管理等功能。用户用例图如图3-2所示。
图3-2用户用例图
3.4系统流程的分析
由于不同的系统实际使用用户角色的不同,他们的业务分析也会变得有所不一样,为了论述方便接下来都将以用户功能权限下的系统业务流程来分析,如下图所展示:
3.4.1 用户管理的流程
图3-3 用户管理流程
3.4.2 个人中心管理流程
图3-4 个人中心管理流程
3.4.3 登录流程
图3-5 登录流程
4.1 软件功能模块设计
系统整体功能如下图所示:
图 4-1 系统总体功能模块图
4.2 数据库设计
4.2.1 概念模型设计
概念模型是对现实中的问题出现的事物的进行描述,ER图是由实体及其关系构成的图,通过E-R图可以清楚地描述系统涉及到的实体之间的相互关系。
系统注册实体图如图4-2所示:
图4-2系统注册实体图
实验室实体图如图4-3所示:
图4-3实验室实体图
实验室预约实体图如图4-4所示:
图4-4实验室预约实体图
5.1系统登录注册
开放式实验室预约系统注册,在注册页面通过填写账号、密码、确认密码、姓名、年龄、手机等信息进行系统注册操作,如图5-1所示。
图5-1系统注册界面图
其页面代码如下:
*/
@IgnoreAuth
@RequestMapping("/register")
public R register(@RequestBody YonghuEntity yonghu){
//ValidatorUtils.validateEntity(yonghu);
YonghuEntity user = yonghuService.selectOne(new EntityWrapper<YonghuEntity>().eq("yonghuming", yonghu.getYonghuming()));
if(user!=null) {
return R.error("注册用户已存在");
}
Long uId = new Date().getTime();
yonghu.setId(uId);
yonghuService.insert(yonghu);
return R.ok();
}
系统用户登录,在登录页面根据要求填写用户名和密码,选择角色等信息,点击登录进行登录操作,如图5-2所示。
图5-2系统用户登录界面图
其页面代码如下:
mounted() {
let menus = menu.list();
this.menus = menus;
},
created() {
this.getRandCode()
},
methods: {
register(tableName){
this.$storage.set("loginTable", tableName);
this.$router.push({path:'/register'})
},
// 登陆
login() {
if (!this.rulesForm.username) {
this.$message.error("请输入用户名");
return;
}
if (!this.rulesForm.password) {
this.$message.error("请输入密码");
return;
}
if (!this.rulesForm.role) {
this.$message.error("请选择角色");
return;
}
let menus = this.menus;
for (let i = 0; i < menus.length; i++) {
if (menus[i].roleName == this.rulesForm.role) {
this.tableName = menus[i].tableName;
}
}
this.$http({
url: `${this.tableName}/login?username=${this.rulesForm.username}&password=${this.rulesForm.password}`,
method: "post"
}).then(({ data }) => {
if (data && data.code === 0) {
this.$storage.set("Token", data.token);
this.$storage.set("role", this.rulesForm.role);
this.$storage.set("sessionTable", this.tableName);
this.$storage.set("adminName", this.rulesForm.username);
this.$router.replace({ path: "/index/" });
} else {
this.$message.error(data.msg);
}
});
},
5.2管理员功能模块
管理员登录系统后,可以对首页、个人中心、用户管理、实验室管理、实验室预约管理、通知公告管理等功能进行相应的操作管理,如图5-3所示。
图5-3管理员功能界面图
用户管理,在用户管理页面可以对索引、账号、姓名、年龄、性别、手机、照片等内容进行详情,修改和删除等操作,如图5-4所示。
图5-4用户管理界面图
实验室管理,在实验室管理页面可以对索引、实验室号、名称、图片、规模、状态、可约时间、位置等内容进行详情,修改和删除等操作,如图5-5所示。
图5-5实验室管理界面图
实验室预约管理,在实验室预约管理页面可以对索引、实验室号、实验室名、预约时间、预约时长、账号、姓名、手机、审核回复、审核状态、审核等内容进行详情或删除操作,如图5-6所示。
图5-6实验室预约管理界面图
通知公告管理,在通知公告管理页面可以对索引、标题、发布时间、封面等内容进行详情,修改和删除等操作,如图5-7所示。
图5-7通知公告管理界面图
5.3用户功能模块
用户登录进入开放式实验室预约系统可以对首页、个人中心、实验室管理、实验室预约管理、通知公告管理等功能进行相应操作,如图5-8所示。
图5-8用户功能界面图
个人中心,在个人信息页面通过填写账号、姓名、年龄、性别、手机、照片等内容进行个人信息修改操作,如图5-9所示。
图5-9个人中心界面图
实验室管理,在实验室管理页面可以对索引、实验室号、名称、图片、规模、状态、可约时间、位置等内容进行详情和预约操作,如图5-10所示。
图5-10实验室管理界面图
实验室预约管理,在实验室预约管理页面可以对索引、实验室号、实验室名、预约时间、预约时长、账号、姓名、手机、审核回复、审核状态等内容进行详情或删除操作,如图5-11所示。
图5-11实验室预约管理界面图
通知公告管理,在通知公告管理页面可以对索引、标题、发布时间、封面等内容进行详情操作,如图5-12所示。
图5-12通知公告管理界面图