摘? 要:為解決教學(xué)過(guò)程中簽到程序繁瑣且不夠智能等問(wèn)題,開發(fā)了基于微信小程序的簽到碎片化學(xué)習(xí)平臺(tái)。將簽到打卡、學(xué)習(xí)和微信小程序完美整合,使得學(xué)生可支配時(shí)間大大增加,學(xué)習(xí)效率有效提升;利用二維碼和口令的混合式簽到,節(jié)省了學(xué)校教師上課點(diǎn)名查人數(shù)的時(shí)間,有效地提高了課堂效率,保證課堂教學(xué)時(shí)間。該平臺(tái)在上線后會(huì)根據(jù)學(xué)生和教師對(duì)簽到學(xué)習(xí)軟件的需求進(jìn)行調(diào)整,更加貼合實(shí)際。
關(guān)鍵詞:碎片化;小程序;混合式簽到
中圖分類號(hào):TP311.56? ? ? ?文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):2096-4706(2020)16-0085-03
Sign-in Fragmentation Learning Platform Based on WeChat Applets
XU Hui
(College of Computer Information Engineering,Nanchang Institute of Technology,Nanchang? 330044,China)
Abstract:In order to solve the problems of cumbersome and not intelligent check-in procedures in the teaching process,a fragmented learning platform based on Wechat applet was developed,we developed the sign-in fragmented learning platform based on Wechat applet. The trinity of check-in and clock out,learning and Wechat applet has been perfectly integrated,which greatly increases the available time and effectively improves the learning efficiency. And the use of two-dimensional code and password mixed sign-in,save the time of school teachers to check the number of names in class,effectively improve the efficiency of the classroom,ensure the classroom teaching time. After online,it will meet the needs of students and teachers for check-in learning software.
Keywords:fragmentation;applets;mixed sign-in
0? 引? 言
隨著智慧課堂的不斷推進(jìn),教師的教育教學(xué)方式也需要與時(shí)俱進(jìn)。南昌理工學(xué)院計(jì)算機(jī)信息工程學(xué)院教師的上課考勤方式還是以紙質(zhì)名單點(diǎn)名考勤為主,每次點(diǎn)名都會(huì)耗費(fèi)較多時(shí)間,影響課堂的教學(xué)進(jìn)度。另外,用這種方法容易出現(xiàn)其他學(xué)生代答到的問(wèn)題,后期整理學(xué)生出勤和缺勤數(shù)據(jù)也浪費(fèi)時(shí)間。為了解決這個(gè)問(wèn)題,作者采用基于GPS的定位算法和二維碼生成技術(shù)以及微信小程序無(wú)需安裝的特性,開發(fā)了這款基于微信小程序的簽到碎片化學(xué)習(xí)平臺(tái),來(lái)幫助教師進(jìn)行簽到以及教學(xué)。
基于微信小程序的簽到學(xué)習(xí)平臺(tái)在改變傳統(tǒng)教學(xué)方式的同時(shí),也打破了傳統(tǒng)教學(xué)方式的時(shí)間束縛,教師能在任何時(shí)間、任何地點(diǎn)上傳可供學(xué)生學(xué)習(xí)的資料,方便學(xué)生利用碎片化時(shí)間學(xué)習(xí)。簡(jiǎn)易的考勤方式也能幫助教師加快教學(xué)進(jìn)度,按時(shí)完成教學(xué)任務(wù),減輕教師的教學(xué)負(fù)擔(dān)。學(xué)生的學(xué)習(xí)可以不局限在教室與圖書館這些地方,該平臺(tái)更適合新一代的學(xué)習(xí)者,他們可以借助移動(dòng)設(shè)備進(jìn)行自主學(xué)習(xí),隨時(shí)隨地地進(jìn)行碎片化學(xué)習(xí),從而提高學(xué)生的學(xué)習(xí)效率。
1? 系統(tǒng)架構(gòu)設(shè)計(jì)
基于微信小程序的簽到碎片化學(xué)習(xí)平臺(tái)面向廣大在校學(xué)生及在校教師。根據(jù)對(duì)現(xiàn)有業(yè)務(wù)的詳細(xì)分析,系統(tǒng)應(yīng)包含學(xué)生和老師共兩個(gè)角色,為他們分別提供的功能如下:
學(xué)生:查看全部課程、選擇自己的課程、查詢課程及口令和進(jìn)行簽到等功能。
教師:發(fā)布課程、查看學(xué)生簽到情況、開始或者停止簽到、生成簽到二維碼、提供補(bǔ)簽二維碼、上傳學(xué)習(xí)資料等功能。
系統(tǒng)采用三層架構(gòu)模型,分別為:
UI層:客戶端界面顯示,與用戶進(jìn)行交互。
業(yè)務(wù)邏輯層:UI層與數(shù)據(jù)層的中間層,用于將數(shù)據(jù)層的數(shù)據(jù)傳遞給UI層,同時(shí)對(duì)數(shù)據(jù)進(jìn)行一定的過(guò)濾、處理,使UI層獲得更好的展示效果。
數(shù)據(jù)層:提供數(shù)據(jù)支持,作為UI層的數(shù)據(jù)源。
基于微信小程序的簽到碎片化學(xué)習(xí)平臺(tái)數(shù)據(jù)存儲(chǔ)采用MySQL數(shù)據(jù)庫(kù)。三層架構(gòu)圖如圖1所示。
2? 開發(fā)中遇到的難題及解決方案
基于微信小程序的簽到碎片化學(xué)習(xí)平臺(tái)采用MINA框架和微信平臺(tái)作為開發(fā)基礎(chǔ),以MySQL作為后臺(tái)數(shù)據(jù)庫(kù),通過(guò)JDBC技術(shù)連接客戶端和數(shù)據(jù)庫(kù),服務(wù)器端采用MyEclipse進(jìn)行開發(fā)。在開發(fā)基于微信小程序的簽到碎片化學(xué)習(xí)平臺(tái)過(guò)程中,筆者遇到了一些問(wèn)題,這里僅列舉有代表性的幾個(gè)問(wèn)題:
(1)如何防止代簽。
(2)如何準(zhǔn)確定位,不產(chǎn)生誤差。
(3)如何防止學(xué)生修改定位信息。
(4)如何簽到。
(5)學(xué)生如何借助該平臺(tái)進(jìn)行學(xué)習(xí)。
解決方案:
(1)關(guān)于代簽問(wèn)題,使用微信的OpenID進(jìn)行解決,每個(gè)學(xué)生和教師都有一個(gè)獨(dú)一的標(biāo)志(OpenID),且不能注冊(cè)多個(gè)賬號(hào),這樣就解決了代簽問(wèn)題,不像傳統(tǒng)的紙質(zhì)名單點(diǎn)名答到時(shí),一個(gè)人可以幫幾個(gè)人答到。
(2)關(guān)于定位不準(zhǔn)問(wèn)題,作者利用GPS定位算法獲取教師的經(jīng)緯度和學(xué)生的經(jīng)緯度,計(jì)算兩點(diǎn)之間的距離,當(dāng)超過(guò)20米時(shí),就會(huì)返回簽到失敗、不在范圍內(nèi)的信息。
(3)關(guān)于防止學(xué)生修改定位的問(wèn)題,當(dāng)微信獲取學(xué)生位置時(shí),學(xué)生位置信息界面不能移動(dòng)位置定位,學(xué)生只能授權(quán),不能更改。
(4)簽到采用了口令簽到方式,教師發(fā)布簽到口令,學(xué)生輸入簽到口令,口令一致簽到成功,教師頁(yè)面返回學(xué)生的姓名、學(xué)號(hào)和日期。采用二維碼進(jìn)行補(bǔ)簽,教師發(fā)布二維碼,學(xué)生掃描該碼進(jìn)行補(bǔ)簽。
(5)關(guān)于學(xué)生如何借助該平臺(tái)進(jìn)行學(xué)習(xí),教師在自己發(fā)布的課程下上傳該課程的學(xué)習(xí)資料,平臺(tái)支持多種上傳格式,但進(jìn)行了敏感格式過(guò)濾,例如EXE格式的文件不能上傳。學(xué)生在該課程下,點(diǎn)擊資料即可查看、學(xué)習(xí)。
3? 系統(tǒng)核心功能
用戶啟動(dòng)平臺(tái)后,進(jìn)入首頁(yè)選擇身份,如果沒(méi)有注冊(cè),點(diǎn)擊圖標(biāo)跳出信息填寫頁(yè)面,需填寫有效信息完成注冊(cè)。注冊(cè)過(guò)的用戶第一次使用手機(jī)登錄時(shí),該平臺(tái)會(huì)請(qǐng)求錄入身份信息權(quán)限許可;第二次手機(jī)登錄時(shí),學(xué)生和教師都不需要輸入登錄信息,平臺(tái)會(huì)直接調(diào)轉(zhuǎn)到學(xué)生或者教師頁(yè)面。
圖2? 教師頁(yè)面
教師可以在教師頁(yè)面看到添加課程、發(fā)布口令簽到、發(fā)布二維碼簽到、二維碼補(bǔ)簽及上傳學(xué)習(xí)資料等功能模塊,如圖2所示。
3.1? 教師發(fā)布口令簽到
教師在已登錄的狀態(tài)下,在需要打卡的課程下發(fā)布簽到口令,如圖3所示。平臺(tái)利用GPS定位學(xué)生,然后通過(guò)ShowModel彈出信息框,申請(qǐng)獲取學(xué)生地理位置信息,獲取后簽到打卡。獲取的地理位置是根據(jù)經(jīng)度緯度來(lái)確定的,收集到的經(jīng)度緯度會(huì)保存到數(shù)據(jù)庫(kù)中,方便定位學(xué)生時(shí)以確定學(xué)生所在位置。
口令簽到的部分關(guān)鍵代碼如下:
GPSsubmit: function (e) {
this.kaoqin();
},
fail: function (res) {
wx.showModal({
title: '是否授權(quán)位置信息',
content: '你需要授權(quán)位置信息才可以發(fā)起簽到',
showCancel: true,
cancelText: "否",
cancelColor: 'black',
confirmText: "是",
confirmColor: 'black',//確定文字的顏色
R = 6378137; // 地球半徑
lat1 = lat1 * Math.PI / 180.0;
lat2 = lat2 * Math.PI / 180.0;
a = lat1 - lat2;
b = (long1 - long2) * Math.PI / 180.0;
double sa2, sb2;
sa2 = Math.sin(a / 2.0);
sb2 = Math.sin(b / 2.0);
double d = 2 * R * Math.asin(Math.sqrt(sa2 * sa2 + Math.cos(lat1) * Math.cos(lat2) * sb2 * sb2));
long res=Math.round(d);
if(res>160) {
dis=false;
}
return dis;
}
3.2? 教師發(fā)布二維碼簽到
教師輸入文本內(nèi)容,二維碼生成器將簽到的內(nèi)容轉(zhuǎn)化為二維碼。生成的二維碼包含著數(shù)據(jù)信息,學(xué)生掃碼就可以獲取信息,查看二維碼的信息就可以簽到打卡。
生成二維碼的部分核心代碼如下:
makeQrcode: function(e) {
this.setData({
isShowMsg: false,
isShowResult: true,
})
console.log(this.data.qrMsg + "家")
if (this.data.qrMsg == "") {
wx.showToast({
title: '二維碼內(nèi)容不能為空',
icon: 'loading',
duration: 500
})
return
}
var that = this
wx.navigateTo({
url: '../main/main?msg=' + that.data.qrMsg,
success: function(res){
// success
},
})
},
if (this.data['qrMsg'].length > 1) {
this.setData({
showClear: false
})
} else { this.setData({ showClear: true }) }
},
3.3? ?教師上傳學(xué)習(xí)資料
教師在已登錄的狀態(tài)下,可以在某個(gè)課程頁(yè)面上傳該課程的學(xué)習(xí)資料。出于安全考慮,平臺(tái)設(shè)置了上傳文件格式的白名單,上傳格式可以是DOCX、TXT、RAR、ZIP、PPTX等,但不能是EXE、COM、BAT等格式;平臺(tái)采用微信的wx.chooseMessageFile函數(shù)上傳文件,上傳學(xué)習(xí)資料頁(yè)面如圖4所示。
3.4? 學(xué)生端功能
學(xué)生端功能有三個(gè)選項(xiàng)卡:簽到、我的課程和個(gè)人中心。在簽到選項(xiàng)卡頁(yè)面中可以口令簽到、二維碼簽到和補(bǔ)簽,學(xué)生簽到選擇卡如圖5所示。學(xué)生可以在輸入教師發(fā)布的某一課程口令后,點(diǎn)擊“口令簽到”按鈕,出現(xiàn)“簽到成功”彈窗表示簽到成功;也可以掃描教師發(fā)布的二維碼進(jìn)行二維碼簽到;還可以掃描教師發(fā)布的補(bǔ)簽二維碼進(jìn)行補(bǔ)簽。學(xué)生在我的課程選項(xiàng)卡頁(yè)面中可以學(xué)習(xí)教師上傳的資料,學(xué)生可以下載任意課程下教師上傳的文件,將其保存在電腦或者手機(jī)里后打開查看,進(jìn)行碎片化學(xué)習(xí);學(xué)生還可以在個(gè)人中心選項(xiàng)卡頁(yè)面中可以進(jìn)行個(gè)人信息的編輯。
4? 結(jié)? 論
基于微信小程序的簽到碎片化學(xué)習(xí)平臺(tái)更好地解決了學(xué)生考勤以及學(xué)生碎片化時(shí)間的利用問(wèn)題,學(xué)生可以利用碎片化時(shí)間在平臺(tái)上進(jìn)行學(xué)習(xí),使時(shí)間得以充分利用,增加了學(xué)生學(xué)習(xí)的有效時(shí)間;平臺(tái)還為教師實(shí)現(xiàn)了信息化考勤功能,便于學(xué)生出勤記錄長(zhǎng)久保存。
參考文獻(xiàn):
[1] 彭濤.基于微信小程序的簽到平臺(tái)的設(shè)計(jì)與實(shí)現(xiàn) [J].電腦知識(shí)與技術(shù),2020,16(12):64-65+77.
[2] 羅丹.基于微信小程序的大學(xué)選修課考勤簽到系統(tǒng)設(shè)計(jì)與開發(fā) [J].電子制作,2020(1):71-72.
[3] 王蕓琦,蔡建平.基于位置的簽到微信小程序開發(fā) [J].計(jì)算機(jī)時(shí)代,2019(11):67-69+73.
作者簡(jiǎn)介:徐慧(1981—),女,漢族,江西南昌人,講師,研究生,碩士,研究方向:軟件工程。