二维码门禁签到系统总体设计
什么是二维码 二维码 (2-dimensional bar code),是用某种特定的几何图形按一定规律在平面(二维方向上)分布的黑白相间的图形记录数据符号信息的。在许多种类的二维条码中,常用的码制有:Data Matrix, Maxi Code, Aztec, QR Code, Vericode, PDF417, Ultracode, Code 49, Code 16K等。
二维条码/二维码可以分为堆叠式/行排式二维条码和矩阵式二维条码。
1.堆叠式/行排式二维条码,堆叠式/行排式二维条码又称堆积式二维条码或层排式二维条码,其编码原理是建立在一维条码基础之上,按需要堆积成二行或多行。它在编码设计、校验原理、识读方式等方面继承了一维条码的一些特点,识读设备与条码印刷与一维条码技术兼容。但由于行数的增加,需要对行进行判定,其译码算法与软件也不完全相同于一维条码。有代表性的行排式二维条码有:Code 16K、Code 49、PDF417、MicroPDF417 等。
2.矩阵式二维码,流行莫过于QR CODE ,我们常说的二维码就是它了。矩阵式二维条码(又称棋盘式二维条码)它是在一个矩形空间通过黑、白像素在矩阵中的不同分布进行编码。在矩阵相应元素位置上,用点(方点、圆点或其他形状)的出现表示二进制“1”,点的不出现表示二进制的“0”,点的排列组合确定了矩阵式二维条码所代表的意义。矩阵式二维条码是建立在计算机图像处理技术、组合编码原理等基础上的一种新型图形符号自动识读处理码制。具有代表性的矩阵式二维条码有:Code One、MaxiCode、QR Code、 Data Matrix、Han Xin Code、Grid Matrix 等。二维码在现实生活中的应用越来越普遍由于QR CODE的流行,二维码又称QR code。
需求分析
本文研究基于微信的签到系统的开发,需要对扫码学生个人信息和微信信息进行组合成一个整体,从而实现学生签到状态的实现。同时为了便于教师个人配置,二维码门禁签到系统会增加系统配置功能,使得系统能使用不同的公众号实现原本的功能,而学生微信信息和个人信息的自主绑定会在教师进行学生花名册的导入后由学生在微信客户端关注公众号后按要求完成,整个系统的实现需要公众号具备高级接口:微信网页授权(如果用户在微信客户端中访问第三方网页,公众号可以通过微信网页授权机制,来获取用户基本信息,进而实现业务逻辑)。而该权限只有通过认证的服务号才能获取,在本系统中则需要通过开发者的测试号实现。
二维码门禁签到系统体系结构
本二维码门禁签到系统整体采用3层B/S架构,分为前端(Browser)网页,微信服务端,数据服务端(Server)。
(1)数据服务端 位于系统架构的最底层,提供数据的解析、处理、封装和传输,本系统服务主要基于tomcat本地开发部署后通过ngrok映射外网实现。数据服务器端处理的信息来源有两中:前端页面具体动作,此部分是系统的主要信息部分,主要与实现与前端页面的数据传输和交互;根据微信服务器推送过来消息类型和内容进行解析,如:关注公众号动作和绑定学生信息等。
(2)微信服务端 负责实现对微信用户的消息的全方位沟通、互动,就相当一个中转服务器。
(3)前端网页 主要实现对用户的可视化显示,提供和用户交互,将用户行为输入转化为系统操作,进入后台逻辑分析传回显示。
二维码门禁签到系统工作流程
主要设计内容及流程包括:管理员进入管理员页面,管理员页面可以提供签到及查询以往签到记录功能并提供导出,当管理员老师需要实现考勤签到时点击相应按钮可以进入数据导入页面,数据导入页面需要管理员老师输入上课时间,上课应到人数,以及每台机器使用人数,然后提交给服务器后台,产生签到页面并在签到页面上生成与用户相对应的唯一二维码以供学生微信扫描签到,而学生在扫码签到前需要先关注相应公众号并根据公众号提示步骤完善个人信息,在完成以上步骤后打开微信扫码功能扫描计算机签到页面上生成的二维码完成签到考勤。
什么是二维码 二维码 (2-dimensional bar code),是用某种特定的几何图形按一定规律在平面(二维方向上)分布的黑白相间的图形记录数据符号信息的。在许多种类的二维条码中,常用的码制有:Data Matrix, Maxi Code, Aztec, QR Code, Vericode, PDF417, Ultracode, Code 49, Code 16K等。
二维条码/二维码可以分为堆叠式/行排式二维条码和矩阵式二维条码。
1.堆叠式/行排式二维条码,堆叠式/行排式二维条码又称堆积式二维条码或层排式二维条码,其编码原理是建立在一维条码基础之上,按需要堆积成二行或多行。它在编码设计、校验原理、识读方式等方面继承了一维条码的一些特点,识读设备与条码印刷与一维条码技术兼容。但由于行数的增加,需要对行进行判定,其译码算法与软件也不完全相同于一维条码。有代表性的行排式二维条码有:Code 16K、Code 49、PDF417、MicroPDF417 等。
2.矩阵式二维码,流行莫过于QR CODE ,我们常说的二维码就是它了。矩阵式二维条码(又称棋盘式二维条码)它是在一个矩形空间通过黑、白像素在矩阵中的不同分布进行编码。在矩阵相应元素位置上,用点(方点、圆点或其他形状)的出现表示二进制“1”,点的不出现表示二进制的“0”,点的排列组合确定了矩阵式二维条码所代表的意义。矩阵式二维条码是建立在计算机图像处理技术、组合编码原理等基础上的一种新型图形符号自动识读处理码制。具有代表性的矩阵式二维条码有:Code One、MaxiCode、QR Code、 Data Matrix、Han Xin Code、Grid Matrix 等。二维码在现实生活中的应用越来越普遍由于QR CODE的流行,二维码又称QR code。
需求分析
本文研究基于微信的签到系统的开发,需要对扫码学生个人信息和微信信息进行组合成一个整体,从而实现学生签到状态的实现。同时为了便于教师个人配置,二维码门禁签到系统会增加系统配置功能,使得系统能使用不同的公众号实现原本的功能,而学生微信信息和个人信息的自主绑定会在教师进行学生花名册的导入后由学生在微信客户端关注公众号后按要求完成,整个系统的实现需要公众号具备高级接口:微信网页授权(如果用户在微信客户端中访问第三方网页,公众号可以通过微信网页授权机制,来获取用户基本信息,进而实现业务逻辑)。而该权限只有通过认证的服务号才能获取,在本系统中则需要通过开发者的测试号实现。
二维码门禁签到系统体系结构
本二维码门禁签到系统整体采用3层B/S架构,分为前端(Browser)网页,微信服务端,数据服务端(Server)。
(1)数据服务端 位于系统架构的最底层,提供数据的解析、处理、封装和传输,本系统服务主要基于tomcat本地开发部署后通过ngrok映射外网实现。数据服务器端处理的信息来源有两中:前端页面具体动作,此部分是系统的主要信息部分,主要与实现与前端页面的数据传输和交互;根据微信服务器推送过来消息类型和内容进行解析,如:关注公众号动作和绑定学生信息等。
(2)微信服务端 负责实现对微信用户的消息的全方位沟通、互动,就相当一个中转服务器。
(3)前端网页 主要实现对用户的可视化显示,提供和用户交互,将用户行为输入转化为系统操作,进入后台逻辑分析传回显示。
二维码门禁签到系统工作流程
主要设计内容及流程包括:管理员进入管理员页面,管理员页面可以提供签到及查询以往签到记录功能并提供导出,当管理员老师需要实现考勤签到时点击相应按钮可以进入数据导入页面,数据导入页面需要管理员老师输入上课时间,上课应到人数,以及每台机器使用人数,然后提交给服务器后台,产生签到页面并在签到页面上生成与用户相对应的唯一二维码以供学生微信扫描签到,而学生在扫码签到前需要先关注相应公众号并根据公众号提示步骤完善个人信息,在完成以上步骤后打开微信扫码功能扫描计算机签到页面上生成的二维码完成签到考勤。