陳少涌 李哲夫 許曉旋 朱華森
摘 要:簽到是高校最常見的應(yīng)用場景之一,而現(xiàn)有的簽到解決方案仍存在效率低下等不足。以微信為代表的移動(dòng)互聯(lián)網(wǎng)應(yīng)用廣泛普及,為高校簽到系統(tǒng)的改進(jìn)提供了有利條件。本文結(jié)合微信小程序和LBS、TOTP技術(shù),提出了一種在移動(dòng)互聯(lián)網(wǎng)上基于微信小程序的簽到系統(tǒng),對(duì)該系統(tǒng)的各個(gè)模塊和功能都進(jìn)行了詳細(xì)的說明,并對(duì)系統(tǒng)的關(guān)鍵技術(shù)進(jìn)行了深入分析,包括簽到人的身份鑒別、基于地理位置實(shí)現(xiàn)信息推送及服務(wù)、支持多應(yīng)用場景的簽到服務(wù)等。
關(guān)鍵詞:簽到系統(tǒng);微信小程序;微信公眾號(hào);二維碼;LBS;TOTP
中圖分類號(hào):G647 文獻(xiàn)標(biāo)志碼:A 文章編號(hào):1673-8454(2018)11-0087-06
一、引言
簽到是高校最常見的應(yīng)用場景之一,包括會(huì)議、活動(dòng)、課堂、講座都有簽到需求?,F(xiàn)有的簽到方式以紙質(zhì)簽到和校園卡刷卡簽到為主,這兩類簽到方式都存在諸多弊端。紙質(zhì)簽到在面對(duì)一些大型會(huì)議和活動(dòng)時(shí),面臨著簽到效率低下、需要進(jìn)行二次數(shù)據(jù)整理錄入才能完成統(tǒng)計(jì)分析的問題。校園卡刷卡簽到模式依賴于校園卡、讀卡器以及安裝了校園卡簽到客戶端程序的計(jì)算機(jī),每次開會(huì)都需要工作人員提前準(zhǔn)備并且在現(xiàn)場值守,且校園卡簽到功能通常作為校園卡系統(tǒng)的子功能模塊,系統(tǒng)較為封閉,難以實(shí)現(xiàn)面向二級(jí)單位提供管理功能,難以實(shí)現(xiàn)與其他系統(tǒng)的良好集成,無法實(shí)現(xiàn)面向用戶發(fā)送會(huì)議通知等實(shí)用功能。[1]簽到效率的低下,使活動(dòng)主辦方需要額外付出大量人力和精力,參會(huì)人員也經(jīng)常因?yàn)闆]有及時(shí)獲得通知提醒而錯(cuò)過會(huì)議,或在現(xiàn)場排隊(duì)簽到耽誤進(jìn)場時(shí)間等問題導(dǎo)致參會(huì)體驗(yàn)低下。
近年來,以微信和微信公眾號(hào)為代表的移動(dòng)互聯(lián)網(wǎng)應(yīng)用興起,已深刻影響著各行各業(yè),在提升信息化服務(wù)效率的同時(shí),有效提升了用戶體驗(yàn)。由于高校里的簽到業(yè)務(wù)具有典型的線上和線下融合(O2O)特點(diǎn),因此借助微信實(shí)現(xiàn)智能化簽到具有較高的可行性及應(yīng)用價(jià)值。[2,3]
本文在分析高校簽到業(yè)務(wù)需求的基礎(chǔ)上,針對(duì)原有簽到方式的不足,提出了基于微信小程序的簽到系統(tǒng)的整體設(shè)計(jì)方案,并介紹了系統(tǒng)的實(shí)現(xiàn)及應(yīng)用流程。該系統(tǒng)已在暨南大學(xué)成功部署并在大型會(huì)議等場合投入應(yīng)用,有效提升了簽到業(yè)務(wù)的信息管理功能,優(yōu)化了簽到流程,改進(jìn)了用戶體驗(yàn),深受師生歡迎。
二、微信公眾號(hào)和微信小程序
微信是騰訊公司于2011年1月推出的一款智能手機(jī)即時(shí)通信軟件。中國互聯(lián)網(wǎng)絡(luò)信息中心(CNNIC)報(bào)告顯示,2016年網(wǎng)民最常使用的APP應(yīng)用是即時(shí)通信,其中79.6%的網(wǎng)民最常使用的是微信,其次是QQ。[4]2017年第三季度,微信和海外的WeChat的合并月活躍賬戶數(shù)達(dá)到9.8億,比去年同期增長15.8%。[5]伴隨著用戶數(shù)增長,微信的功能也越來越強(qiáng)大,支持群組、文字、圖片、語音、視頻交流、位置共享、朋友圈分享、游戲和微信支付等系列服務(wù)。
1.微信公眾號(hào)
2012年起,微信推出了微信公眾平臺(tái),支持個(gè)人和機(jī)構(gòu)通過公眾號(hào)面向關(guān)注公眾號(hào)的用戶推送消息,并借助微信公眾平臺(tái)開放接口提供增值的信息服務(wù)。公眾號(hào)根據(jù)適用場景和功能的區(qū)別,分為訂閱號(hào)、服務(wù)號(hào)和企業(yè)號(hào)三種類型,根據(jù)騰訊企鵝智酷發(fā)布的報(bào)告顯示,目前微信公眾平臺(tái)已擁有超過1000萬個(gè)公眾號(hào)。[6]受益于微信的高滲透率和海量用戶,微信公眾號(hào)在推出之后迎來了快速發(fā)展,同時(shí)借助微信開放平臺(tái)提供豐富的編程接口可以實(shí)現(xiàn)與外部系統(tǒng)對(duì)接,從而實(shí)現(xiàn)微信用戶身份綁定、支付、卡券以及一系列高級(jí)功能,具有良好的可擴(kuò)展性,已成為政府和企事業(yè)單位開展對(duì)外宣傳和服務(wù)的重要渠道。
2.微信小程序
為了進(jìn)一步發(fā)揮微信的優(yōu)勢(shì),2017年1月微信推出了“小程序”功能,目標(biāo)是通過輕量化應(yīng)用來支持豐富的場景化服務(wù)。微信小程序的主要入口是線下的二維碼,其次才是公眾號(hào)推送或朋友分享,因此它適用于剛需低頻、隨機(jī)應(yīng)用、媒體形態(tài)的移動(dòng)互聯(lián)網(wǎng)方面。典型的應(yīng)用場景包括:活動(dòng)(抽獎(jiǎng))、硬件(自助打印照片)、快遞(掃碼收件)、理財(cái)(信用卡小程序)、住房(租房或者購房信息查詢)、景區(qū)(線路導(dǎo)航、景點(diǎn)解說)、政務(wù)(查公積金、車輛違章、預(yù)約辦證)、閱讀(戶外廣告展示、信息推送)以及交通(微信乘車碼支持乘坐公交和地鐵)等。隨著微信小程序的普及,微信進(jìn)一步從“即時(shí)通訊工具”轉(zhuǎn)變成“生活服務(wù)平臺(tái)”。
微信小程序具有以下幾方面特點(diǎn):首先,微信小程序是一種全新的連接用戶與服務(wù)的方式,融入微信生態(tài)體系,與微信公眾號(hào)、微信支付、微信卡券等對(duì)接,它可以在微信內(nèi)被便捷地獲取和傳播,同時(shí)具有出色的使用體驗(yàn);其次,微信小程序嵌入于微信之中、不需要下載安裝即可使用,具備無需安裝、觸手可及、用完即走、無須卸載的特性;第三,微信小程序相較于原生APP,推廣更容易,更省成本;最后,微信小程序可以實(shí)現(xiàn)高效開發(fā),借助微信平臺(tái)提供的接口快速實(shí)現(xiàn)小程序投放使用,效益顯著。
由于微信小程序面向場景化服務(wù)的定位及其特點(diǎn),本文選擇基于微信小程序設(shè)計(jì)實(shí)現(xiàn)簽到系統(tǒng),而不是基于微信公眾號(hào)。
三、基于微信小程序的簽到系統(tǒng)設(shè)計(jì)
1.簽到系統(tǒng)功能模塊
基于微信小程序的簽到系統(tǒng)主要由三部分組成,分別包括簽到管理模塊、發(fā)布到微信里的簽到小程序以及用于實(shí)現(xiàn)用戶簽到的前端展示界面。
(1)簽到管理模塊
簽到管理模塊用于實(shí)現(xiàn)會(huì)議活動(dòng)的創(chuàng)建、通知、授權(quán)和統(tǒng)計(jì)等管理功能,如表1所示。
簽到管理模塊由經(jīng)授權(quán)的管理員用戶進(jìn)行管理操作。
會(huì)議活動(dòng)管理功能主要是創(chuàng)建會(huì)議活動(dòng),填寫會(huì)議主題、議程、活動(dòng)內(nèi)容;設(shè)置活動(dòng)所屬類型;設(shè)定會(huì)議地點(diǎn),包括GPS定位、所在建筑物、詳細(xì)地址等;添加參會(huì)人員及工作人員;設(shè)置是否顯示完整的參會(huì)人員名單、是否公開會(huì)議(在小程序中對(duì)非受邀人員可見)和是否允許非受邀人員參加會(huì)議。
活動(dòng)通知設(shè)置是為方便會(huì)議通知發(fā)送,設(shè)置在何時(shí)通過何方式將會(huì)議活動(dòng)信息發(fā)送給受邀的參會(huì)人員,目前支持通過微信公眾號(hào)的模板消息推送、手機(jī)短信推送和電子郵件通知等。
統(tǒng)計(jì)輸出功能是導(dǎo)出參會(huì)人員名單(含簽到時(shí)間),可導(dǎo)出為excel;活動(dòng)出席信息統(tǒng)計(jì),如應(yīng)到、實(shí)到、遲到;簽到信息屏幕顯示,呈現(xiàn)出會(huì)議動(dòng)態(tài)二維碼(包含會(huì)議活動(dòng)信息,供參會(huì)人員掃碼簽到),以及簽到情況統(tǒng)計(jì)。以便在開會(huì)時(shí),通過臺(tái)式電腦或平板電腦呈現(xiàn)二維碼供用戶掃描。
授權(quán)管理功能用于對(duì)會(huì)議管理員和簽到操作員進(jìn)行權(quán)限設(shè)置,不同的用戶只能管理自己創(chuàng)建的活動(dòng)。
(2)簽到小程序
簽到小程序是基于微信小程序開發(fā)的小程序應(yīng)用,服務(wù)于參會(huì)人員和簽到操作員。為便于身份識(shí)別,小程序可與微信公眾號(hào)進(jìn)行關(guān)聯(lián),并通過微信公眾號(hào)用戶身份綁定來識(shí)別簽到用戶實(shí)際對(duì)應(yīng)校內(nèi)師生身份信息。微信簽到小程序通過掃描動(dòng)態(tài)二維碼的方式實(shí)現(xiàn)簽到,同時(shí)支持參會(huì)人員掃描會(huì)議現(xiàn)場的會(huì)議動(dòng)態(tài)二維碼,或由簽到操作員使用小程序掃描參會(huì)人員的個(gè)人動(dòng)態(tài)二維碼。
面向參會(huì)人員的微信簽到小程序主界面顯示用戶頭像、用戶名、身份類型(教職工或?qū)W生)、當(dāng)前GPS定位地址等基礎(chǔ)信息,同時(shí)提供信息篩選、會(huì)議列表及會(huì)議議程查看、簽到記錄查看、個(gè)人動(dòng)態(tài)二維碼、掃碼簽到等功能。參會(huì)人員在打開暨南大學(xué)簽到小程序后,列表里會(huì)出現(xiàn)自己待出席的會(huì)議及當(dāng)前位置附近的待開會(huì)議;程序自動(dòng)獲取用戶當(dāng)前位置;識(shí)別用戶教職工或?qū)W生身份。篩選功能可根據(jù)時(shí)間、校區(qū)、距離范圍及會(huì)議類別多維度地篩選會(huì)議。簽到記錄顯示用戶被邀請(qǐng)會(huì)議的列表以及本人的簽到狀態(tài)。個(gè)人二維碼可以供現(xiàn)場的簽到操作員掃碼完成簽到?;蚴谴蜷_掃碼簽到功能掃描現(xiàn)場的會(huì)議二維碼,從而實(shí)現(xiàn)簽到。點(diǎn)擊進(jìn)入某場會(huì)議,可以瀏覽到會(huì)議的議程及詳細(xì)內(nèi)容。
面向簽到操作員的微信簽到小程序界面除了上述參會(huì)人員具備的基本功能之外,還具備一個(gè)操作員功能,簽到操作員可通過該功能在會(huì)議現(xiàn)場提供簽到服務(wù)。簽到操作員進(jìn)入微信簽到小程序后,點(diǎn)擊“操作員”功能圖標(biāo),可以進(jìn)入本人具備管理權(quán)限的會(huì)議列表。然后選擇某場會(huì)議,點(diǎn)擊進(jìn)入可瀏覽到會(huì)議的議程、詳細(xì)介紹、參會(huì)人員的簽到統(tǒng)計(jì)情況。同時(shí),操作員可以點(diǎn)擊二維碼功能展示一張動(dòng)態(tài)更新的會(huì)議二維碼,供參會(huì)人員掃碼簽到;也可點(diǎn)擊“掃碼簽到”功能調(diào)用手機(jī)攝像頭作為掃描器掃描參會(huì)人員的個(gè)人動(dòng)態(tài)二維碼實(shí)現(xiàn)簽到;針對(duì)部分特殊用戶(未攜帶智能手機(jī)或簽到操作失誤),操作員還可以手動(dòng)修改參會(huì)人員的狀態(tài)。
(3)簽到終端設(shè)備展示
為提升微信小程序簽到系統(tǒng)的適用場景和簽到效率,除了可以由簽到操作員展示其微信小程序上的會(huì)議動(dòng)態(tài)二維碼供參會(huì)人員掃描簽到,系統(tǒng)還設(shè)計(jì)實(shí)現(xiàn)了在會(huì)議現(xiàn)場部署簽到終端設(shè)備來展示會(huì)議動(dòng)態(tài)二維碼的功能。
會(huì)議簽到終端設(shè)備可以是固定的硬件終端或支持運(yùn)行瀏覽器的各類智能終端設(shè)備,包括臺(tái)式電腦、筆記本電腦、平板電腦和其他帶屏幕顯示功能的智能終端。該終端運(yùn)行瀏覽器后訪問簽到系統(tǒng),由簽到操作員掃碼登錄并激活會(huì)議簽到功能,即可以展現(xiàn)會(huì)議動(dòng)態(tài)二維碼供參會(huì)人員掃碼完成簽到,同時(shí)在該界面可展示實(shí)時(shí)簽到人員統(tǒng)計(jì)信息。參會(huì)人員可通過個(gè)人微信“掃一掃”功能,或進(jìn)入微信簽到小程序后調(diào)用“掃碼簽到”功能進(jìn)行掃碼完成簽到,簽到完成后界面上會(huì)呈現(xiàn)當(dāng)前簽到用戶的頭像、姓名、教職工號(hào)或?qū)W號(hào)等個(gè)人信息予以確認(rèn)。
2.簽到系統(tǒng)角色及其功能權(quán)限劃分
微信小程序簽到系統(tǒng)主要包括三類角色,分別是會(huì)議管理員、簽到操作員和參會(huì)人員,不同角色分別賦予不同的職能權(quán)限,如表2所示。
四、簽到系統(tǒng)應(yīng)用流程
基于微信小程序的簽到系統(tǒng)應(yīng)用流程包括會(huì)前管理,會(huì)議簽到和會(huì)中、會(huì)后管理等環(huán)節(jié)。
1.會(huì)前管理
會(huì)前管理操作主要由會(huì)議管理員進(jìn)行,操作內(nèi)容包括創(chuàng)建會(huì)議活動(dòng)、設(shè)置擬邀請(qǐng)參會(huì)的人員、設(shè)定會(huì)議簽到操作員、配置會(huì)議簽到的其他參數(shù)等。
首先,由管理員創(chuàng)建會(huì)議,確定會(huì)議名稱、時(shí)間、地點(diǎn),可精確到坐標(biāo);設(shè)置會(huì)議屬性:是否公開可見,是否允許未受邀請(qǐng)的人員簽到,是否允許未在微信公眾號(hào)或小程序中綁定身份的用戶(非暨南大學(xué)師生用戶)簽到(適用于部分對(duì)校外開放的會(huì)議活動(dòng)),是否允許無需刷卡自動(dòng)簽到。
隨后,管理員設(shè)定參會(huì)人員、批量導(dǎo)入和單個(gè)選擇。導(dǎo)入的用戶名單,如果已關(guān)注并綁定了“暨南大學(xué)”官方微信公眾號(hào),則在會(huì)議創(chuàng)建以及會(huì)議開始前分別收到一次微信消息推送;未綁定用戶則會(huì)通過手機(jī)短信(SMS)和電子郵箱通知。
設(shè)定會(huì)議簽到操作員,可負(fù)責(zé)現(xiàn)場簽到工作。會(huì)議簽到操作員進(jìn)入自己的微信小程序選中當(dāng)前會(huì)議,即可得到會(huì)議動(dòng)態(tài)二維碼,用于提供到場的參會(huì)人員掃碼簽到;或者由會(huì)議簽到操作員通過其他設(shè)備運(yùn)行瀏覽器訪問會(huì)議簽到前端界面,掃描會(huì)議簽到管理二維碼后即可激活會(huì)議簽到功能,會(huì)議提供簽到服務(wù)。
在會(huì)議設(shè)定生效后,受邀請(qǐng)的參會(huì)人員將會(huì)收到會(huì)議通知,通知方式包括微信公眾號(hào)模板消息、手機(jī)短信和電子郵箱中的一種或多種。受邀請(qǐng)的參會(huì)人員可以登錄微信簽到小程序,選中本人待參加的會(huì)議,查看會(huì)議詳細(xì),并可以提交會(huì)議回執(zhí),表達(dá)本人將按時(shí)參會(huì)或請(qǐng)假等信息。
2.會(huì)議簽到
會(huì)議開始前,會(huì)議簽到操作員在現(xiàn)場可以提供以下兩種不同的終端設(shè)備提供簽到服務(wù),第一種是簽到操作員使用自己的智能手機(jī)并運(yùn)行微信小程序,第二種是用會(huì)議現(xiàn)場的其他簽到終端設(shè)備(包括固定的硬件終端或支持運(yùn)行瀏覽器的各類智能終端設(shè)備)。在簽到方式上也分別有兩種簽到方式:
第一種是參會(huì)人員發(fā)起掃碼簽到方式,先由簽到操作員展示小程序上會(huì)議動(dòng)態(tài)二維碼,或現(xiàn)場簽到終端展示會(huì)議動(dòng)態(tài)二維碼,然后由參會(huì)人員打開微信“掃一掃”功能或進(jìn)入微信簽到小程序調(diào)用掃碼功能進(jìn)行掃描簽到。掃碼成功后,簽到系統(tǒng)進(jìn)行有效性校驗(yàn),并確認(rèn)二維碼對(duì)應(yīng)人員身份,系統(tǒng)記錄簽到時(shí)間、人員信息,并在會(huì)議終端上呈現(xiàn)簽到人員信息(用戶頭像、姓名),更新參會(huì)人員簽到統(tǒng)計(jì)信息,更新動(dòng)態(tài)二維碼以便接受下一個(gè)參會(huì)人員掃碼簽到。詳細(xì)流程如表3所示。
第二種方式是參會(huì)人員出示二維碼被掃簽到,即參會(huì)人員通過微信簽到小程序出示個(gè)人動(dòng)態(tài)二維碼,由簽到操作員持掃描設(shè)備掃描。掃碼成功后,簽到系統(tǒng)進(jìn)行有效性校驗(yàn),包括用戶呈現(xiàn)的個(gè)人二維碼是否合法;校驗(yàn)通過后,系統(tǒng)記錄簽到時(shí)間、人員信息,并在會(huì)議終端上呈現(xiàn)簽到人員信息和簽到統(tǒng)計(jì)信息。詳細(xì)流程如表4所示。
在實(shí)際應(yīng)用中,除了支持微信小程序簽到,系統(tǒng)也兼容校園卡刷卡簽到,以及特殊情況的手動(dòng)簽到方式。例如,個(gè)別參會(huì)人員因故未攜帶智能手機(jī),或手機(jī)通訊受限無法登錄微信小程序完成簽到操作,此時(shí)可以先手寫簽到,再由簽到操作員通過小程序代為手動(dòng)簽到,以完成簽到工作。此外,若會(huì)議開啟了基于LBS的自動(dòng)簽到功能,用戶只需攜帶手機(jī)到達(dá)會(huì)場,便可以直接在微信簽到小程序中點(diǎn)擊完成簽到,而不必依賴二維碼簽到。
3.會(huì)中管理
會(huì)議活動(dòng)進(jìn)行過程中,簽到操作員可以在其微信小程序中的簽到管理模塊查看當(dāng)前會(huì)議活動(dòng)已簽到人數(shù)統(tǒng)計(jì)及明細(xì)人員清單,清晰掌握會(huì)議簽到情況。此外,在會(huì)議進(jìn)行過程中,管理員還可以根據(jù)實(shí)際需要對(duì)會(huì)議信息進(jìn)行調(diào)整,如延長或縮短會(huì)議時(shí)長、發(fā)布會(huì)議動(dòng)態(tài)通知等。
4.會(huì)后管理
在會(huì)議結(jié)束后,管理員或會(huì)議操作員可以登錄簽到系統(tǒng)后臺(tái),查看會(huì)議簽到統(tǒng)計(jì)報(bào)表,并導(dǎo)出簽到明細(xì)清單,包括統(tǒng)計(jì)數(shù)據(jù)和人員清單等詳細(xì)信息。此外,管理員還可以通過后臺(tái)查詢指定用戶在某一時(shí)間段內(nèi)出席會(huì)議的情況,或?qū)δ骋粫r(shí)間段內(nèi)不同會(huì)議活動(dòng)的參會(huì)情況進(jìn)行分析比較。這些分析結(jié)果可為進(jìn)一步優(yōu)化會(huì)議安排,提升工作效率提供有益的數(shù)據(jù)支撐。
五、微信小程序簽到系統(tǒng)關(guān)鍵技術(shù)
基于微信小程序的簽到系統(tǒng)充分應(yīng)用了移動(dòng)互聯(lián)網(wǎng)和微信的特點(diǎn),使其在應(yīng)用中體現(xiàn)出便捷和智能的優(yōu)勢(shì),以下對(duì)該系統(tǒng)的關(guān)鍵技術(shù)要點(diǎn)進(jìn)行分析。
1.簽到人身份識(shí)別與鑒定
在過去,簽到系統(tǒng)的一個(gè)巨大挑戰(zhàn)是簽到人員的身份鑒別問題,例如手寫簽到潦草而無法準(zhǔn)確識(shí)別、校園卡刷卡簽到經(jīng)常出現(xiàn)代簽到等。因此,在設(shè)計(jì)和實(shí)現(xiàn)微信小程序簽到系統(tǒng)時(shí),著重解決身份鑒別問題,快速識(shí)別當(dāng)前用戶身份,并進(jìn)一步鑒別當(dāng)前簽到人是否本人以避免代簽到以及異地簽到的情況。由于微信小程序簽到系統(tǒng)中,簽到流程主要圍繞“動(dòng)態(tài)二維碼”(包括參會(huì)人員的個(gè)人動(dòng)態(tài)二維碼和會(huì)議動(dòng)態(tài)二維碼)這一媒介開展,因此科學(xué)設(shè)計(jì)二維碼是身份鑒別工作的重點(diǎn)。[7]
(1)參會(huì)人員身份綁定與識(shí)別
由于參會(huì)人員通過微信小程序展示個(gè)人動(dòng)態(tài)二維碼或掃描會(huì)議動(dòng)態(tài)二維碼,為了能夠識(shí)別用戶,必須滿足一個(gè)前提條件,也就是用戶必需關(guān)注與小程序關(guān)聯(lián)的一個(gè)公眾號(hào)(如在暨南大學(xué),微信簽到小程序綁定的是“暨南大學(xué)”官方微信公眾號(hào)),并進(jìn)行身份綁定(將用戶微信號(hào)對(duì)應(yīng)的OPENID與校內(nèi)某一位教師或?qū)W生相對(duì)應(yīng)),以便在簽到環(huán)節(jié)中實(shí)現(xiàn)簽到人員的身份認(rèn)證。
因此,在簽到流程中,增加了一個(gè)判斷用戶是否已關(guān)注公眾號(hào)并完成身份綁定的前置流程,如圖1所示。以微信簽到小程序在暨南大學(xué)應(yīng)用為例,當(dāng)用戶啟動(dòng)微信小程序進(jìn)行掃碼時(shí),若當(dāng)前微信號(hào)未關(guān)注“暨南大學(xué)”官方微信公眾號(hào),則會(huì)出現(xiàn)關(guān)注界面,確認(rèn)關(guān)注后進(jìn)行身份綁定。對(duì)于已關(guān)注官方微信公眾號(hào)的用戶,則彈出登錄框供用戶輸入校內(nèi)師生合法用戶名及密碼進(jìn)行校內(nèi)師生身份綁定,以便實(shí)現(xiàn)簽到人員的身份識(shí)別。
參會(huì)人員在完成公眾號(hào)關(guān)注和校內(nèi)師生身份綁定后,即可正常進(jìn)行掃碼簽到操作。參會(huì)人員在簽到時(shí),只需要上報(bào)自己身份標(biāo)識(shí)(學(xué)工號(hào)),系統(tǒng)后臺(tái)將通過用戶賬號(hào)綁定關(guān)系識(shí)別當(dāng)前用戶真實(shí)身份,進(jìn)而確定當(dāng)前發(fā)起掃碼簽到操作的用戶身份是學(xué)生還是教師,其學(xué)工號(hào)是多少。
(2)基于增強(qiáng)型TOTP動(dòng)態(tài)密碼機(jī)制的身份鑒別
通過用戶在小程序關(guān)聯(lián)的微信公眾號(hào)進(jìn)行身份綁定后,可以獲得當(dāng)前掃碼用戶的真實(shí)身份。然而,對(duì)于部分嚴(yán)格限定受邀請(qǐng)者本人參加的活動(dòng),掃碼簽到業(yè)務(wù)仍存在防盜刷(代簽到)和異地簽到的挑戰(zhàn),因此,在本系統(tǒng)中采用增強(qiáng)型TOTP動(dòng)態(tài)密碼(基于時(shí)間的一次性密碼)機(jī)制,融合個(gè)人身份、時(shí)間戳、GPS位置參數(shù)和隨機(jī)令牌的方式生成動(dòng)態(tài)二維碼,以此來增強(qiáng)系統(tǒng)的安全性,準(zhǔn)確鑒別當(dāng)前用戶個(gè)人二維碼的有效性,實(shí)現(xiàn)防盜刷的功能。[8]
增強(qiáng)型TOTP動(dòng)態(tài)密碼機(jī)制的身份鑒別流程如圖2所示。首先進(jìn)行參會(huì)人員身份有效性檢查,系統(tǒng)通過調(diào)用學(xué)校數(shù)據(jù)中心接口,核驗(yàn)該學(xué)工號(hào)是否真實(shí)存在,同時(shí)在部分限制僅受邀人員能簽到的會(huì)議中,增加判斷當(dāng)前用戶是否在邀請(qǐng)列表中。其次進(jìn)行會(huì)議地點(diǎn)匹配,簽到者簽到時(shí),必須處在指定的地點(diǎn)(GPS經(jīng)緯度范圍設(shè)置,范圍偏差不得超過正常設(shè)備定位偏差),并將該GPS地址與會(huì)議設(shè)定的會(huì)場GPS地址進(jìn)行比對(duì)。第三步是時(shí)間匹配。會(huì)議簽到有確定的時(shí)間,只有在會(huì)議開始前半小時(shí)和會(huì)議結(jié)束前才能正常簽到;同時(shí),對(duì)比二維碼傳遞參數(shù)中的時(shí)間戳與當(dāng)前服務(wù)器時(shí)間對(duì)比,若間隔超過60秒即判定為超時(shí)無效。第四步是判斷傳遞的動(dòng)態(tài)token是否與服務(wù)器端生成并分發(fā)給用戶的token值一致,并校驗(yàn)token是否在有效期內(nèi)。通過以上四個(gè)環(huán)節(jié)的判斷,則可以確認(rèn)當(dāng)前簽到人員所出示的二維碼是合法有效的,完成簽到工作,并給出簽到成功的提示。
2.基于LBS實(shí)現(xiàn)信息推送及簽到服務(wù)
基于位置的服務(wù)(Location Based Service,LBS)是移動(dòng)互聯(lián)網(wǎng)所提供的特色服務(wù)。在基于微信小程序的簽到系統(tǒng)中,也實(shí)現(xiàn)了LBS的智能服務(wù),主要應(yīng)用于兩個(gè)方面。
首先是“智能行程”。管理員在創(chuàng)建會(huì)議活動(dòng)時(shí),設(shè)置活動(dòng)的地點(diǎn)和GPS坐標(biāo),便可以讓用戶端的簽到小程序根據(jù)當(dāng)前用戶所在地點(diǎn)和所處的時(shí)間,顯示相應(yīng)的會(huì)議提示,包括:基于位置的會(huì)議推薦,系統(tǒng)會(huì)根據(jù)用戶當(dāng)前所在位置(GPS定位),推送附近即將開始的活動(dòng)(會(huì)議);如果用戶在受邀行列,該活動(dòng)會(huì)優(yōu)先排在前面。
其次是“智能簽到”。部分較為寬松的活動(dòng),管理員可設(shè)定該活動(dòng)啟用基于位置的開放式簽到功能。只需要參加該會(huì)議活動(dòng)的人員在活動(dòng)進(jìn)行期間,在會(huì)場范圍內(nèi)出現(xiàn),即可進(jìn)入小程序點(diǎn)擊“簽到”按鈕,完成簽到,無需掃描二維碼,從而顯著提高簽到效率。
3.支持多應(yīng)用場景的簽到服務(wù)
為適應(yīng)在實(shí)際應(yīng)用中的不同場景,基于微信小程序的簽到系統(tǒng)還考慮了多場景簽到服務(wù)。
(1)良好的簽到終端設(shè)備兼容性
參會(huì)人員發(fā)起掃碼簽到方式時(shí),會(huì)議活動(dòng)主辦方需要解決的是在會(huì)議入口提供會(huì)議動(dòng)態(tài)二維碼供用戶掃描。在本系統(tǒng)中,會(huì)議動(dòng)態(tài)二維碼可通過簽到操作員的微信小程序或獨(dú)立的Web瀏覽器訪問簽到網(wǎng)址來呈現(xiàn)。因此,現(xiàn)場只需要任何一款可以運(yùn)行Web瀏覽器并訪問簽到系統(tǒng)的終端設(shè)備(電腦、平板和手機(jī))即可提供簽到服務(wù)。
(2)向第三方設(shè)備或應(yīng)用提供簽到API
為進(jìn)一步兼容高校原有的刷校園卡簽到模式,并支持可能出現(xiàn)的其他新應(yīng)用,系統(tǒng)開發(fā)了簽到API供第三方設(shè)備和應(yīng)用調(diào)用完成簽到。在該模式的支持下,現(xiàn)有校園卡簽到終端可以方便地接入集成到微信小程序簽到系統(tǒng)中。
(3)支持多種簽到方式
根據(jù)會(huì)議活動(dòng)的實(shí)際需要,可以靈活組合指定簽到方式,支持的簽到方式包括主動(dòng)掃一掃二維碼、提供簽到小程序二維碼被掃、校園卡刷卡、工作人員輸入學(xué)工號(hào)進(jìn)行手動(dòng)簽到等方式。
六、總結(jié)及展望
本文結(jié)合微信小程序和LBS、TOTP技術(shù),提出了一種在移動(dòng)互聯(lián)網(wǎng)上基于微信小程序的簽到系統(tǒng),并對(duì)該系統(tǒng)的各個(gè)模塊和功能都進(jìn)行了詳細(xì)的說明,深入分析了系統(tǒng)的關(guān)鍵技術(shù),包括簽到人的身份鑒別、基于LBS實(shí)現(xiàn)信息推送及服務(wù)和支持多應(yīng)用場景的簽到服務(wù)。目前,暨南大學(xué)已經(jīng)在官方微信小程序“暨南大學(xué)+”中上線該簽到系統(tǒng),并通過將小程序與暨南大學(xué)官方微信公眾號(hào)關(guān)聯(lián)實(shí)現(xiàn)用戶身份綁定。
在實(shí)際應(yīng)用中,基于微信小程序的簽到系統(tǒng)展現(xiàn)了以下優(yōu)點(diǎn):①基于微信小程序便可接收會(huì)議提示,并完成簽到,無需額外安裝獨(dú)立APP,且小程序入口較為便捷易用,深受用戶歡迎,降低新服務(wù)的推廣成本;②圍繞動(dòng)態(tài)二維碼設(shè)計(jì)的簽到系統(tǒng),較好地解決了其他簽到方式難以杜絕的“代簽到”和異地簽到等難題,準(zhǔn)確地鑒別用戶身份;③微信小程序及公眾號(hào)提供了豐富的開放接口,使高校可以快速開發(fā)實(shí)現(xiàn)功能強(qiáng)大的移動(dòng)互聯(lián)網(wǎng)服務(wù),有效節(jié)省開發(fā)成本;④系統(tǒng)提供了豐富的管理功能,實(shí)現(xiàn)簽到及管理全流程優(yōu)化,有效提升了參會(huì)和辦會(huì)體驗(yàn),提升工作效率;⑤系統(tǒng)提供了較好的兼容和擴(kuò)展性,從而可以適應(yīng)多種場景和新增需求。
總體來看,基于微信小程序的簽到系統(tǒng)能較好地滿足高校應(yīng)用需求。同時(shí),隨著簽到系統(tǒng)應(yīng)用的深入,伴隨著更多新技術(shù)的成熟,未來將重點(diǎn)在以下方面加以完善:①增加基于人臉識(shí)別的自動(dòng)簽到;②豐富會(huì)議管理功能,可由管理員共享會(huì)議文檔,方便參會(huì)人員閱讀,節(jié)省會(huì)議紙張,主要應(yīng)用于學(xué)術(shù)、行政會(huì)議;③開放舉手提問功能,參會(huì)人員可以在會(huì)議中發(fā)起提問,會(huì)議主持人可以從收到的問題中選擇部分進(jìn)行現(xiàn)場互動(dòng),主要應(yīng)用于課堂、講座;④開放評(píng)論互動(dòng)功能,參會(huì)人員發(fā)布評(píng)論信息,現(xiàn)場可以用大屏幕投影,活躍現(xiàn)場氣氛,主要應(yīng)用于開放式活動(dòng);⑤增加會(huì)議直播和點(diǎn)播回放功能,未能現(xiàn)場參會(huì)的用戶可以收看直播或會(huì)后點(diǎn)播。
參考文獻(xiàn):
[1]田麗,張巍,劉春瑞.校園一卡通會(huì)議簽到系統(tǒng)的應(yīng)用[J].計(jì)算機(jī)時(shí)代,2016(1):22-24.
[2]梁思麗.現(xiàn)代信息技術(shù)在中等職業(yè)教育教學(xué)中的應(yīng)用——基于微信的課堂簽到系統(tǒng)的實(shí)現(xiàn)[J].赤子(上中旬),2016(15):179.
[3]李光耀,張笑言,許曉華.基于微信的掃碼簽到系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[J].教育教學(xué)論壇,2017(12):66-67.
[4]第39次《中國互聯(lián)網(wǎng)絡(luò)發(fā)展?fàn)顩r統(tǒng)計(jì)報(bào)告》[EB/OL].http://www.cnnic.cn/hlwfzyj/hlwxzbg/hlwtjbg/201701/P020170123364672657408.pdf.
[5]騰訊公布2017年第三季度業(yè)績[EB/OL]. https://www.tencent.com/zh-cn/articles/8003451510737482.pdf.
[6]微信2017用戶研究和商業(yè)機(jī)會(huì)洞察[EB/OL]. http://tech.qq.com/a/20170424/004233.htm.
[7]曹記東,和斌濤.二維碼加密的手機(jī)簽到系統(tǒng)設(shè)計(jì)[J].無線互聯(lián)科技,2016(5):44-45.
[8]趙建勛.基于TOTP的Web改進(jìn)認(rèn)證[J].計(jì)算機(jī)系統(tǒng)應(yīng)用,2015(9).
(編輯:王天鵬)