[ThinkPHP5] 智能会议室Web端+app端
下载地址:https://download.csdn.net/download/a13689028602/21615587
项目介绍
[ThinkPHP5] 智能会议室Web端+app端
系统说明
平台
服务端:ThinkPHP框架 + MySQL数据库
管理端:Web(ThinkPHP(PHP)+ jQuery + MDUI+ bootstrap)
预定端:Web、Android(Java ME)
会议室前端:C++/Qt框架 + 人脸识别SDK
环境
Server运行环境:PHPStudy
MySQL数据库
(服务端)
数据库设计
本数据库中需要建立的数据表共6张,以下是这些数据表的详细说明。
会议室信息表(room):用于存放公司所有会议室数据
管理员信息表(admin):用于存放管理员数据
用户信息表(user):用于存放用户个人数据
会议室租借表(lease):用于存放用户与会议室的租约数据
会议签到表(check):用于存放与会人员到场情况数据
会议笔记表(note):用户存放用户对某场会议的记录数据
运行application/sql/install.sql来安装
UML图
1553518957457
会议室 rooms
说明 字段名 类型
索引 room_id int
管理员 admin_id int
名称 name varchar
栋 building int
楼 floor int
间 num int
最大人数 max int
话筒 microphone boolean
投影仪 projection boolean
价格 price int
使用中 using boolean
维修中 maintaining boolean
创建时间 create_time bigint
修改时间 update_time bigint
每个会议室都有位置,选择相距尽量远的会议室
如果栋楼都为空,那么主要用来判断的就是 num
使用中为这个会议室现在是不是正在使用(暂时没什么用)
管理员 admins
说明 字段名 类型
索引 admin_id int
账号 username varchar
密码 password varchar
昵称 nickname varchar
权限 permission int
创建时间 create_time bigint
修改时间 update_time bigint
权限用来限制管理员账号是否能肆意修改
用户 users
说明 字段名 类型
索引 users_id int
账号 username varchar
密码 password varchar
昵称 nickname varchar
手机 mobile varchar
邮箱 email varchar
公司 company varchar
职位 post varchar
信用度 credit int
创建时间 create_time bigint
修改时间 update_time bigint
每次借出结束后都会生成一个信用度,表示借出情况、损坏状况、整洁度等
如果出问题,会减少信用度
信用度高的,优先借出(如果有冲突的话)
租借表 lease
说明 字段名 类型
索引 lease_id int
房间号 room_id int
管理员 admin_id int
借出人 user_id int
开始时间 start_time bigint
结束时间 finish_time bigint
主题 theme varchar
用途 usage longtext
留言 message longtext
场地打扫 sweep boolean
现场招待 entertain boolean
远程会议 remote boolean
使用后环境 circumstance varchar
管理员评分 admin_score int
用户评分 user_score int
信用度变化 credit_change int
创建时间 create_time bigint
修改时间 update_time bigint
从开始时间借出,结束时间必须结束,可以提前结束(真正结束时间)
留言可以说明是否需要饮品、座椅安排、其他特殊要求
使用后会进行评分、修改信用度,如果损坏情况严重,会降信用
可以申请场地打扫、现场招待服务,这需要会议室公司自行联系服务提供方
签到表 check
说明 字段名 类型
索引 check_id int
租约号 lease_id int
用户号 user_id int
已到 checked boolean
离开 leave boolean
创建时间 create_time bigint
修改时间 update_time bigint
笔记表 notes
说明 字段名 类型
索引 note_id int
租借号 lease_id int
用户号 user_id int
内容 content longtext
备注 remark longtext
创建时间 create_time bigint
修改时间 update_time bigint
系统基本配置
客户端硬件配置:
CPU主频1GHz以上,内存1GB以上,硬盘空间10G以上。
软件运行环境:
(1) 系统开发环境:Sublime Text3
(2) 数据库:MySQL5.5.53
(3) 服务器:腾讯云服务器
(4) 系统开发语言:PHP
(5) 前端开发框架:jQuery+Boostrap+MDUI
(6) 运行平台:Win7及以上系统版本
用户界面设计
管理端
1、会议室负责人管理
使用主管理员账号方可进入此界面,可设置所有管理员(即会议室负责人)的账号信息。在主管理员账号登录后,管理员列表如图3.3.2.1所示。
1553519108927
在账号管理界面,可选择添加、编辑、删除账号。
添加账号,只需要提供管理员账号、昵称,即可快速加入到所在管理员中。每个管理员都需要设置不同的权限,分别为:只读、允许修改、允许删除、完整权限。只读管理员账号可查看所有会议室、管理员账号、用户账号信息,只有拥有完整权限的主管理员账号才能修改其他管理员账号。 同样的,在管理员账号管理界面,可以编辑管理员信息、删除管理员账号等。由于使用ThinkPHP5的MVC模式架构,后期可快速扩展管理员的手机号、邮箱等实名信息。
1553519121776
2、会议室管理
从最顶端菜单的“房间管理”入口进入会议室管理。所有管理员账号皆拥有查看所有会议室信息的权限。而如果要修改会议室信息,则需要“修改”权限;如果要删除或者添加会议室,需要“删除”权限。
1553519144458
每一个会议室都有自己对应的管理员,即负责人,可以使用相应权限的管理员账号修改相关信息。在会议室编辑界面中,列出所有的管理员账号供选择,如图3.3.2.4。能够自定义会议室名字用以分辨,而不是简单的门牌号。还可以设置最大人数,供在智能选择会议室的时候选择人数最恰当的会议室,用来腾出更多人数较多的会议室供其他用户使用。
1553519156132
3、用户账号管理
使用管理员账号登录可以看到用户的账号信息,包括用户名、昵称、信用度、租借的会议室等。图3.3.2.5为在管理员视图下的用户账号列表。
信用度系统为EasyMeeting专门为解决会议室冲突问题打造的功能,每次用户租借会议室并使用完成后,会议室相关负责人会对用户的使用情况进行打分,用户所得分数将会累加。当会议室资源不足时,后台会自动选择信用度最高的用户,其余用户依次延后。
1553519163702
使用相应权限的管理员账号,可以编辑用户信息,包括用户名、用户密码、用户昵称等。由于使用ThinkPHP5的MVC模式架构,后期可快速扩展用户账号的手机号、邮箱等实名信息。
1553519176515
4、租约订单管理
每一条会议室租借信息都包含大量的信息,其中包括:用户ID、会议室ID、管理员ID、开始时间、结束时间、会议主题、会议用途、会议留言、以及额外三项服务,即场地清理、现场招待、远程会议服务。
1553519197366
管理员账号登录后,从菜单中点进去,可以看到所有的会议室租约信息,用户ID、会议室ID等数据库主键字段则转化为相应的名字,如图3.3.2.8所示。
1553519208109
会议时间采用国际标准时间规则的11位时间戳存储,不受地区影响,全球通用。会议主题为本次会议的主题,也是一条租约的标题。用途说明了会议的具体信息,供与会人员进行参考。用途是租借者对会议室负责人的留言,包括了对目标会议室的特殊需求,如座位安排、饮料提供等,不会在会议室租约列表中公开显示。
EasyMeeting同样提供了关键词过滤功能,支持针对会议室ID、会议室名称、具体时间、会议主题、用途和留言进行筛选,快速找到需要的记录。
1553519221944
5、负责人的租约
每一位管理员,都可以是会议室的负责人;同时每一个会议室也至少要有一个负责人,来负责会议室的租借事宜,以及最后的租借评分工作,并且人工处理会议途中的突发事件。管理员账号登录,在菜单“我的租约”中可以看到自己负责的所有会议租约。
1553519231943
作为负责人,除了需要到现场控制会议的租借流程,还需要在事后针对会议环境情况进行打分、评级。每一条租约默认为100分,会议室负责人在盘查场地情况后,给予本次租借的用户一定分数,此分数会纳入用户的信用度。信用度越高,在会议室资源紧张时接到会议室的几率就越大。同时,如果用户租借的会议室房间出现大幅度的损坏,或者出现会议拖延到很晚的情况,那么管理员可针对该用户进行一定的负评分,当评分低于0时,用户账号将处于冻结状态,无法再进行租约,直到管理员手动修改用户信用度。下图为租约评分。
1553519240290
预定端设计
Web端
1、用户登录/注册
在浏览器中输入EasyMeeting的官方网址,如果没有登录的话,会进入用户登录界面,如图3.4.1.1所示,要求输入账号、密码。
1553519256417
后台会自动判断管理员账号还是用户账号,不用特意分开。点击登录,即可进入相应的界面,管理员默认进入会议室房间管理界面,用户默认进入会议室租约订单界面。点击注册,跳转到用户注册页面,如图3.4.1.2所示。仅预定端用户支持自主注册,管理员(会议室负责人)账号需要使用主管理员账号手动添加。
1553519265342
2、会议室租约
1553519273869
用户账号登录后,默认进入会议室租约界面,按照时间顺序从新到旧依次排列。每条租约都会显示序号、会议室名称、会议室负责人、会议时间、会议主题、具体用途、以及额外服务等信息。在最后边的操作栏,有三个按钮,分别是:人员、编辑、删除,可以编辑与会人员、编辑租借信息、删除租借。 点击右上方的“我要租约”,可以新建一条会议室租约订单,所需信息如图3.4.1.3所示。
1553519279817
EasyMeeting着重设计了便捷的会议室租借流程,租借的会议室默认是“智能分配”,即不需要用户手动选择,一切都由系统后台自动筛选最合适的会议室,并分配相应的会议室负责人。
会议主题、具体用途会显示在租约列表中,而留言一项则只有对应的会议室负责人和主管理员账号才能看到。表单最后的三项服务:场地清理服务、现场招待服务、远程会议服务,则为本系统提供了与外公司合作的扩展接口,可以大幅度减少后期添加功能的成本,增强本系统的可扩展性。
点击列表最后边的编辑一项,则是编辑信息,对应信息与添加相同,这里就不再重复阐述。
3、提前结束
为了准确判断哪些会议室是空闲的,让会议室资源利用得更高效,同时更加灵活,EasyMeeting提供了“提前结束”功能,如图3.4.1.4所示。点击“提前结束”,那么该会议室会立即判定为使用完毕,经过延后半小时的清理时间后,就可以重新投入使用,被其他人租借。而如果租借者没有点击提前结束,将会默认使用租约信息上的结束使用。
1553519311728
4、添加与会人员
在每条租约的后面,都有一个“人员”按钮,这里可以添加或者编辑本次会议的人员,人员ID可以从已有的租约中复制而来。而如果第一次租约的话,可以点击“邀请”按钮,让与会人员自主参与进来,后续可直接添加到新的会议签到表中。
1553519320649
1553519326071
Android端
1、用户登录/注册
打开APP,首页之前会要求登录或者注册,如图所示,输入用户名和密码。
1553517943224
1553517948533
APP上只支持用户账号登录。点击登录,即可进入主页面,默认为会议室租约订单列表。点击注册,则跳转到用户注册界面,如图所示。
2、个人信息管理
在侧滑菜单中,包括了显示用户资料,包括昵称、职位等,可以在策划菜单中点击头像,进入用户信息界面,如图所示。
1553517984012
1553517990027
用户信息包括昵称、账号、密码、手机、邮箱、公司、职位、信用度等,点击某一项即可输入,并且做了安全验证和格式验证,避免输入错误的内容,或者SQL注入攻击等。
3、会议室租约
用户登录后,就能看到自己所有的会议室租约信息,每条租约显示会议主题、会议用途、具体会议室地点、会议时间。每条租约信息按照时间逆序排序,从最新到最久。
侧滑菜单中有四个界面,分别为:租约列表、我的会议、加入会议、身份认证。默认界面是租约列表,在侧滑菜单中任意切换“所有租约”和“我的会议”。
1553518035452
1553518044798
编辑右下角的加号按钮,进入添加会议室租约的界面。为了便捷起见,用户不需要手动选择会议室,只有默认的“智能匹配会议室”选项。从列表中点击某一项,则会进入编辑租约的界面。添加和编辑分别如下图所示:
1553518060979
1553518066449
在租借会议室时,程序会智能判断当前时间,并且通过分析以往的会议室租借历史,来选择最合适的时间,尽量避免用户手动修改。或者可以通过点击出现的时间,进入选择日期和时间界面,手动修改开始、结束时间。
4、加入会议
加入会议的方法,Android端与Web端一样,只需要通过输入会议ID便能够加入,如图所示。
1553518108975
5、应用设置
每一个APP都有自己的应用设置,EasyMeeting提供了简单移动的原生设置界面。设置分为三类,分别是常规、通知、数据与同步。常规中有一些常用的选项,比如租借会议室时是否智能调整时间、显示的信息、自动同意会议邀请等。在“通知”选项中,确认开启会议前一小时通知,避免错过会议时间。而在“数据与同步”中,可以设置用户数据与租约的同步间隔,避免在其他设备上做了修改而导致本设备数据过期。
1553518117638
1553518121029
[ThinkPHP5] 智能会议室Web端+app端相关推荐
- 会议签到web_GitHub - dzhgb/EasyMeeting_Web: [ThinkPHP5] 智能会议室Web端:账号管理、会议室设置、用户预约、在线签到...
技术文档 平台 服务端:ThinkPHP框架 + MySQL数据库 管理端:Web(ThinkPHP(PHP)+ jQuery + MDUI+ bootstrap) 预定端:Web.Android(J ...
- Web/app端自动化测试对比
Web/app端自动化测试 做了一段时间的Android自动化测试,对比个人之前做的web端自动化测试,有一些感想.(由于个人接触的时间也不是太久,很多东西理解也并不深刻,先写下菜鸟时期的感想.) 区 ...
- 【Jmeter篇】你有Fiddler、Charles抓包,我有Jmeter录制Web和App端
一.录制web端设置 1.启动jmeter,测试计划-添加-非测试元件-HTTP代理服务器 2.HTTP代理服务器设置,并启动 端口设置为8888,目标控制器选 测试计划>HTTP代理服务器,点 ...
- 转载记录一下web和app端测试区别
一文搞懂Web测试与App测试的区别 接下来,需要完成年前最后一个项目的测试,该项目需要结合Web测试和App测试,经过整理,总结分享一些工作经验给大家. 从功能测试方面讲,Web测试与App测试在测 ...
- Flask后端实践 连载十六 Flask实现微信Web端及APP端登录注册
Flask后端实践 连载十六 Flask实现微信Web端及APP端登录注册 tips: 本文将实现微信Web端和APP端登陆注册 本文基于python3编写 代码仓库 项目场景 某天,项目经理说,项目 ...
- Axure高保真家政服务用户端app全局说明+家政服务员工移动端app+家政服务web端管理信息系统(订单管理+服务管理+报表统计+财务管理+营销管理+人员管理)
作品介绍:把家政带入互联网,这也不算什么新鲜事了.这几年来,在手机下单,上门服务已经是常态.如今的消费已经是趋向于智能消费,例如不想做饭就可以叫外卖,出门不想开车就叫网约车.衣食住行可以靠一部智能手机 ...
- app inventor HTML5,[App Inventor] Web客戶端元件 POST 傳值的使用方式
過去在開發App時,Web客戶端元件大部份都以Get的方式進行值的傳遞.那可以用POST嗎?以下簡單的範例,我們將使用Web客戶端元件以POST的方式傳值給一個PHP程式,然後再返回結果顯示在App中 ...
- 智慧楼宇管理运营端app、运维管理、工单管理、报修管理、维保管理、巡检查询、巡检管理、能源管理、维保查询、智慧社区、巡检统计、工单统计、能源管理、智能楼宇、设备监控、智能社区、系统运营、楼宇运维小程序
智慧楼宇管理运营端app.运维管理.工单管理.报修管理.维保管理.巡检查询.巡检管理.能源管理.维保查询.智慧社区.巡检统计.工单统计.能源管理.智能楼宇.设备监控.智能社区.系统运营.楼宇运维小程序 ...
- SCRM电商会员管理系统+导购端+商城app+小程序电商+移动端商城+电商web端后台管理+商城前后端系统+移动端商家端+电商app+购物车+订单+商城系统+电商看板+电商后台+优惠券+积分+会员
作品介绍:SCRM电商会员管理系统+导购端+商城app/小程序 高保真SAAS实战web+移动端原型设计+电商web端后台管理+商城前后端系统+移动端商家端/用户端+电商用户数据大屏看板+订单管理+营 ...
最新文章
- BZOJ 2561: 最小生成树(最小割)
- linux中anconda python集成环境配置
- dfs遍历和bfs遍历python_广度优先遍历(BFS)和深度优先遍历(DFS)
- 黑暗的富士康服务器被黑厂商用户名密码被泄
- nginx下虚拟目录配置301域名重定向
- 信息学奥赛一本通(1082:求小数的某一位)
- redis集群 + 哨兵 + zookeeper_Redis05——Redis Cluster 如何实现分布式集群
- AGC 019F.Yes or No(思路 组合)
- mac地址随机变化的解决方法(安卓手机通用)不用ROOT
- linux分布式文件存储挂载使用_Linux - tmpfs内存文件系统使用
- 08面向对象编程风格
- Unity3D 协程 浅谈
- linux 多个文件中查找字符串
- 阶段3 1.Mybatis_06.使用Mybatis完成DAO层的开发_4 Mybatis中使用Dao实现类的执行过程分析-查询方法...
- android canvas 教程,Android Canvas drawLine
- 奥图码投影连接服务器没信号,奥图码投影机常见故障维修步骤
- 【Linux】FirefoxBrowser 火狐浏览器安装 FlashPlayer 插件
- Ruby--如何处理csv文件?
- 3D视觉感知市场规模现状及行业发展前景分析
- dz.27z.co index.php,【DZ插件】VIP客户组开通 v2.0.2(zms)
热门文章
- 点阵字体显示系列之二:汉字显示
- 45条Win XP必知实用技巧
- kubeadm部署k8s直接证书100年
- PHP png合并到jpg,合并jpg的png并保持与php的透明度
- FilterConfig接口及其使用方法详解
- linux磁盘空间不释放问题排查
- linux删除重复文件,linuxshell删除重复文件只保留一份
- (原創) 白蘋驚魂記 (iPhone)
- 《ImageNet Classification with Deep Convolutional Neural Networks》翻译
- 【TextView】Android TextView显示省略号的问题(关于TextView maxLength 和maxEms的学习)