




已阅读5页,还剩27页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
基于微信公众平台自主实验室的设计与实现毕业论文课 题:基于微信公众平台自主实验室 的设计与实现 学 生: 学 号: 班 级:2012级通信5班 指导老师:摘 要随着通信技术的发展和智能设备的普及,移动互联网在近年来发展迅猛,新兴的移动社交软件“微信”逐渐走进了手机用户的生活,改变了人们的生活方式,也对移动互联网的发展产生了重大的影响。另一方面,由于微信在大学生中的普及程度非常高,高校实验室管理系统在实践中发挥了巨大的作用,如何利用微信进一步拓展高校实验室管理系统成了一个新的课题。本文梳理分析了移动互联网环境的现状以及高校实验室管理系统的需求,阐述了利用微信公众平台以及新浪云SAE,搭建实验室仪器管理系统的设计思路,并提出了相应的技术解决方案。在微信公众平台的开发模式下,采用PHP+MySQL的方案实现了本系统。关键词: 微信公众平台,PHP+MySQL,实验室管理,新浪云全套设计加扣 3012250582ABSTRACTWith the development of communication technology and smart devices , mobile Internet is developing rapidly in recent years , the emerging mobile social software WeChat gradually into the mobile phone users life , changed peoples way of life , but also, It had a major impact in the development of the mobile Internet. On the other hand , due to the popularity of WeChat is very high among college students , university laboratory management systems play a huge role in practice , how to use the WeChat to further expand the University Laboratory Management System has become a new topic.This paper reviews the analysis of the demand for mobile Internet environment as well as the status of University Laboratory Management System , describes the use of WeChat public platform and Sina cloud SAE, build a laboratory instrument management system design , and the corresponding technical solutions . In the WeChat public platform development mode, using PHP + MySQL program implements the system.Keywords: WeChat public platform, PHP + MySQL, laboratory management, Sina cloud目录1.绪论11.1研究背景及意义11.2微信的发展11.3微信公众平台概述11.4实验室管理系统概述21.5微信公众平台在高校的应用21.6论文内容以及章节安排22.微信公众平台接口介绍42.1XML概述42.2JSON概述52.3接收事件推送接口52.4生成带参数的二维码接口63.需求分析与系统设计83.1系统功能逻辑概述83.2教师端介绍83.2.1后台管理83.2.2微信客户端交互83.3学生端介绍84.微信公众号设计与实现94.1自定义菜单设计94.2交互界面设计94.3数据库设计114.4开发环境搭建134.4.1PHP+MySQL134.4.2新浪云SAE134.5系统核心功能的实现134.5.1核心功能一:服务器与微信服务器的通信134.5.2核心功能二:用户注册144.5.3核心功能三:设备信息录入与管理154.5.4核心功能四:二维码打印164.5.5核心功能五:设备借还174.5.6核心功能六:设备视频观看204.5.7核心功能七:设备借还日志管理204.5.8核心功能八:实验安排214.5.9核心功能九:自主实验的过程提交225.总结与展望245.1总结245.2展望24致谢25参考文献26261. 绪论1.1 研究背景及意义近年来,随着通信技术和智能设备的发展和普及,移动互联网发展迅猛 吴吉义,李文娟,黄剑平,章剑林,陈德人. 移动互联网研究综述J. 2015 ,v.4501:45-69.。相比传统的互联网模式,移动互联网不仅能在更便捷的设备上完成以往需要在PC机上的任务,更是延伸出了其他更适合在移动端完成的任务。而伴随着移动互联网井喷式的发展,基于移动便携设备而推出的应用更是层出不穷,微信就是其中一个经典的案例。对于普通的开发者来说,如果要实现一个移动设备的应用,需要熟悉所使用的开发系统以及各种繁杂的API,需要自己实现应用的交互界面设计等等,因此,如果要开发一款APP,则需要对开发者的技能有较高的要求,而且在时间和资源成本上的花费也会比较大。而微信的出现,尤其是微信公众平台的开放,极大地解决了上述的两个问题。微信公众平台将微信的资源或者服务打包成接口的形式,开发者只需按照微信的开发流程调用相应的接口即可以完成许多功能。微信公众平台提供的接口集成度极高,从而减少了开发的难度以及周期,节约了开发的时间成本和资源成本。本论文是关于在微信公众平台上实现的实验室管理系统功能的延伸,实现微信公众平台管理实验室仪器,自主实验安排等功能,为老师的教学和管理工作以及学生提供便捷的服务以及信息交流平台。1.2 微信的发展微信,是腾讯公司于2011年1月21日推出的一款即时通讯软件,推出后逐步积累了庞大的用户群,其面对智能手机用户,通过客户端提供好友分享文字与图片,也有贴图,并支持分组聊天和语音、视频对讲功能,广播(一对多)消息,照片,视频共享,位置共享,信息交流联系,微信支付、理财通,游戏等服务,并有共享流媒体内容的Feed和基于位置的社交插件“摇一摇”、“漂流瓶” 维基百科. 微信EB/OL. /wiki/%E5%BE%AE%E4%BF%A1。根据腾讯公司在全球合作伙伴大会微信分论坛上发表的首个微信生活报告显示,2015年9月每天登录微信APP的用户达到5.7亿,而在年龄方面,微信的用户群体非常年轻,平均年龄只有26岁,1836岁之间的用户占了86.2%。并且微信用户的职业分布情况相对比较集中,占据比例最多的四类职业分别是:企业职员、自由职业者、学生、事业单位员工,上述四类微信用户的比例总和达到九成。越来越多的微信用户通过移动网络上网,微信,正在逐渐成为人们的一种生活方式。1.3 微信公众平台概述微信公众平台是隶属于微信的一个功能模块,通过这一平台,个人和企业都可以搭建一个符合自己需求的微信公众号。许多高校也逐渐意识到微信在大学生群体中的普及度非常高,纷纷以微信公众平台为基础进行教育和管理工作。微信公众平台主要为我们提供了三种类型的账号:服务号、订阅号以及企业号。服务号主要偏于服务交互(类似银行,114,提供服务查询),认证前后都是每个月可群发4条消息;订阅号主要偏于为用户传达资讯(类似报纸杂志),认证前后都是每天只可以群发一条消息;主要用于公司内部通讯使用,需要先有成员的通讯信息验证才可以关注成功企业号;鉴于这三者的区别,且为了方便实验室管理系统与学生之间的信息交流,建议选择订阅号进行搭建本平台。而微信为开发者提供了另外一种方便进行开发测试的账号:微信测试号。开发者无需公众号即可快速申请接口测试号,直接体验和测试公众平台的所有高级接口。本次设计将使用微信测试号进行开发测试,后期如需转移到订阅号只需修改在微信后台的管理页面的开发者配置中心中修改服务器配置即可。1.4 实验室管理系统概述实验室管理系统是指对实验室使用人员以及使用人员在实验室的活动进行系统化、流程化管理的网络系统。众所周知,实验室教学在现代教学中扮演的角色越来越重要,随着移动互联网的发展,传统的人工管理模式在实验室管理中逐渐显得捉襟见肘。而在移动互联网的大背景之下,得益于微信在高校中的高普及度,依托微信公众平台构建一个实验室管理系统可以进一步增加实验室管理的便利性以及灵活性,同时也可以借此延伸出实验室交流平台,方便实验室的教学和管理工作的开展。本文将阐述如何利用微信公众平台的开发者模式在新浪云上搭建服务器,构建一个实验室仪器管理系统,并提出相应的技术解决方案。1.5 微信公众平台在高校的应用随着微信在人们的普及度快速提高,尤其是在高校中,大部分的大学生都会在每天的生活工作中使用到微信。许多高校也逐渐意识到微信在大学生中的影响越来越大,于是许多基于微信公众平台的高校应用纷纷兴起。各个类型的高校微信公众号有随之诞生,例如基于微信公众平台的校园服务公众号 杨杰. 基于微信公众平台校园服务公众号的设计与实现D. 华中师范大学,2015.、实验教学中心网站 陈燕奎. 基于微信平台的实验教学中心网站设计与实现J. 教书育人(高教论坛),2015 ,No.53824:40-41.、微信图书馆 韩媛媛. 微信公众平台在高校图书馆中的开发设计研究D. 华中师范大学,2015.等等,极大地丰富了高校的管理方式。1.6 论文内容以及章节安排本论文是基于微信公众平台进行开发,使用新浪云SAE搭建服务器的实验室管理系统,论文的主要章节内容安排如下。第一章:绪论。主要介绍论文的研究背景和意义,介绍微信的发展、微信公众平台以及实验室管理系统。第二章:微信公众平台接口介绍。介绍微信公众平台接口所使用的数据格式:XML和JSON,以及介绍两个在本次设计中相对比较重要的接口第三章:需求分析与系统设计。对系统的整体逻辑功能进行详细的描述。第四章:微信公众号设计与实现。介绍了微信公众号的自定义菜单、交互界面和数据库的设计,介绍了使用的开发环境工具,并且对系统的各个核心功能的实现进行了介绍,如:服务器与微信服务器的通信、用户注册、设备信息录入管理、二维码打印、设备借还、设备视频观看、设备借还日志管理、实验安排和自主实验的过程提交。第五章:总结与展望。对本次论文工作的总结以及下一步工作的展望。 2. 微信公众平台接口介绍微信公众平台是运营者通过公众号为微信用户提供资讯和服务的平台,而公众平台开发接口则是提供服务的基础,开发者在公众平台网站中创建公众号、获取接口权限后,可以通过阅读微信开发者文档了解接口通信规范,从而帮助开发。调用微信的接口本质其实就是双方按照约定的规则进行通信。一次完整的通信过程如下图所示。图2-1 用户、微信服务器与后台服务器之间的通信用户在微信APP的微信公众平台上进行了一个操作,微信服务器便会将这次操作所产生的结果用打包成XML的形式发送给开发者在配置时填写的URL,开发者便可以根据微信发过来的数据进行解析,然后进行相应的逻辑业务处理,在将处理的结构按照微信接口约定的形式发回给微信服务器,最后,微信服务器会将相应的结果返回给用户。而在微信的接口中主要使用了XML以及JSON两种语言进行通信。在介绍微信的接口之前,我们有必要对XML和JSON进行了解,才能看懂微信的开发者文档,才能完成接下来的开发工作。本章先对XML和JSON进行一个简单的介绍。然后选择一些在本次设计中使用到的接口进行介绍。2.1 XML概述XML(eXtensibleMarkupLanguage),即可扩展标记语言,它的形式与HTML有着较高的相似度,都是使用了标签的形式。但是HTML被设计用来显示数据的,比如我们所看到的网页,而XML是被设计用来传输和存储数据的。且不同于HTML的预定义的标签,XML标签没有被预定义,需要自己进行预定义,这便是XML拥有良好的可拓展性。下面是一个XML的例子。GeorgeJohnReminderDont forget the meeting!第一行是 XML 版本等信息的声明,下一行是描述文档的根元素,接下来的四行是其中的四个子元素。2.2 JSON概述JSON(JavaScriptObjectNotation),即JavaScript 对象表示法,也是一种存储和交换文本信息的语法,与XML类似,但是比XML更小、更快,更易解析。json简单说就是javascript中的对象和数组,所以这两种结构就是对象和数组两种结构,通过这两种结构可以表示各种复杂的结构。下面是一个JSON的例子。employees: firstName:Bill , lastName:Gates , firstName:George , lastName:Bush , firstName:Thomas , lastName:Carter 2.3 接收事件推送接口微信在消息管理方面给开发者提供了七个模块的接口,包括有接收普通信息、接收事件推送、被动回复用户消息、客服消息、群发接口、模板信息接口和获取公众号的自动回复规则。在本系统中,经常会触发扫描二维码事件或者点击自定义菜单产生的事件推送,因此,在这里选择接收事件推送中的扫描带参数的二维码事件进行介绍。在微信用户和公众号产生交互的过程中,用户的某些操作会使得微信服务器通过事件推送的形式通知到开发者在开发者中心处设置的服务器地址,从而开发者可以获取到该信息。其中,某些事件推送在发生后,是允许开发者回复用户的,某些则不允许。 微信公众平台开发者文档EB/OL. /wiki当用户通过微信扫一扫扫描带场景值的二维码时,可能推送以下两种事件:1.如果用户没有关注公众号,则用户可以在公众号信息首页关注公众号,关注后微信会将带场景值关注事件推送给开发者。2.如果用户已经关注公众号,则微信会将带场景值扫描事件推送给开发者。当用户已经关注了微信公众号,且扫描事前调用微信生成带参数的二维码接口(详见2.4节的介绍)所生成的二维码时,会收到微信服务器推送过来的XML数据包,具体如下所示。123456789在这里很有必要说明一下几个参数。FromUserName是发送方账号的openid,是微信服务器随机生成的一串字符串,它相当于该用户对于这个微信公众平台的身份标识,是唯一且不变的。我们在接下来的开发设计中会频繁使用到这个参数,它可以使我们轻易地分辨出用户的身份。MsgType是消息类型,一般常用的会有text、image、event、voice、video等;Event是事件类型,一般有subscribe、unsubscribe、location、click等;EventKey是事件KEY值是一个32位无符号整数,即创建二维码时的二维码scene_id(详细内容请参考2.4节介绍);Ticket是二维码的ticket(详细内容请参考2.4节介绍)。2.4 生成带参数的二维码接口微信公众平台为我们提供了生成二维码的接口,开发者只需按照开发者文档的步骤调用相应接口即可生成一个带着自己定义参数的二维码,借此,我们可以根据不同的参数区分不同的二维码,为实验室仪器管理的开发提供了可能。目前,该接口提供两种类型的二维码。一种是临时二维码,有过期时间,但是能产生较多数量;另一种是永久二维码,没有过期时间,最多能产生10万个二维码。获取带参数的二维码的过程包括两步,首先创建二维码ticket,然后凭借ticket到指定URL换取二维码,我们这里选取永久二维码来作为存储和展示设备信息媒介。创建二维码ticket的请求说明:http请求方式: POSTURL: /cgi-bin/qrcode/create?access_token=TOKENPOST数据格式:jsonPOST数据例子:action_name: QR_LIMIT_SCENE, action_info: scene: scene_id: 123这里的access_token的获取请参考微信开发者文档的相应接口。scene_id就是我们创建二维码的参数。当请求成功的时候,微信会返回ticket的值,数据格式为json。获取二维码ticket后,开发者可用ticket换取二维码图片。请求说明:HTTP请求方式:GETURL:/cgi-bin/showqrcode?ticket=TICKETticket就是我们刚刚获取到的ticke,ticket正确的情况下,即会返回一张图片,我们可以进行直接展示或者下载。至此,即可成功获取到带参数的二维码。当有微信用户扫描该二维码时,微信服务器就会给我们的服务器推送事件,这在上一小节已经进行了阐述。3. 需求分析与系统设计3.1 系统功能逻辑概述本文阐述的是设计一个实验室仪器管理系统。因此,首先需要考虑的是设备的信息管理,所以需要一个设备信息录入的入口。教师通过相应的网址录入设备的信息之后通过调用微信生成二维码的接口生成相对应的二维码,教师在录入所有的设备信息后对可以对所有的二维码进行批量打印,然后将二维码粘贴在对应的设备上。至此,当在微信端完成注册的学生扫描二维码时即可查看设备的相关信息并且可以申请借用该设备。学生发起申请后,教师可以在后台对该申请进行处理,教师同意申请后,学生即可正式借用该设备。当学生需要归还设备时,教师可以很方便地通过扫描设备的二维码,然后在相应的界面进行归还设备。3.2 教师端介绍3.2.1 后台管理后台管理主要包括有生成设备二维码以及处理学生借用设备的申请两个模块。教师通过后台的网页录入设备的各项信息,我们的系统将会调用微信生成二维码的接口生成设备相对应的二维码,并且将生成的二维码打印出来,教师将该二维码贴在相对应的设备上,这样,学生通过扫描设备上的二维码即可获得设备的相关信息或者申请借用该设备。学生申请借用该设备后教师可以在网页端或者微信端对该请求进行相应的处理。3.2.2 微信客户端交互教师在微信客户端可以在公众号的页面查看所有设备的借还历史,还可以查看实验安排,并且可以通过获取处理学生借用设备申请的网址对学生的申请进行相应的处理。此外,教师打开微信扫一扫设备的二维码即可以查看设备的信息以及进行设备信息的修改,学生还设备,观看设备视频等操作。这样,教师在这几个方面的操作都可以通过微信公众号完成,只需要一台可以联网的手机以及微信APP即可以很方便的进行管理工作。3.3 学生端介绍学生在微信客户端的功能跟教师相比只是由于权限的不同而又所差别。相同的地方在于都可以查看实验安排、通过扫描二维码可以查看设备的信息、观看设备的相关视频。不同之处在于学生可以在扫描二维码之后在设备信息的界面申请借用该设备,等到老师确认可以借用设备时,学生就可以正式借用该设备,同时,学生也可以通过微信公众号菜单查看自己的设备借还历史和进行自主实验记录。4. 微信公众号设计与实现4.1 自定义菜单设计本微信公众号设计了“借还设备”、“实验安排”以及“更多”三个主要菜单。各个菜单的功能如下。“借还日志”:当老师点击这个菜单的时候显示的是所有设备的借还日志,同时还可以查看设备的详细信息以及借用人/归还人的详细信息,而学生点击该菜单时,系统会根据权限的不同只显示该学生自己一个人的设备借还日志。“实验安排”:该菜单主要是显示实验课的安排,可以显示实验的各项信息。“更多”:更多菜单包括自主实验、注册以及使用说明三个子菜单。提供用户注册的通道、公众平台的使用帮助和自主实验的过程提交。效果如图4-1所示。图4-1 自定义菜单4.2 交互界面设计在界面设计方面,为了达到与微信客户端一致的视觉效果,本文采用了微信网页开发样式库WeUI。WeUI是一套同微信原生视觉体验一致的基础样式库,由微信官方设计团队为微信内网页开发量身设计,可以令用户的使用感知更加统一。在微信网页开发中使用 WeUI,有如下优势:1.同微信客户端一致的视觉效果,令所有微信用户都能更容易地使用你的网站2.便捷获取快速使用,降低开发和设计成本3.微信设计团队精心打造,清晰明确,简洁大方该样式库目前包含 button、cell、dialog、progress、toast、article、icon 等各式元素,已经在GitHub上开源。访问http:/weui.github.io/weui/即可预览。WeUI 是一套与微信原生 UI 一致的 UI 库,核心文件是weui.css,只需要获取到该文件,然后在页面中引入,即可使用 WeUI 的组件。它可以有几种获取方法 WeUIEB/OL./weui/weui/wiki/getting-started8 方倍工作室. 微信公众平台最佳实践M. 北京:机械工业出版社,2014.03.9 钟志勇,何威俊,冯短博微信公众平台应用开发实战M北京:机械工业出版社,2014.03.10 青龙老贼,赵黎,方雨微信终极秘籍M电子工业出版社,2014.01.,在这里只介绍其中一种获取方法:在/weui/weui/releases处,直接下载最新发布的版本。github 提供了 zip 和 tar.gz 两种格式的包,选择其中一种下载,解压后引用dist/style/weui.css文件即可。获取到 WeUI 后,在页面中引入后即可使用。以 WeUI 的按钮为例: WeUI 绿色按钮 使用WeUI,开发者只需获取带WeUI的核心文件,然后在页面中引入,即可使用WeUI的组件,使开发者减少了在界面设计上投入的精力与资源,大大减少了开发的难度与成本,同时也可以达到与微信客户端一致的视觉效果,给开发者带了了极大的便利。下面是WeUI中的组件Button的效果展示。图4-2 Button组件4.3 数据库设计在数据库设计方面,本次设计使用新浪云SAE上的共享型MySQL数据库服务,使用phpMyAdmin对数据库进行管理。根据系统的需要,本次设计在数据设计方面设计了四个表:equipment、user、log、img。四个表的作用如下。equipment:存储设备的各项信息。字段如图4-3所示。其中包括有id(主键、自增),设备名称(name),设备编号(num),生产厂商(shop),购买时间(buytime),存放地点(location),是否完好(stage),使用说明(instruction),视频地址(matter),状态(status,标志设备是处于可借用还是不可借用)和二维码地址(qr_code_url)。图4-3 equipment数据库表user:存储用户的各项信息。字段如图4-4示。其中包括id(主键、自增),姓名(name),权限(level),学号/工号(number),电话(phone)和身份标识(openid)。图4-4 user数据库表log:存储设备借还历史。字段如图4-5所示。其中包括id(主键、自增),身份标识(openid),设备标识(eq_id,即设备在equipment表中对应的id),时间(time),标志(flag,标志日志的状态借用/待确认/归还),借用人/归还人姓名(people_name),设备名称(eq_name)。图4-5 log数据库表img:存储学生自主实验上传的照片。字段如图所示。其中包括id(主键、自增),实验名称(name),身份标识(openid),实验前照片存储位置(before),实验报告存储位置(report),实验后照片存储位置(after)和实验时间(time)。 图4-6 img数据库表4.4 开发环境搭建4.4.1 PHP+MySQLPHP是一种开源免费的脚本语言,具有跨平台性强、效率高、面向对象等优点,而且PHP的语法吸收了C语言、Java和Perl的特点,利于学习,使用广泛,PHP可以将程序嵌入到HTML文档中,无需编译即可运行,执行效率高。MySQL是一种关联数据库管理系统,所使用的 SQL 语言是用于访问数据库的最常用标准化语言。因为它的体积小、速度快、开发成本较低,特别是开放源码这一特点,所以一般的中小型网站的开发都选择 MySQL 作为网站数据库。PHP与MySQL是绝佳的组合。两者都是免费的,节省了开发的成本。PHP对MySQL有很好的支持,提供了完善的MySQL数据库操作函数。开发者可以很方便地使用PHP中对数据库的操作函数来获取结果。4.4.2 新浪云SAE新浪云应用(Sina App Engine简称SAE)是国内最具影响力的,分布式Web应用/业务开发托管、运行平台。SAE是一个具有高可靠、高扩展、免运维等特点的云计算服务。新浪云给开发者提供了许多便捷的服务,包括有数据库服务、存储与CDN服务、应用程序服务、网络与安全服务、通信服务以及第三方服务。本系统使用新浪云SAE进行搭建微信公众平台的服务器,代码部署在新浪云的代码管理服务上,使用新浪云中的共享性MySQL数据库服务存储系统数据。4.5 系统核心功能的实现4.5.1 核心功能一:服务器与微信服务器的通信服务器与微信服务器的通信是微信公众平台开发中至关重要的一环,因为这是后台业务逻辑与用户之间连接的桥梁,是各种业务结果交换的接口。在这个接口文件里,我们需要处理微信服务器发送过来的已经打包成XML格式的数据,然后根据获取到的数据进行相应的处理,再将处理结果按照微信开发者文档的规定,封装成XML的数据格式发送回给微信服务器。在这里用一个最简单的例子阐述服务器与微信服务器之间的通信。用户在微信公众平台里面发送“你好”时,微信公众平台回复“你好”。核心代码如下。$postStr = $GLOBALSHTTP_RAW_POST_DATA;/获取微信发送的数据/解析数据$postObj=simplexml_load_string($postStr,SimpleXMLElement,LIBXML_NOCDATA);$fromUsername = $postObj-FromUserName; /发送消息方ID$toUsername = $postObj-ToUserName; /接收消息方ID$form_MsgType = $postObj-MsgType; /消息类型/文本消息if($form_MsgType=text)/获取用户发过来的文本$form_Content = $postObj-Content;if($form_Content = “你好”)$msgType = text; $content=你好; $resultStr = sprintf($textTpl, $fromUsername, $toUsername, time(), $msgType, $content); /将结果封装成xml的格式 echo $resultStr; exit;4.5.2 核心功能二:用户注册仪器的借还需要使用到用户管理,所以本系统提供了用户注册的功能,且会根据权限的不同分为学生的注册以及老师的注册。用户点击自定义菜单中的注册即可弹出注册的界面,然后根据相关的要求填写用户的一些基本信息(包括姓名、学号/工号、电话),信息填写完毕后点击注册提交表单后,我们便可以将用户的信息与用户的openid(用户相对于公众平台的唯一身份标识)存储进数据库中,这样,当用户与本微信公众平产生交互时,我们可以根据微信服务器发过来的数据包获取到用户的openid,从而可以快速准确地识别用户并且可以在数据库中查找得到用户的信息,判断用户的权限等级。表单数据处理的部分代码如下所示。/获取表单的数据$this-name = $_POSTname;$this-number = $_POSTnumber;$this-phone = $_POSTphone;$this-openid = $_POSTopenid;/将数据插进数据库$user_login = new user_login();$result = $user_login-insert_user();/该函数的作用是将数据插进数据库中实现效果如图4-7和图4-8所示。 图4-7 学生注册界面 图4-8 教师注册界面4.5.3 核心功能三:设备信息录入与管理设备信息的录入与管理是实验室仪器管理最基本的功能。老师在相应的网址上(http:/2./equipment/control.php)按照提示输入设备的相关信息,包括设备名称、设备编号、生产厂商、采购时间、存放地点、是否完好、使用说明以及仪器视频。当所有设备全部输入后,点击界面生成二维码的按钮,系统将会把设备的信息存储在数据库中,并且数据库中的主键会自动生成一个唯一的id,我们会将这个id作为微信生成带参数的二维码的接口所需的参数(该接口的说明在2.4节中已经做过介绍,更多详细的内容请参考微信开发者文档)。这样,每一个二维码就会对应一台设备,保证了二维码的唯一性,且可以根据该二维码的参数迅速查找到该设备的信息。当需要对设备的信息进行修改的时候,可以使用微信的扫一扫扫描设备的二维码,当用户的权限是老师的时候,即可以对设备的信息进行修改。设备信息录入实现效果如图4-9所示,修改设备信息界面如图4-10所示。 图4-9 设备信息录入界面 图4-10 设备信息修改界面4.5.4 核心功能四:二维码打印当需要管理的实验室的仪器比较多的时候,可以使用二维码批量打印,老师只需访问打印二维码的网址(http:/2./equipment/print.php)即可以实现二维码的批量打印(大小为120px*120px),减少了大量的重复性工作。实现的大致逻辑如下:当在设备信息录入的同时,也将由微信产生二维码的接口获取的二维码的图片url一起存储进数据中对应的设备信息中,当需要批量打印二维码时即可从数据库中将所有的二维码在网页中显示出来,再通过一段javascript代码实现打印的功能。对应的javascript代码如下所示。function doPrint() bdhtml=window.document.body.innerHTML; sprnstr=; eprnstr=; prnhtml=bdhtml.substr(bdhtml.indexOf(sprnstr)+17); prnhtml=prnhtml.substring(0,prnhtml.indexOf(eprnstr); window.document.body.innerHTML=prnhtml; window.print(); 打印的内容即html代码中从标识到标识的内容。打印预览效果如图4-11所示。图4-11 二维码打印预览效果4.5.5 核心功能五:设备借还仪器管理系统中提供了设备借还的功能。当一台设备处于可借用的状态(free,数据库中有相应的字段标识)时,学生扫描设备的二维码,即可以申请借用该设备,设备的状态也会相应地变成等待确认的状态(await)。学生申请借用该设备时需要等待老师进行确认,老师在后台对该请求确认后,学生即可以借用该设备,设备的状态变为已借用的状态(busy)。当归还设备时,让老师扫描该设备的二维码选择归还设备即可对设备进行归还,设备状态变为可借用(free)。与以上操作同时产生的还有借用的日志,申请借用设备以及归还设备都会产生相应的日志,相应的数据库介绍请查看4.3节的内容。学生扫描二维码后的效果图如下所示。 图4-12 学生查看设备信息界面 图4-13 学生申请借用设备界面教师扫描二维码后的实现效果如下所示。 图4-14 教师查看设备信息界面 图4-15 归还设备界面图4-16 教师处理设备借用申请界面4.5.6 核心功能六:设备视频观看在设备信息录入的时候我们已经将设备的视频url进行了录入,当用户扫描设备二维码并选择观看设备视频时即可以查看设备的相关视频信息,同时还可以查看对设备更详细的介绍。显示视频的html代码如下所示。video src= width=350 height=350 controls=controlsYour browser does not support the video tag.其中$url的值为通过二维码的参数查找到数据库中相应设备的视频url。实现效果如下所示。图4-17 观看设备视频界面4.5.7 核心功能七:设备借还日志管理设备借还日志的管理也是该系统中一个重要的功能。由6.5节的描述中可得知,每次对设备的借还操作都会在数据库中生成相应的日志。当用户点击微信公众号中的自定义菜单中的借还日志的时候,微信服务器会将用户点击自定义菜单的事件用XML的格式推送给开发者,我们便可以获取到用户的openid和点击的菜单的key值(详情请参考微信开发者文档中自定义菜单创建接口以及接受自定义菜单事件推送接口),根据用户的openid判断用户的身份是老师还是学生,如果是老师,即可以查看所有的设备借还历史;如果是学生,则只允许查看自己个人的设备借用历史。效果如下图所示。 图4-18 学生端设备借还日志 图4-19 教师端设备借还历史4.5.8 核心功能八:实验安排为了方便老师的教学工作的开展,本系统还提供了实验安排功能。当用户点击自定义菜单中的实验安排时即可跳转到实验安排的网页,网页显示实验课的相关信息,点击相应的实验课可以浏览详细的实验手册。效果如下图所示。 图4-20 实验安排目录 图4-21 实验安排内容4.5.9 核心功能九:自主实验的过程提交为了便于对学生自主实验的过程进行监控以及管理,本系统提供了自主实验的过程提交功能。学生在自主实验前需对实验桌面进行
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 基金业从业人员考试及答案解析
- 混凝土安全培训考试题及答案解析
- 2025年国家开放大学(电大)《建筑环境与设备工程》期末考试备考试题及答案解析
- 安全管理人员国家题库及答案解析
- 山东中级银行从业考试及答案解析
- 2025年国家开放大学(电大)《社会心理健康教育》期末考试备考试题及答案解析
- 2025年国家开放大学《国际关系》期末考试备考试题及答案解析
- 2025年国家开放大学(电大)《人力资源发展与管理》期末考试备考试题及答案解析
- 2025年国家开放大学(电大)《行政法》期末考试备考试题及答案解析
- 2025年国家开放大学(电大)《信息管理》期末考试备考试题及答案解析
- 2024年10月全国自考《财务管理学》试题及答案
- 《大学生心理健康教育》全套教学课件
- 住宅小区防雷安全管理制度
- 台球助教管理培训
- 2024-2030年中国船舶设计行业需求态势展望及发展战略分析报告
- 乒乓球培训机构教学管理制度
- 《非洲民间故事》整本书阅读 课件 五年级上册语文(统编版) 五年级上册语文整本书阅读 导读课件+讲义+阅读检测(统编版)
- 河南省青桐鸣大联考2024-2025学年高一上学期10月月考政治试题含答案
- 初中英语单词全集(打印版)
- 2024年鑫源汽车有限公司招聘笔试冲刺题(带答案解析)
- 山东旅游宣传有内容课件
评论
0/150
提交评论