日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > windows >内容正文

windows

基于微信小程序的课堂考勤系统的设计与实现

發布時間:2023/12/31 windows 50 豆豆
生活随笔 收集整理的這篇文章主要介紹了 基于微信小程序的课堂考勤系统的设计与实现 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

代碼倉庫地址:https://github.com/LicheeGit/Classroom-Attendance-System

Design and Implementation of Classroom Attendance System Based on WeChat Mini Program

?

?

在目前國內的高校課堂考勤中,傳統的到場點名方式耗費了教師大量的時間和精力,隨著課堂人數的增加,學生群體呈現多樣性,這種點名考勤方式將不再適合日常使用,而且傳統的點名考勤無法避免代人答到現象,極大的降低了考勤效率。

在日趨信息化的互聯網時代,使用互聯網技術和思維,信息化的方法進行設計并實現一套考勤系統變得格外重要。系統基于微信小程序平臺,前端使用wxml語言編寫,后端使用Javascript,借助微信平臺提供的微信開發者工具進行開發調試,通過藍牙信號強度測距和人臉識別比對實現了一套課堂考勤系統。

本系統以較高準確率實現了快捷的課堂考勤,操作簡單,可適用性強,成本低廉,系統可靠性高,滿足系統的設計需求。

?

關鍵詞:小程序;課堂考勤;藍牙技術;人臉識別;微信

?

?

ABSTRACT

In the current domestic colleges and universities, the traditional paper-based recording of the name of the teacher has spent a lot of time and energy. As the number of students increases and the student group presents diversity at the same time, this type of attendance will no longer be suitable for daily use. And the phenomenon of the other-people-help-answering, which is hard to be avoided by the traditional name attendance, will greatly reducing the efficiency of attendance.

In the increasingly information-based Internet era, it has become particularly essential to use Internet technology and its way of thinking, and to design and implement an attendance system. The system is based on WeChat applet platform, the front end is written in wxml language, the back end using Javascript, and the WeChat developer tool provided by WeChat platform is used for development and debugging, and a set of classroom attendance system based on WeChat mini program using the technology of Bluetooth signal strength ranging and face recognition is realized.

The system achieves efficient and fast classroom attendance with high accuracy, simple operation, strong applicability, low cost and high system reliability, all of these above mentioned achieve the expected development goals.

?

Keywords: Mini program; Class attendance; Bluetooth technology; Facial recognition; WeChat

?

目? 錄

摘? 要... I

ABSTRACT.. II

第1章? 緒? 論... 1

1.1? 課題來源... 1

1.2? 課題背景... 1

1.3? 國內外的研究現狀及分析... 2

1.3.1? 高校考勤系統研究現狀... 2

1.3.2? 微信小程序藍牙技術及人臉識別應用現狀... 3

1.4? 論文主要研究內容及組織結構... 3

1.4.1? 本文主要研究內容... 3

1.4.2? 論文整體框架... 4

第2章? 相關技術及平臺介紹... 5

2.1? 微信小程序... 5

2.1.1? 微信小程序開發平臺... 5

2.1.2? 藍牙技術在微信小程序開發中的應用... 6

2.2? 人臉識別技術... 7

第3章? 系統分析與設計... 8

3.1? 系統可行性分析... 8

3.1.1? 技術可行性... 8

3.1.2? 經濟可行性... 8

3.1.3? 操作可行性... 8

3.2? 系統需求分析... 9

3.2.1? 功能需求分析... 9

3.2.2? 非功能需求分析... 9

3.3? 系統數據庫設計... 10

3.3.1? 概念設計... 10

3.3.2? 邏輯設計... 12

3.4? 系統設計... 13

3.4.1? 系統流程... 13

3.4.2? 系統功能模塊設計... 14

第4章? 系統實現... 19

4.1? 系統開發環境... 19

4.2? 系統功能的實現... 19

4.2.1? 用戶注冊與登錄... 19

4.2.2? 藍牙測距... 20

4.2.3? 人臉識別... 22

4.2.4? 考勤管理... 23

4.3? 系統測試... 25

4.3.1? 系統功能測試... 25

4.3.2? 系統界面及窗體測試... 27

結? 論... 28

參考文獻... 30

?

?

?

1? ?

1.1? 課題來源

根據導師指導意見,通過分析高校日常考勤需求,查閱該方向相關資料,最終確定本課題。

1.2? 課題背景

課堂考勤作為監督學生出勤率以及提高課堂質量的關鍵環節,在日常高校教學生活中起著非常重要的作用。目前大部分高校采用的基于紙質、依賴于學生答到的傳統考勤方式多數情況下并不能有效避免學生代答到的情況,而且在完整的點完所有同學名單的過程中浪費了大量寶貴的課堂時間。對于學生并不能起到預期的督促效果,對于學校和教師則是一種需要耗費極大精力和時間但是準確率得不到保證、低效的考勤。隨著課堂的人數與日俱增,傳統的上課點名答到的考勤方式的效率變得越來越低。因此,將信息技術與互聯網思維技術相結合,設計并實現一套基于微信小程序的課堂考勤系統,使之能夠方便地應用于高校課堂,變得越來越有意義。一個易用高效的課堂考勤系統不僅能夠有效地督促學生按時到教室上課,提高學生的學習質量,而且有利于學校了解教師的任課情況進行教學改革。

微信作為一個日常手機應用擁有著很高的使用頻率和裝機率,其推出的微信小程序憑借出色的體驗倍受開發者青睞。微信小程序平臺為開發者提供了包括調用手機藍牙模塊進行搜索和通信的功能接口在內豐富的應用程序接口,使我們可以使用微信小程序平臺開發工具設計并實現一些原本只能夠以手機應用形式使用的功能。

隨著人工智能在各個領域的廣泛應用和飛速發展,人臉識別變得越來越觸手可及,越來越多的企業和工廠開始啟用人臉打卡考勤,但是在高校環境中現有設備并不能很好的發揮作用,如果能夠將人臉考勤與移動設備進行結合將極大程度的解決高校傳統考勤方式低效的問題,并且極大地提高課堂考勤的準確度。

1.3? 國內外的研究現狀及分析

1.3.1? 高校考勤系統研究現狀

目前在中國,有許多的大中小企業事業單位進行考勤已經不再使用基于紙質的簽名考勤或者單純的指紋打卡,有日趨成熟的基于智能辦公硬件員工考勤解決方案被廣泛應用。然而,目前還沒有滿足國內高校需求的低成本考勤系統可以在大多數高校中使用。在研究領域,目前高校課堂考勤系統的設計方法主要有以下幾類[1]。

一是以手機服務為主的智能考勤:如使用微信公眾號服務、位置服務、Wi-Fi、實時二維碼等。有研究人員基于微信企業號開發出了微信考勤系統并在學院進行應用[2],從該系統的反饋分析,存在難以杜絕代替考勤的現象以及對上課地點有要求等問題。有的研究人員開發出基于Wi-Fi的高校課堂考勤系統[3],這種考勤系統需要提前架設Wi-Fi熱點服務器才能開始考勤。

二是以智能卡為主的考勤:有研究人員設計了基于校園一卡通的考試簽到系統[4]。這類考勤適用于紙質考試等不能攜帶手機的場景,同時需要專門的讀卡設備進行驗證。

三是以藍牙設備為主的考勤:如物聯網、射頻識別技術、藍牙、iBeacon等。有研究人員開發了基于iBeacon定位技術的高校考勤系統[5],基于藍牙的考勤方式可以通過微信或移動設備進行簽到,但是需要提前布置iBeacon設備,有一定維護成本,通信中也存在安全隱患。有研究人員在安卓平臺設計并實現了藍牙考勤系統[9],但是該系統只支持安卓平臺,如果學生使用IOS系統則無法使用,不具有適用性。前面提到的三種考勤方式均是以移動終端或便攜設備作為識別主體,并沒有對學生進行準確識別,和傳統的點名答到方式一樣無法有效避免考勤代簽的問題。

四是以生物特征識別為主的考勤:這類考勤主要使用人體的生物特征,如指紋和人臉等能夠唯一識別一個個體的特征。有研究人員提出了使用指紋識別技術進行課堂考勤的方法[6],但該方法的實現基于特定設計的指紋識別設備。基于虹膜識別技術的課堂考勤雖然保證了較高的準確率,但是不僅會帶來較高的設備成本,還會耗費一定的準備時間[7]。人臉識別考勤相對來說比較易用,學生只需打開智能手機的攝像頭并且聯網即可完成簽到,降低了系統的使用成本。

綜合考量上述四類考勤系統的設計優缺點,如果想要在低成本的條件下實現對學生進行準確的課堂考勤,就需要結合硬件設備和生物識別的優點,而目前指紋識別和虹膜識別的實現中存在一些困難,因此,本文選擇基于藍牙定位和人臉識別的方法設計并實現高校課堂考勤系統。

1.3.2? 微信小程序藍牙技術及人臉識別應用現狀

微信小程序因其便捷性和輕量化的體驗而廣受開發者青睞,其應用前景極其廣泛,現在還有很多領域是微信小程序沒有觸及的,高校課堂考勤便是其中一處。有研究人員開發出了基于BLE(Bluetooth Low Energy,藍牙低能耗)技術的智能公寓門鎖控制微信小程序[8],具有簡單易用,易獲取,擴展性強,安全性高的特點,填補了基于小程序的智能門鎖市場的空缺[8]。Github上也不乏開發者從事微信小程序藍牙模塊的應用開發,有的開發者將微信小程序平臺提供的藍牙應用程序編程接口進行包裝,打包成模塊開源,極大的方便了后來者的小程序藍牙開發。有的開發者使用藍牙設備發射信號的接收信號強度指示結合計算公式開發出了藍牙測距的方法。在人臉識別的應用開發方面,有許多人工智能服務提供商開放了人臉識別的應用程序編程接口,極大的降低了基于人臉識別應用開發的門檻。

1.4? 論文主要研究內容及組織結構

1.4.1? 本文主要研究內容

以高校課堂智能考勤的需求為切入點,本文將微信小程序可以被便捷地獲取和傳播等優勢與基于深度學習的人臉識別方法,基于手機藍牙模塊的定位方法三者相結合,解決了高校傳統考勤無法避免的代答到、紙質考勤效率不高的問題,實現了基于微信小程序的課堂考勤系統。

本文的主要研究內容如下。

1、針對基于手機應用的考勤系統需要開發至少兩套基于不同手機系統平臺的應用程序,本文設計的系統基于微信小程序平臺,通過微信的高度普及避免了不同手機系統的適配問題。

2、針對考勤簽到定位服務使用GPS對考勤環境有一定限制,比如在室內會影響定位的精度,使用Wi-Fi考勤需要提前架設服務器等定位難題,本文提出使用基于藍牙設備信號強度的距離測量公式,借此可以方便地計算出學生所持藍牙設備與教師設備之間的距離。而使用該功能只需雙方打開手機的藍牙開關即可,使用便利。

3、針對單純的設備定位無法有效避免學生代替簽到的問題,本文提出了結合藍牙技術與生物識別的解決方案。將藍牙定位獲取的距離作為進入簽到的判斷條件,如果經藍牙測試不在教室則無法進行考勤,有效避免了學生在非教室環境進行人臉識別簽到成功的問題,同時提高了課堂考勤的效率。

4、針對藍牙測距只能通過將藍牙設備接收到的信號強度輸入公式計算距離,存在不穩定的偏差,提出了結合微信小程序開發平臺提供的獲取用戶位置信息的應用程序開發接口,獲取到教師所處位置的經緯度上傳服務器端,學生在簽到前獲取到服務器中教師的位置,與自己所處位置的經緯度進行測距,得出基于位置信息的距離作為參考。從而使得出學生所持設備與教師設備的距離值更加準確,為后續的程序流程以及是否滿足簽到條件的判斷工作奠定了基礎。

5、針對網絡通信過程中可能存在的密碼等關鍵信息明文傳輸被攔截讀取的不安全因素,本文在客戶端和云端信息交互過程中使用HTTPS和SSL加密傳輸,有效防止了信息泄露以及被篡改。

1.4.2? 論文整體框架

論文將分四章分別展開,下面是具體章節內容。

第一章為緒論。本章主要闡述了課題的來源,通過對課題背景的分析得出課堂考勤目前存在的痛點,同時分析了在該方向上國內相關技術的研究現狀,探討了本課題的研究意義,隨后是對本文的主要研究內容以及論文的整體框架的介紹。

第二章為相關技術及平臺介紹。本系統基于微信小程序平臺開發,使用了藍牙技術和人臉識別技術,并且使用了豐富的應用編程接口進行開發,為了便于更好地理解和掌握全文,本章簡要介紹了本文涉及的相關技術。

第三章為系統分析與設計。本章使用軟件工程的方法,分析了本文設計的系統需求,給出了系統用例圖,進行了系統可行性分析,確定了系統結構,制作了系統流程圖,并詳細介紹了功能模塊和數據庫設計。

第四章為系統實現。本章按照系統設計對系統的各個模塊的實現步驟作了簡要敘述,并展示了系統各項功能的測試方法和測試結果。

?

?

2? 相關技術及平臺介紹

本系統是在微信小程序平臺的基礎上,使用微信提供的微信開發者工具進行開發的。前端使用wxml和wxss語言編寫,后端用Javascript語言編寫。調用了微信小程序的藍牙模塊應用開發接口和百度云人工智能接口。本章主要介紹微信小程序開發平臺以及藍牙通信、人臉識別等相關技術。

2.1? 微信小程序

時至今日,使用微信已經變成了很多人的生活日常。在2018年每月有超過十億人使用微信[10],其中微信小程序為更加智能的生活提供了技術和平臺。

2.1.1 ?微信小程序開發平臺

42B1、小程序技術發展史

小程序最開始是微信的JS API(JavaScript Application Programming Interface,JavaScript 應用程序編程接口),當時微信中的網絡視圖正逐漸成為移動Web的一個重要入口。2015年初,微信發布了一套名為JS-JDK的網頁開發套件,允許開發者使用微信的原生能力,賦予了微信應用開發者更強的便捷性和更多可能性。隨后為了使得所有開發者在微信中都能獲得更好的體驗,推出了現在版本的小程序系統。

43B2、小程序的特點

微信小程序有如下特點。

(1)小程序可以被便捷地獲取,用戶可以通過掃描小程序二維碼或搜索來打開小程序。第二次使用時只需要打開手機端的微信應用,在主界面下拉,點擊小程序的圖標即可進入小程序開始使用。無需安裝,在小程序的體驗中,沒有安裝包,也沒有動輒耗時幾分鐘的安裝過程,只需掃描小程序碼,幾秒便可以進入應用。用完即走,不用擔心退出應用后殘留的內存占用。無需卸載,不想使用時從小程序列表刪除小程序即可。

(2)高效和簡單的開發。小程序可以實現一次開發、多平臺通用。因為微信小程序存在于微信的使用環境中,所以不存在不同的平臺需要做額外開發進行兼容的問題,與以往開發手機應用至少需要針對安卓和iOS(iPhone OS,蘋果公司的移動操作系統)平臺分別開發兩款應用相比,大大降低了開發成本。而且微信小程序推廣更加容易,無需下載安裝包,在小程序頁面右上角點擊即可分享給好友使用。每次版本的更新只需要提交小程序平臺審核即可完成版本更迭,無需像傳統手機應用需要把安裝包提交各個不同的應用市場進行審核再上架,也無需給用戶推送更新消息。

(3)微信小程序有著卓越的使用體驗。相較于傳統網頁的信息呈現方式,小程序使用了WebSocket雙向通信、本地緩存技術,使得小程序的使用體驗更加接近原生應用。開發者在編寫代碼過程中可以隨意調用小程序平臺提供的API而無需擔心瀏覽器的兼容,從而更加專注于內容的呈現。

(4)微信小程序也擁有實現更多的任務和滿足更多的應用場景的可能。與HTML5網絡應用相比,微信小程序可以調用更多系統接口,如藍牙模塊、全球定位系統、傳感器等。

(5)微信小程序安全性更高,小程序需要審核后才能發布,通信采用的是超文本傳輸安全協議訪問,安全套接層加密通信。

2.1.2 ?藍牙技術在微信小程序開發中的應用

藍牙是一種在工業、科學和醫療無線電頻段內使用無線電波在固定和移動設備的短距離之間交換數據以及構建個人局域網無線技術標準。現在市面上的多數移動操作系統均已原生支持低功耗藍牙。下面就本文中主要用到的部分微信小程序平臺提供的藍牙模塊API按使用順序進行簡要介紹。

1、openBluetoothAdapter(Object object),該接口用于藍牙模塊初始化,其他藍牙相關API必須在此接口調用之后使用,否則會返回錯誤。該接口參數中可以設置接口調用成功的回調函數、調用失敗的回調函數或是接口調用結束的回調函數。

2、onBluetoothAdapterStateChange(function callback),該接口主要監聽手機藍牙狀態的改變。它可以調用藍牙模塊的所有應用編程接口。該接口的返回結果將判斷藍牙適配器是否可用,以及是否處于搜索狀態。為后續的藍牙模塊功能接口的調用奠定基礎。

3、startBluetoothDevicesDiscovery(Object object),成功調用該接口即可開始搜索周圍設備發出的藍牙信號。通過設置參數中的services數值可以搜索廣播包有對應服務的藍牙設備。參數interval可以調整上報設備的間隔。

4、onBluetoothDeviceFound(function callback),調用該接口將獲得新搜索到的設備列表。返回的列表中每臺設備的信息包括藍牙設備的名稱、設備的id、當前藍牙設備的信號強度、當前藍牙設備廣播數據段中的ServiceUUIDs、LocalName、ServiceData數據段等。

5、createBLEConnection(Object object),調用該接口與低功耗藍牙設備建立連接。從搜索到的藍牙設備中選擇一個,傳入該設備的deviceId建立連接。

2.2? 人臉識別技術

目前國內許多主流科技公司都面向開發者推出了人工智能開放平臺,將基于深度學習的計算機視覺技術以API或SDK的形式開放給開發者。本文主要使用的是百度AI開放平臺提供的API進行開發,實現了人臉注冊和人臉比對考勤。在本節對部分在本文系統的設計和實現過程中使用到的接口進行簡要說明。

1、人臉檢測接口,調用該接口可以檢測出圖片中人臉的位置并標記出位置信息。

2、人臉搜索接口,調用該接口可以進行人臉搜索和識別。返回結果為匹配的用戶信息列表,其中每項包含了如下用戶信息:用戶的組,用戶的id,注冊用戶時攜帶的附加信息以及用戶的匹配得分。本系統使用了這個接口返回的匹配得分以八十分為閾值進行判斷是否是本人來進行簽到。

3、人臉庫人臉注冊接口,調用該接口可以向人臉庫中添加新用戶信息。請求參數包括圖片信息、圖片類型、用戶組id、用戶id和可選的用戶信息。本系統使用該接口提供學生注冊和教師注冊功能,對學生和教師劃分了不同的用戶組進行權限區分。

4、人臉庫用戶信息查詢接口,調用該接口可以獲取指定用戶的注冊信息內容。請求參數中需要指明用戶id和用戶組id。返回參數包括一個請求標識碼,以及查詢到的用戶列表,其中包括被查詢的用戶資料和被查詢用戶所在的組。

5、人臉庫獲取用戶列表接口,調用該接口輸入用戶組id即可返回組內用戶id列表。本系統使用該接口進行查詢當前使用用戶是否已注冊,如果未注冊將跳轉注冊頁面,已注冊將彈出登錄窗口進行密碼驗證。

6、人臉庫創建和刪除用戶組接口,這兩個接口在本系統內被成對使用,前者用于創建一個空的用戶組,后者刪除用戶組下所有用戶及人臉。輸入參數均為用戶組id,如果該用戶組存在,則返回創建失敗。在本系統中,這兩個接口用于為教師開啟考勤和關閉考勤功能實現提供支持。

?

?

3? 系統分析與設計

3.1? 系統可行性分析

本系統的設計是面向高校日常課堂考勤需求,基于微信小程序結合藍牙技術和人工智能技術,提出一種高效的考勤方式。就本系統的設計能否行得通并且有效解決高校課堂考勤問題,下面從三個方面進行詳細分析。

3.1.1? 技術可行性

軟件部分,本系統是基于微信小程序平臺、使用Javascript語言和wxml語言進行開發的。使用微信小程序開發工具可以方便的進行代碼編輯和編譯調試。同時微信小程序還開放了功能齊全的應用程序開發接口供開發者調用,其中包括了通過小程序對藍牙模塊的調用,可以實現搜索藍牙設備和進行藍牙連接等本系統需要的功能。百度AI人工智能平臺開放了人臉識別API,可用于人臉考勤。硬件方面,本系統基于微信,使用了手機的藍牙模塊和攝像頭模塊,使用過程中需要網絡連接。藍牙模塊的近距離通信信號可以在教室范圍內覆蓋,保證了本系統的技術可行性。

3.1.2? 經濟可行性

開發過程中無需使用收費開發軟件,百度AI平臺提供的免費服務基本可以滿足一百名左右學生的班級考勤。本系統的使用環境只需要是普通的智能手機即可,無特定系統和手機型號要求,無需其他輔助設備。在使用過程中除少量流量消耗外不會有另外的成本產生。

3.1.3? 操作可行性

使用本系統進行考勤只需教師和學生打開微信掃描小程序二維碼,授予小程序所需的權限即可。使用過程中依照系統提示打開藍牙模塊以及進行人臉拍照即可完成考勤,教師端可以方便的查看簽到和缺勤人數和名單。

3.2? 系統需求分析

需求分析是銜接可行性分析與系統設計的重要活動。需求分析環節將闡述本系統所實現的功能需求和非功能需求。

3.2.1? 功能需求分析

本系統的功能設計主要是面向高校師生的、為了解決傳統高校課堂考勤效率低和無法避免代答到的難題。使用本系統,高校教師可以通過手機微信開啟簽到,隨時可以停止簽到,并且可以方便地查看簽到統計結果。學生簽到只需在教室范圍內刷臉。

進入小程序需要用戶選擇自己的身份,選擇身份之后如果是未注冊用戶需要先進行注冊,注冊過程需要錄入人臉以及輸入自己的密碼。已注冊用戶則直接在彈窗內輸入密碼登錄即可。教師身份用戶的注冊需要有權限限制。教師登錄之后進入管理界面,可以進行開啟考勤和關閉考勤以及分別查看已簽到和未簽到的學生人數和名單,還可以進一步對未簽到學生進行勾選其中的請假學生,確定最終的缺勤名單。學生登錄之后進入藍牙操作界面,開啟藍牙搜索并匹配教師設備的藍牙信號,選定教師設備后通過判斷學生與教師的距離決定學生是否可以進行簽到,如果在教室范圍內,則學生將通過刷臉驗證身份進行簽到。

圖3.1所示用例圖對本系統的功能進行了描述,同時闡述了用戶使用本系統的場景。

3.2.2? 非功能需求分析

功能性需求介紹的內容是系統做什么,非功能性需求則側重于闡述系統怎么樣,如表3.1所示。

3.1 系統性能需求

需求名稱

詳細要求

可靠性

運行流暢,處理時間在可接受范圍內

可維護性

易于修改調試

可擴充性

可根據現實需求增刪功能模塊

易用性

系統界面友好,有相應提示引導,人性化


圖3.1 系統用例圖

3.3? 系統數據庫設計

從本系統的數據需求出發,本節將對本系統數據存儲設計方法進行介紹。

32B3.3.1? 概念設計

本系統涉及的數據可分為以下三個實體。

1、學生信息

學生信息如圖3.2所示,包括學生的用戶名、用戶組、賬戶密碼、人臉信息和位置信息。用戶名用于唯一識別學生,賬戶密碼用于驗證用戶身份,用戶組用于區分師生權限,人臉信息用于考勤,位置信息用于輔助定位。

2、教師信息

教師信息如圖3.3所示,包括教師的用戶名和賬戶密碼、用于區別教師權限的用戶組、用于登錄驗證的人臉信息、用于學生簽到測距的藍牙設備信息和位置信息。

3、考勤統計信息

考勤統計信息如圖3.4所示,包括應到人數、實到人數、簽到名單、請假名單和缺勤名單。

圖3.2 學生的屬性信息

圖3.3 教師的屬性信息

圖3.4 考勤統計的屬性信息

各實體之間的E-R圖如圖3.5所示。

圖3.5 系統數據庫E-R圖

一個學生對應一條出勤統計信息,將多名學生的考勤信息統計之后反饋給老師,一名老師可以查看多條考勤統計信息。

3.3.2 ?邏輯設計

本系統涉及數據庫的邏輯設計分為學生信息表、教師信息表、考勤統計表,具體設計分別如下所示。

1、學生信息表,表名Students,結構設計如表3.2所示。

3.2 學生信息表

字段名

字段說明

數據類型

約束

是否可空

備注

uid

用戶名

varchar(128)

PK

不可為空

主鍵

group_id

用戶組

varchar(128)

不可為空

user_info

密碼

varchar(256)

不可為空

image

人臉信息

varchar(512)

不可為空

base64編碼的圖片數據

2、教師信息表,表名Teachers,結構設計如表3.3所示。

表3.3 教師信息表

字段名

字段說明

數據類型

約束

是否可空

備注

uid

用戶名

varchar(128)

PK

不可為空

主鍵

group_id

用戶組

varchar(128)

不可為空

user_info

賬戶密碼

varchar(256)

不可為空

image

人臉信息

varchar(512)

不可為空

user_location

位置信息

varchar(256)

不可為空

uuid

藍牙設備信息

varchar(256)

不可為空

3、考勤統計表,表名PresentList,結構設計如表3.4所示。

?

?

?

?

表3.4 考勤統計表

字段名

字段說明

數據類型

約束

是否可空

備注

studentsNum

簽到人數

integer

不可為空

kaoqinStudents

簽到名單

varchar(512)

可空

notPresentNum

未簽到人數

integer

不可為空

notPresentList

未簽到名單

varchar(512)

可空

lessonToken

考勤口令

varchar(512)

PK

不可為空

主鍵

3.4? 系統設計

3.4.1? 系統流程

系統流程如圖3.6所示,用戶通過掃描二維碼或者點擊課程群的分享鏈接進入本系統,首先在歡迎界面選擇自己的身份。選擇完成后系統會將用戶微信id發回相應數據庫進行查詢,查詢失敗則該用戶為未注冊用戶,需要先進行注冊,注冊過程需要輸入密碼和進行拍照,密碼和人臉信息將與用戶id綁定存入云端數據庫,用作后續登錄和簽到的操作的二重驗證。系統的正式版本中未開放教師的注冊權限。注冊成功的用戶將返回起始界面,選擇身份后在彈出的系統提示框內輸入自己賬戶的密碼,用戶輸入的密碼將和數據庫中存儲的同id下的密碼進行比對,如果相同則登錄成功,教師身份的用戶將跳轉到人臉識別界面做第二步的身份驗證,在該環節教師將通過攝像頭拍照傳回云端的人臉庫進行人臉比對,如果判定為同一人則登陸成功,教師進入考勤管理環節。教師在開啟考勤需要輸入一個考勤口令,用于唯一識別本節課以及學生簽到驗證,如果考勤口令未被使用則可以開啟考勤,如果輸入已存在的口令則可以查看相應課堂的考勤歷史信息。教師開啟考勤之后自己的藍牙設備信息和位置信息將被上傳至數據庫,同時新建一個用于本次考勤的數據庫存放已經簽到的學生名單。學生經密碼驗證成功后將開啟藍牙搜索功能,此時將獲取學生與教師設備的距離,如果經藍牙測距判定學生在教室范圍內,學生將被允許使用人臉識別功能完成簽到,否則該生將無權進入人臉識別環節。學生進入人臉簽到環節需要輸入正確的考勤口令和通過人臉驗證才可以簽到成功,完成簽到的學生可隨時退出系統。教師在開啟考勤后可隨時進行刷新查看已考勤學生名單和未考勤學生名單,同時本系統也提供考勤人數統計顯示。教師可以點擊按鈕關閉考勤,在此之后學生在進行考勤嘗試將被提示考勤未開啟。教師可以進一步對未到學生名單勾選其中的請假學生,以生成最終的缺勤名單。教師可將考勤情況截圖保存后退出系統,或者直接退出系統。

3.4.2? 系統功能模塊設計

按照功能需求分析和流程設計,本系統的功能模塊設計分為四個模塊:注冊與登錄模塊、藍牙測距模塊、考勤管理模塊、人臉識別模塊。如圖3.7所示,注冊與登錄模塊是通過驗證用戶密碼和人臉信息保證系統的安全性。藍牙測距模塊是主要功能模塊,通過藍牙信號結合位置信息判斷學生是否在教室,從而決定是否有權簽到。人臉識別模塊,在本系統中是學生考勤驗證的最后一步,通過將簽到時的照片與注冊時存入人臉庫的圖片進行比對判斷是否簽到成功,同時人臉識別也被用于教師登錄過程的二次驗證,保證的教師權限的安全性。本系統的關鍵模塊是考勤管理模塊,教師通過此模塊擁有開啟考勤和關閉考勤的權限,對考勤情況也可以有全面的掌握。

1、注冊與登錄模塊

如表3.5所示,本模塊功能包括用戶身份選擇,注冊和登錄。首先需要區分學生或教師身份,選擇完相應的身份后,首次使用的用戶應該進行注冊,已經注冊的用戶應該輸入密碼進行驗證。注冊過程中除了設置密碼,還需要保存用戶的人臉信息。登錄時,學生輸入密碼驗證即可,教師除了輸入正確密碼,還應該進行人臉驗證,以增強系統的安全性。

3.5 注冊與登錄模塊的具體設計表

模塊名稱

注冊與登錄模塊

功能說明

身份選擇,用戶注冊,用戶登錄

輸入

身份信息,用戶密碼,人臉信息

輸出

關鍵邏輯

  • 用戶信息包括id,密碼,人臉信息
  • 登錄輸入框的密碼與數據庫中對應用戶的密碼進行驗證,如果不一致提示重試
  • 學生和教師不同的身份對應于不同的注冊登錄流程
  • 函數方法

    bindGetUserInfo()

    獲取用戶信息

    confirm()

    登錄密碼驗證

    takePhoto()

    拍照并上傳對應人臉庫


    圖3.6 系統流程圖

    圖3.7 系統功能結構圖

    2、藍牙測距模塊

    如表3.6所示,藍牙測距模塊主要設計手機藍牙模塊的開啟和關閉功能,藍牙連接,顯示師生距離,跳轉簽到界面等功能。學生進入藍牙搜索界面首先點擊開始搜索按鈕,搜索欄顯示教師設備后學生點擊該設備,如果學生在教室則成功進入簽到頁面,否則繼續搜索。

    3.6 藍牙測距模塊設計表

    模塊名稱

    藍牙測距模塊

    功能說明

    藍牙搜索,藍牙連接,距離計算

    輸入

    教師設備信息

    輸出

    距離

    關鍵邏輯

  • 開啟藍牙搜索時檢查藍牙適配器狀態,掃描周圍設備藍牙信號
  • 計算距離時從云端數據庫中獲取教師藍牙設備和位置信息
  • 距離滿足條件時跳轉簽到界面
  • 函數方法

    Search()

    搜索藍牙設備并顯示

    Connect()

    藍牙設備連接并顯示距離

    getGps()

    獲取學生和教師的位置信息計算基于GPS的距離

    3、考勤管理模塊

    如表3.7所示,考勤管理模塊主要設計開啟考勤、關閉考勤和查詢考勤情況功能。教師點擊開啟考勤后學生的簽到才有效,教師關閉考勤后學生簽到失敗。教師點擊刷新按鈕會顯示已簽到學生人數和名單,點擊獲取未登錄列表按鈕會顯示未簽到學生人數和名單。點擊清空log日志按鈕可以清空列表。

    3.7 考勤管理模塊設計表

    模塊名稱

    考勤管理模塊

    功能說明

    開啟考勤,關閉考勤,考勤統計,清空日志

    輸入

    -

    輸出

    考勤信息

    關鍵邏輯

  • 開啟考勤前需設置考勤口令,口令存在則查詢考勤歷史,口令不為空且可用才允許開啟考勤
  • 開啟考勤時新建考勤數據庫,關閉考勤時刪除該數據庫
  • 查詢考勤情況時對數據庫進行遍歷,找出已考勤和未考勤學生名單顯示在對應位置
  • 對未考勤學生名單進行勾選其中的請假學生,不顯示在缺勤名單中
  • 點擊清空日志將名單清空,人數歸零
  • 函數方法

    startKq()

    開啟考勤

    getUnpresent()

    刷新顯示缺勤名單

    checkboxChange()

    獲取請假學生

    checkToken()

    檢查考勤口令是否可用

    getToken()

    獲取相應權限

    endKq()

    結束考勤

    refreshList()

    刷新已簽到學生人數和名單

    getUnpresentList()

    獲取未簽到學生人數和名單

    getDeviceId()

    獲取教師設備uuid

    4、人臉識別模塊

    如表3.8所示,本模塊的主要功能為拍照上傳人臉庫,與用戶的人臉信息進行對比判斷是否為同一人,如果一致則執行后續操作,對學生身份的用戶為簽到成功,將簽到信息存入云端數據庫,對教師身份的用戶為跳轉考勤管理界面。

    3.8 人臉識別模塊

    模塊名稱

    人臉識別模塊

    功能說明

    拍照,人臉信息編碼并上傳,簽到或登錄

    輸入

    人臉信息

    輸出

    -

    關鍵邏輯

  • 頁面加載時獲取token,加載攝像頭模塊,獲取用戶信息
  • 點擊拍照按鈕時拍攝人臉照片,進行編碼并上傳人臉庫進行比對,獲取返回的分值進行判斷
  • 教師通過人臉驗證則進入考勤管理界面
  • 學生通過人臉驗證將簽到信息傳入考勤數據庫轉入簽到成功界面
  • 函數方法

    takePhoto()

    拍照

    wx.switchTab()

    執行頁面跳轉

    wx.getFileSystemManager()

    對人臉信息進行base64編碼

    ?

    4? 系統實現

    本章將在系統設計的基礎上對系統主要功能的實現方法進行敘述。

    4.1 ?系統開發環境

    對于基于微信小程序平臺開發的應用,可選擇的集成開發環境有很多種,本系統使用了微信小程序平臺為開發者提供的小程序開發者工具進行全部的開發工作和部分調試。

    4.2 ?系統功能的實現

    4.2.1 ?用戶注冊與登錄

    如圖4.1所示,用戶進入系統之后首先需要在歡迎界面選擇自己的身份。選擇自己的身份時會觸發一個按鈕點擊事件,會根據用戶選擇的身份到相應的數據庫中查詢用戶的id是否已經注冊,如果未注冊的學生將跳轉注冊界面,教師未注冊則跳轉提示界面,正式版本的系統中只有管理員擁有注冊教師的權限,對于已注冊用戶將會彈窗請用戶輸入自己的密碼進行驗證登錄,密碼驗證界面如圖4.2所示。查詢及登錄的關鍵代碼為:

    for (var i = 0; i < that.data.userNum; i++) { // 遍歷獲取到的用戶列表

    if (that.data.userID == that.data.nickName) { // 查詢到用戶id

    that.setData({userInList: true})}} // 標記該用戶已注冊

    if (that.data.userInList) { // 用戶已注冊則進入登錄流程

    that.setData({hiddenPass: false}) // 顯示輸入密碼彈窗

    wx.request({ // 發起請求,從數據庫獲取該用戶的密碼

    data: { user_id: that.data.nickName, // 數據庫中的用戶id

    group_id: that.data.userGroup },// 用戶組id

    success(res2) {// 獲取到用戶密碼進行后續驗證

    if ((that.data.password) == that.data.user_info) { //密碼輸入正確

    if (that.data.userGroup == "Students") { // 檢查身份信息是否是學生

    wx.navigateTo({url: '../search/search', })}//跳轉進入藍牙界面

    圖4.1 歡迎界面??????????? ??????????????圖4.2 密碼驗證界面

    4.2.2? 藍牙測距

    登錄成功的學生將進入藍牙搜索界面,該界面如圖4.3所示。學生通過點擊開始搜索藍牙啟動手機藍牙模塊,開啟藍牙適配器掃描周邊藍牙設備,同時從數據庫中讀取教師藍牙設備的uuid,如果發現教師藍牙設備的信號可以點擊該設備,系統將獲取教師藍牙設備信號的強度并基于此計算學生與老師設備的距離,系統將基于該距離進行判斷學生是否在教室范圍內,如果藍牙距離過遠或獲取失敗,出于系統可靠性考慮,本系統會獲取學生的位置信息,并同時從云端數據庫讀取教師在開啟考勤時存入的位置信息,如果基于GPS距離的判斷為在教室內,學生同樣可以進入考勤界面。

  • 開啟藍牙模塊并進行掃描的主要代碼如下。
  • wx.openBluetoothAdapter({ // 打開藍牙適配器

    success: function(res) { // 開啟藍牙適配器成功的回調函數

    wx.getBluetoothAdapterState({ // 檢查當前藍牙適配器狀況

    success: function(res) { console.log(res) }})

    wx.startBluetoothDevicesDiscovery({ // 開始掃描藍牙設備

    allowDuplicatesKey: false, // 掃描藍牙設備的參數:不允許重復掃描設備

    success: function(res) {

    that.setData({devicesList: []})}})}}), // 更新設備列表

  • 根據藍牙信號強度RSSI計算距離的代碼如下。
  • iRSSI = Math.abs(that.data.devicesList[i].RSSI)

    ??????? power = (iRSSI - 70) / (10 * 2.0)

    ??????? initDis = Math.pow(10, power)

    ??????? that.setData({

    ????????? dis_ble: initDis

    ??????? })

    這段代碼用到的公式如公式(4.1)所示,其中dis為所求距離,RSSI為掃描到藍牙設備信號的強度,p為實測兩臺設備距離一米時的RSSI,c為環境衰減因子。

    dis=10(RSSi-p÷10×c)? (4.1)

    4.2.3? 人臉識別

    本系統提供的功能模塊中教師登錄第二步驗證和學生的簽到驗證都用到了人臉識別,人臉識別界面如圖4.4所示。本系統人臉考勤功能是基于調用百度AI人工智能平臺的開放接口實現的。用戶在注冊賬戶時需要拍照作為人臉信息與用戶名綁定傳回云端人臉庫,登錄時調用攝像頭進行拍照,將拍攝的人臉照片編碼后通過微信網絡請求接口傳輸回云端人臉庫,與相應用戶id下的人臉進行對比,將獲得一個相似度的評分,本系統以八十分作為標準,如果成績超過八十分則判定用戶為同一人,驗證通過,該方法對應誤判率為萬分之一。

    人臉識別的實現代碼如下所示。

    takePhoto() {//拍照并編碼

    const ctx = wx.createCameraContext()

    ctx.takePhoto({ //拍照

    quality: 'high',})

    wx.request({//上傳人臉進行 比對

    data: {

    image: this.data.base64,

    image_type: 'BASE64',

    group_id_list: 'Teachers},'//自己建的用戶組id

    success(res) {

    if (that.data.msg > 80) {

    wx.showToast({

    title: '驗證通過', icon: 'success', duration: 1000})

    wx.switchTab({

    url: '../start/start', })}}});//驗證通過,跳轉至開啟考勤頁面

    4.2.4 ?考勤管理

    教師在通過了密碼驗證和人臉識別雙重驗證之后,方可進入考勤管理界面,該界面如圖4.5所示。教師可以在此界面開啟考勤、關閉考勤以及查看簽到統計。教師需要先輸入考勤口令,如果口令可用則可以開啟新的考勤,如果口令已存在則可以查看相應課程的考勤歷史。開啟考勤后系統打開教師的藍牙適配器,發送藍牙信號,并檢查適配器狀態,將在數據庫中新建一個表,已考勤的學生被復制到新表中,教師需要輸入自己的藍牙設備uuid,系統將該uuid傳回后端數據庫,學生在搜索藍牙設備時將以此作為參考,同時系統也會獲取教師的位置信息,包含基于wgs84坐標系經度和緯度,并將這兩個參數傳回云端數據庫供學生考勤使用。教師點擊刷新學生名單按鈕后,將會觸發一個查詢事件,系統將新建的表與全部學生表進行比較,分別返回已簽到學生人數和名單。教師點擊顯示缺勤學生列表按鈕之后,界面日志框將顯示未簽到學生的人數和名單,可以選中其中的已請假學生,以生成最終的缺勤名單,如圖4.6所示。教師在管理界面關閉考勤后,新建的考勤數據庫將被刪除,關閉考勤后學生將無法再進行考勤。

  • 開啟考勤的關鍵代碼如下。
  • wx.request({ // 發起請求,將教師設備的uuid傳回遠端數據庫

    data: {group_id: 'Database', //自己建的用戶組id

    user_id: 'serviceId',

    user_info: that.data.bDeviceId},

    success(res) {

    that.setData({error_msg: res.data.error_msg, }) // 這里輸出錯誤信息

    if (res.data.error_msg == "SUCCESS") { // 判斷數據存入操作成功

    wx.showToast({ // 輸出提示信息

    title: 'uuid input', })}}})

    圖4.5 考勤管理界面 ????????????????????????????圖4.6 查詢歷史考勤信息

  • 考勤情況查詢關鍵代碼如下。
  • that.setData({

    allStudents: res.data.result.user_id_list, // 獲取到的全體學生名單

    totalNum: res.data.result.user_id_list.length})} // 獲取到的學生總人數

    var notPresentNum = 0; // 聲明未考勤學生數量變量

    that.setData({

    realNotPresentNum: that.data.totalNum - that.data.studentsNum}) // 計算未考勤人數

    for (var i = 0; i < that.data.totalNum; i++) { // 遍歷全體學生名單

    var studentPresent = false;

    for (var j = 0; j < that.data.studentsNum; j++) { // 遍歷已考勤學生名單

    if (that.data.allStudents[i] == that.data.kaoqinStudents[j]) { // 如果有匹配項

    studentPresent = true; }} // 學生已考勤

    if (!studentPresent) {

    that.setData({notPresentList: log})} // 更新缺勤學生名單

    4.3? 系統測試

    本節將通過人工或自動手段對本系統的功能和界面在運行過程中及運行結果的表現來檢驗系統是否符合設計需求。根據本系統應用場景和特點,本節系統測試主要使用動態黑盒測試方法進行。

    4.3.1? 系統功能測試

    1、注冊登錄模塊測試

    4.1 注冊登錄模塊測試表

    序號

    測試內容

    用例數量

    測試結果

    1

    選擇學生或教師身份,能否正確進入對應身份流程

    30

    通過

    2

    如果用戶未注冊,能否跳轉注冊界面

    15

    通過

    3

    用戶已注冊,能否彈出登錄窗口

    15

    通過

    4

    非管理員教師未注冊,能否跳轉提示界面

    5

    通過

    5

    管理員教師未注冊,能否跳轉教師注冊界面

    10

    通過

    6

    登錄窗口能否獲取密碼輸入進行驗證,密碼正確是否跳轉后續界面

    15

    通過

    7

    注冊界面能否獲取用戶信息和密碼并存入后端數據庫與用戶名進行綁定

    15

    通過

    8

    注冊界面能否通過攝像頭模塊拍攝照片

    15

    通過

    9

    人臉信息編碼是否正確存入人臉庫可用

    15

    通過

    2、云端交互請求測試

    表4.2 云端交互模塊測試表

    序號

    測試內容

    用例數量

    測試結果

    1

    系統頁面加載時能否獲取交互token并在控制窗口輸出

    50

    通過

    2

    從交互窗口獲取輸入數據能否存儲入云端數據庫

    50

    通過

    3

    能否能從云端數據庫正確獲取數據

    50

    通過

    3、藍牙搜索模塊測試

    4.3 藍牙搜索模塊測試表

    序號

    測試內容

    用例數量

    測試結果

    1

    用戶點擊藍牙搜索按鈕后,是否會檢測藍牙模塊開啟狀態并提示

    40

    通過

    2

    藍牙適配器能否正常開啟并時刻檢測狀態

    20

    通過

    3

    學生端能否獲取到教師的藍牙設備uuid

    20

    通過

    4

    學生端系統能否準確測量、計算并顯示距離信息

    20

    通過

    5

    能否從云端獲取教師的位置信息

    20

    通過

    6

    小程序是否能獲取到學生的位置信息并進行距離計算

    20

    通過

    7

    藍牙設備能否成功成功建立連接

    20

    通過

    8

    ??學生在教室范圍內時能否跳轉考勤界面

    20

    通過

    9

    ??停止搜索或者跳轉之后藍牙模塊是否關閉

    40

    通過

    4、人臉驗證模塊測試

    4.4 人臉驗證模塊測試表

    序號

    測試內容

    用例數量

    測試結果

    1

    進入人臉測試界面,攝像頭能否正常開啟

    40

    通過

    2

    能否拍攝人臉照片并進行編碼輸出

    20

    通過

    3

    考勤失敗是否提示重試

    10

    通過

    4

    教師登錄成功后能否跳轉考勤管理界面

    20

    通過

    5

    能否檢測在輸入已關閉考勤口令時給出提示

    20

    通過

    6

    在輸入正確口令時能否跳轉簽到成功界面

    20

    通過

    5、考勤管理模塊測試

    4.5 考勤管理模塊測試表

    序號

    測試內容

    用例數量

    測試結果

    1

    未授權是否拒絕開啟考勤及關閉考勤

    20

    通過

    2

    未開啟考勤是否拒絕關閉考勤操作

    20

    通過

    3

    點擊開啟考勤按鈕能否獲取數據庫建立信息

    20

    通過

    4

    點擊刷新按鈕能否在已簽到窗口顯示簽到學生人數和名單

    20

    通過

    5

    點擊未簽到學生按鈕能否顯示缺勤學生人數和名單

    20

    通過

    6

    點擊清空log按鈕能否清除窗口內容并將人數清零

    20

    通過

    7

    口令可用時能否開啟考勤

    20

    通過

    8

    口令已存在時能否提示查看歷史考勤信息

    20

    通過

    本系統的各項功能測試結果表明,本系統各個功能模塊的實現均滿足設計需求。

    4.3.2? 系統界面及窗體測試

    4.6 系統界面及功能測試表

    測試用例

    用例說明

    測試方法

    用例數量

    測試結果

    界面內容

    界面中是否存在錯別字

    手動測試

    30

    通過

    界面控件

    界面中是否有多余控件

    手動測試

    30

    通過

    界面字體

    界面字體、大小、顏色是否一致

    手動測試

    30

    通過

    提示

    各種提示是否正確、明了

    手動測試

    30

    通過

    ?

    ?

    本文設計并實現了基于微信小程序的課堂考勤系統,該系統主要使用了藍牙技術和人工智能技術,相較于傳統課堂考勤方式,使用本系統可以實現準確且高效的課堂考勤。未來可以在本系統設計的基礎上進行優化和拓展,以解決高校日常考勤過程中的其他問題。

    本文主要涉及的工作主要包括以下幾個方面。

    1、系統注冊與登錄模塊

    本系統根據學生和教師的身份不同分別設置了不同的權限,必須選擇身份并且完成對應身份所需的驗證才可以進行后續使用。對于教師身份除了密碼驗證還需要人臉驗證才可以使用教師功能,從而保證了系統的安全性。

    2、藍牙搜索模塊

    該模塊通過控制手機藍牙適配器,對周圍設備進行掃描,從而判斷學生是否可以進行簽到。是本系統的主要功能之一。

    3、人臉識別簽到模塊

    該模塊主要是對學生進行簽到前的身份認證,確認學生是本人,結合學生在教室的前提,從而杜絕了代簽到的行為。

    4、考勤管理模塊

    本模塊是面向教師進行考勤管理的各項功能的實現。教師可以控制學生考勤的時間,以及方便地查詢學生的簽到和缺勤情況。

    本系統的主要特點是將藍牙測距與人臉識別結合,充分利用智能手機硬件和人體生物信息,保證學生在教室且是本人簽到,既節省了考勤的時間,又提高了課堂考勤的準確性。并且基于微信小程序平臺,使用用戶微信id作為識別更加高效,無需考慮不同手機系統的適配,可以方便地被獲取使用,并且用完即走,節省系統空間,網絡信息使用HTTPS和SSL加密傳輸,系統擁有更高的安全性。

    本文設計的系統已經基本實現高校課堂考勤所需的功能,但是由于開發時間有限,加之本人能力有限,無法將本系統做到足以完全取代傳統考勤方式的程度,為進一步提升系統的可靠性,綜合考量本系統,還存在以下不足需要后續進行完善。

    1、系統可以為教師提供更加豐富的考勤管理功能,比如將考勤情況統計后保存到本地或者發送到郵件,目前只能通過截圖實現。

    2、本系統用于定位的藍牙設備可以替換成低成本的iBeacon設備放置在教室,這種設備可以在微信小程序開發時獲得更好的平臺支持,從而實現更準確的定位。

    3、系統的界面還過于簡單,目前只是足夠正常使用的狀態,后續可以對界面進一步美化,提升師生考勤體驗。

    4、可以對系統流程和發起數據請求的頻率進行優化,本系統使用的百度AI平臺的人工智能API只是免費版本的,只能支持不超過一百人的同時簽到。

    參考文獻

    [1]李鐘石,蔡珉官.“互聯網+”環境下高校課堂的快速簽到應用研究[J].延邊大學學報(社會科學版),2019(02):83-90+142.

    [2]李湘勤,黃晨華,門戈陽.微信考勤管理系統在高校課堂中的應用——以韶關學院為例[J].教育教學論壇,2018(17):8-11.

    [3]楊永平,曾藝,劉世興.基于WIFI的高校課堂考勤系統設計實現[J].信息技術與信息化,2017(Z1):102-103+106.

    [4]鄭瑩,孟安寧,孫久舒.基于校園一卡通的考試簽到系統的設計與實現[J].計算機時代,2017(12):96-99.

    [5]彭毅弘.基于iBeacon定位技術的高校考勤系統設計[J].福建電腦,2018,34(11):36-37+22.

    [6]吳海龍,柏正堯,武文強.基于STM32和C#的學生考勤系統設計[J].國外電子測量技術,2017,36(12):113-116.

    [7]方冠男.基于視頻流人臉識別的課堂考勤系統的設計與實現[D].華中師范大學,2018.

    [8]葛偲涵,劉毅,陳健.BLE技術在智能公寓門鎖微信小程序中的開發與實現[J].工業控制計算機,2018,31(06):112-113+116.

    [9]葛會會.基于Android 藍牙考勤系統的設計與實現[D].東華理工大學,2016.

    [10]騰訊公司.2018微信數據報告[EB/OL],2019,[2019-01-10]. https://support.weixin.qq.com/cgi-bin/mmsupport-bin/getopendays.

    總結

    以上是生活随笔為你收集整理的基于微信小程序的课堂考勤系统的设计与实现的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。