王蕓琦 蔡建平
摘 ?要: 近年來(lái),電子簽到已成為一種常見(jiàn)的考勤方式。基于位置的電子簽到能夠通過(guò)獲取用戶(hù)簽到時(shí)所處位置來(lái)判斷簽到是否成功,由于其反饋的信息更加豐富、實(shí)用、有效而備受推崇。設(shè)計(jì)開(kāi)發(fā)了基于位置的簽到系統(tǒng),系統(tǒng)采用Java EE處理簽到情況,前端包括微信小程序端和網(wǎng)頁(yè)端。用戶(hù)在發(fā)起簽到前可以導(dǎo)入名單,在發(fā)起簽到時(shí)可以限制簽到完成的時(shí)間、地點(diǎn)、人員,簽到完成后可以導(dǎo)出簽到記錄。
關(guān)鍵詞: 微信小程序; 簽到; 考勤管理; HTML5
中圖分類(lèi)號(hào):TP311.1 ? ? ? ? ?文獻(xiàn)標(biāo)志碼:A ? ? 文章編號(hào):1006-8228(2019)11-67-03
Abstract: In recent years, electronic sign-in has become a common form of attendance checking. The location-based electronic sign-in can determine whether the sign-in is successful by obtaining the location where the user checked in, which is highly praised for being more informative, practical, and effective. A location-based sign-in system is designed and developed, the system uses Java EE to handle sign-in transaction, and the front-end includes WeChat Mini Program and webpage. The user can import the list before sign-in. When the sign-in is initiated, the time, place, and personnel of the sign-in can be restricted. After the sign-in is completed, the sign-in record can be exported.
Key words: WeChat Mini Program; sign-in; attendance management; HTML5
0 引言
簽到是一項(xiàng)十分常見(jiàn)的活動(dòng),人們一直在研究如何提高簽到的發(fā)起效率與管理效率。許多場(chǎng)合(如學(xué)校、醫(yī)院、公司等)仍使用手工填寫(xiě)模式進(jìn)行考勤[1],現(xiàn)如今,各類(lèi)電子技術(shù)發(fā)展迅速,電子簽到躍然成為了一種更省時(shí)省力的形式。近十年來(lái),市場(chǎng)上各類(lèi)手機(jī)APP層出不窮,給人們的生活、學(xué)習(xí)和工作帶來(lái)了極大的便利[2]。APP可以調(diào)用手機(jī)的GPS定位系統(tǒng),對(duì)于用戶(hù)地理位置的判斷將更加精確[3],但也會(huì)有一定的弊端,為了解決APP運(yùn)營(yíng)過(guò)程中出現(xiàn)的長(zhǎng)尾效應(yīng)[4],可以使用微信小程序來(lái)開(kāi)發(fā)應(yīng)用。微信小程序有著即開(kāi)即用、不占內(nèi)存等優(yōu)點(diǎn),它提供有豐富的接口,包括位置信息等,可以為用戶(hù)帶來(lái)良好的使用體驗(yàn)。
本系統(tǒng)致力于提高日?;顒?dòng)中人員考勤的效率,系統(tǒng)使用微信小程序提供的接口來(lái)獲取用戶(hù)的當(dāng)前位置,可發(fā)起限定位置的簽到,而需要簽到的用戶(hù)使用金數(shù)據(jù)提供的表單來(lái)完成簽到。隨后簽到發(fā)起者可以在微信小程序或是網(wǎng)頁(yè)中查看簽到完成的情況。網(wǎng)頁(yè)端可以導(dǎo)入需要簽到人員的名單,也可以導(dǎo)出簽到結(jié)果。
1 系統(tǒng)總體設(shè)計(jì)
用戶(hù)可在微信小程序端限定簽到完成的有效時(shí)間段。通過(guò)調(diào)用地圖組件,還可限定簽到完成的有效位置。也可限定簽到需要完成的用戶(hù)群體。
簽到發(fā)布后,用戶(hù)可在微信小程序端或是網(wǎng)頁(yè)端查看簽到完成的情況。用戶(hù)可在網(wǎng)頁(yè)端上傳用戶(hù)名單,或是下載某個(gè)簽到的完成情況。
1.1 系統(tǒng)框架
本系統(tǒng)的小程序端與網(wǎng)頁(yè)端的結(jié)構(gòu)圖如圖1所示。
本系統(tǒng)的微信小程序端主要模塊有:注冊(cè)登錄模塊、發(fā)起簽到模塊、管理簽到模塊、個(gè)人中心模塊;網(wǎng)頁(yè)端主要模塊有:注冊(cè)登錄模塊、管理發(fā)起模塊、管理參與模塊、管理名單模塊、個(gè)人中心模塊。
1.2 功能模塊設(shè)計(jì)
注冊(cè)登錄模塊:主要實(shí)現(xiàn)用戶(hù)注冊(cè)賬號(hào)、登錄賬號(hào)功能,系統(tǒng)使用正則表達(dá)式來(lái)判斷用戶(hù)輸入的手機(jī)號(hào)是否合法。小程序端流程圖如圖2所示。
發(fā)起簽到模塊:在發(fā)起新的簽到時(shí),用戶(hù)可以限定時(shí)間、地點(diǎn)與人員,界面如圖3所示。
微信小程序調(diào)用map插件和一系列獲取位置的方法來(lái)確認(rèn)地點(diǎn)。
當(dāng)用戶(hù)輸入的數(shù)據(jù)無(wú)誤時(shí),小程序會(huì)將數(shù)據(jù)傳遞給服務(wù)器,服務(wù)器使用一定的方法處理并保存時(shí)間信息,并返回該簽到的唯一標(biāo)識(shí)符。
簽到設(shè)置成功后,程序跳轉(zhuǎn)至分享簽到界面,并提示來(lái)自服務(wù)器的口令,用戶(hù)可通過(guò)截圖或復(fù)制鏈接的形式來(lái)分享簽到,界面如圖4所示。
管理簽到模塊:界面展示簽到名稱(chēng)、簽到備注、簽到發(fā)起的時(shí)間,并具有下拉刷新數(shù)據(jù)的功能。
在展示的簽到列表中,點(diǎn)擊一項(xiàng),可以具體查看參與簽到的用戶(hù)的結(jié)果信息、微信信息、設(shè)備信息等。
在網(wǎng)頁(yè)端,服務(wù)器使用HttpSession來(lái)分辨用戶(hù),若用戶(hù)長(zhǎng)時(shí)間無(wú)操作,則需重新登錄。在登錄信息有效的情況下,用戶(hù)可查看或刪除自己發(fā)起的某項(xiàng)簽到,也可以查看簽到詳情與簽到結(jié)果。用戶(hù)可以將簽到的完成結(jié)果導(dǎo)出為Excel文件到本地進(jìn)行保存。
管理參與模塊:進(jìn)入個(gè)人中心后,用戶(hù)可查看自己歷史參與的簽到。
用戶(hù)并不能看到同樣參與此次簽到的其他用戶(hù)的信息。
管理名單模塊:用戶(hù)在網(wǎng)頁(yè)端可以導(dǎo)入名單,用以在發(fā)起簽到時(shí)選擇需要進(jìn)行簽到的人員列表,界面如圖5所示。
系統(tǒng)通過(guò)Form表單將用戶(hù)選擇的文件發(fā)至后端,后端確認(rèn)登錄信息有效后,將Excel先存至臨時(shí)文件,為避免用戶(hù)上傳相同名稱(chēng)的文件而導(dǎo)致錯(cuò)誤,系統(tǒng)會(huì)對(duì)文件進(jìn)行重命名操作,再將此文件存至服務(wù)器中。之后系統(tǒng)將調(diào)取JXL工具類(lèi)庫(kù)中的方法,對(duì)服務(wù)器上的Excel文件進(jìn)行解析,并依次把數(shù)據(jù)條目存入數(shù)據(jù)庫(kù)中。
用戶(hù)還可以查看或刪除自己導(dǎo)入的名單,可以查看名單中所有人員的姓名與手機(jī)號(hào)信息。
個(gè)人中心模塊:用戶(hù)在微信小程序端與網(wǎng)頁(yè)端的個(gè)人中心中皆可修改密碼。若系統(tǒng)檢查用戶(hù)輸入的原密碼正確,且兩次輸入的新密碼相同并符合規(guī)范,則判斷修改成功。
在網(wǎng)頁(yè)端中,若用戶(hù)點(diǎn)擊退出登錄,系統(tǒng)會(huì)跳轉(zhuǎn)到登錄界面。
微信小程序的個(gè)人中心頁(yè)頂端會(huì)顯示當(dāng)前登錄用戶(hù)的手機(jī)號(hào)。
在微信小程序端與網(wǎng)頁(yè)端,皆有本系統(tǒng)的關(guān)于與幫助頁(yè)面,用于展示系統(tǒng)的相關(guān)信息。
2 測(cè)試數(shù)據(jù)的圖形化展示
2.1 發(fā)起簽到展示
發(fā)起簽到時(shí),用戶(hù)設(shè)置具體時(shí)間、地點(diǎn)與人員限制的界面如圖6所示。
2.2 查看結(jié)果展示
用戶(hù)查看自己發(fā)起的簽到界面如圖7所示,列表展示簽到的名稱(chēng)、備注、創(chuàng)建時(shí)間。
單擊某一項(xiàng)簽到,可以具體查看此項(xiàng)簽到的口令、時(shí)間地點(diǎn)人員限制、簽到結(jié)果情況,如圖8所示。
單擊某一用戶(hù)時(shí),根據(jù)用戶(hù)簽到成功與否,會(huì)顯示簽到的詳細(xì)結(jié)果,若用戶(hù)簽到失敗,會(huì)顯示失敗的原因,如圖9所示。
2.3 導(dǎo)出結(jié)果展示
在網(wǎng)頁(yè)端中,用戶(hù)導(dǎo)出簽到結(jié)果時(shí),Excel中會(huì)顯示姓名、手機(jī)號(hào)、結(jié)果、用戶(hù)簽到時(shí)間、簽到地點(diǎn)、簽到姓名信息,如圖10所示。
3 實(shí)際位置與簽到位置的偏差
3.1 發(fā)起簽到偏差
在發(fā)起簽到時(shí),若選擇限制位置,微信小程序調(diào)用map插件獲取用戶(hù)當(dāng)前位置。此時(shí),若用戶(hù)身處室內(nèi)或其他信號(hào)不佳的位置,系統(tǒng)獲取到的當(dāng)前位置會(huì)有一定的偏差。
此時(shí)可以在屏幕上拖動(dòng)地圖,將目標(biāo)位置拖到屏幕中央,并單擊“選擇地圖中心位置”,再選擇允許簽到的距離范圍,便可實(shí)現(xiàn)限制有效簽到的位置在用戶(hù)期望的位置范圍內(nèi)。
3.2 完成簽到偏差
在完成簽到時(shí),用戶(hù)直接在金數(shù)據(jù)的表單中獲取當(dāng)前位置,自動(dòng)填寫(xiě)位置字段。
金數(shù)據(jù)提供的獲取地理位置功能效果較好,在室內(nèi)或其他信號(hào)不佳的情況下,也能較為準(zhǔn)確地獲取用戶(hù)當(dāng)前所在位置。
4 結(jié)束語(yǔ)
本系統(tǒng)通過(guò)簽到活動(dòng)的電子化,不僅減少了紙張筆墨與人力資源的浪費(fèi),更使得簽到活動(dòng)變得快捷與方便管理,也便于數(shù)據(jù)的歸檔以及后續(xù)的回檔?!靶〕绦?”已經(jīng)可以連接一切,微信小程序作為一款圍繞微信打造的生態(tài)工具,逐漸為更多的行業(yè)與企業(yè)所青睞[5]?;谖恢玫暮灥轿⑿判〕绦?qū)⒛転槿藗兊纳钆c工作帶來(lái)極大的便利。而如何提高簽到時(shí)對(duì)于位置的判定將是需要不斷研究與改進(jìn)的關(guān)鍵點(diǎn)。
參考文獻(xiàn)(References):
[1] 于莉莉.信息系統(tǒng)在某醫(yī)院考勤管理中的應(yīng)用[J].醫(yī)藥前沿,2018,8(21):354.
[2] 朱雷.基于Android技術(shù)的考勤APP設(shè)計(jì)與實(shí)現(xiàn)[J].遼寧師專(zhuān)學(xué)報(bào)(自然科學(xué)版).2018,20(2):70-72,79.
[3] 王江雨,劉愛(ài)華.基于Android的定點(diǎn)簽到獎(jiǎng)勵(lì)系統(tǒng)分析與實(shí)現(xiàn)[J].現(xiàn)代計(jì)算機(jī),2017,(33):65-69. DOI:10.3969/j.issn.1007-1423.2017.33.016.
[4] 邢榕珊,匡芳君.微信小程序設(shè)計(jì)[J].計(jì)算機(jī)時(shí)代,2018,(8):9-12.DOI:10.16644/j.cnki.cn33-1094/tp.2018.08. 003.
[5] 賀瑜.微信小程序推廣展望[J].電腦知識(shí)與技術(shù),2018.14(27):279-280