


摘? 要:為解決教學過程中簽到程序繁瑣且不夠智能等問題,開發(fā)了基于微信小程序的簽到碎片化學習平臺。將簽到打卡、學習和微信小程序完美整合,使得學生可支配時間大大增加,學習效率有效提升;利用二維碼和口令的混合式簽到,節(jié)省了學校教師上課點名查人數(shù)的時間,有效地提高了課堂效率,保證課堂教學時間。該平臺在上線后會根據(jù)學生和教師對簽到學習軟件的需求進行調(diào)整,更加貼合實際。
關(guān)鍵詞:碎片化;小程序;混合式簽到
中圖分類號:TP311.56? ? ? ?文獻標識碼:A 文章編號: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? 引? 言
隨著智慧課堂的不斷推進,教師的教育教學方式也需要與時俱進。南昌理工學院計算機信息工程學院教師的上課考勤方式還是以紙質(zhì)名單點名考勤為主,每次點名都會耗費較多時間,影響課堂的教學進度。另外,用這種方法容易出現(xiàn)其他學生代答到的問題,后期整理學生出勤和缺勤數(shù)據(jù)也浪費時間。為了解決這個問題,作者采用基于GPS的定位算法和二維碼生成技術(shù)以及微信小程序無需安裝的特性,開發(fā)了這款基于微信小程序的簽到碎片化學習平臺,來幫助教師進行簽到以及教學。
基于微信小程序的簽到學習平臺在改變傳統(tǒng)教學方式的同時,也打破了傳統(tǒng)教學方式的時間束縛,教師能在任何時間、任何地點上傳可供學生學習的資料,方便學生利用碎片化時間學習。簡易的考勤方式也能幫助教師加快教學進度,按時完成教學任務(wù),減輕教師的教學負擔。學生的學習可以不局限在教室與圖書館這些地方,該平臺更適合新一代的學習者,他們可以借助移動設(shè)備進行自主學習,隨時隨地地進行碎片化學習,從而提高學生的學習效率。
1? 系統(tǒng)架構(gòu)設(shè)計
基于微信小程序的簽到碎片化學習平臺面向廣大在校學生及在校教師。根據(jù)對現(xiàn)有業(yè)務(wù)的詳細分析,系統(tǒng)應(yīng)包含學生和老師共兩個角色,為他們分別提供的功能如下:
學生:查看全部課程、選擇自己的課程、查詢課程及口令和進行簽到等功能。
教師:發(fā)布課程、查看學生簽到情況、開始或者停止簽到、生成簽到二維碼、提供補簽二維碼、上傳學習資料等功能。
系統(tǒng)采用三層架構(gòu)模型,分別為:
UI層:客戶端界面顯示,與用戶進行交互。
業(yè)務(wù)邏輯層:UI層與數(shù)據(jù)層的中間層,用于將數(shù)據(jù)層的數(shù)據(jù)傳遞給UI層,同時對數(shù)據(jù)進行一定的過濾、處理,使UI層獲得更好的展示效果。
數(shù)據(jù)層:提供數(shù)據(jù)支持,作為UI層的數(shù)據(jù)源。
基于微信小程序的簽到碎片化學習平臺數(shù)據(jù)存儲采用MySQL數(shù)據(jù)庫。三層架構(gòu)圖如圖1所示。
2? 開發(fā)中遇到的難題及解決方案
基于微信小程序的簽到碎片化學習平臺采用MINA框架和微信平臺作為開發(fā)基礎(chǔ),以MySQL作為后臺數(shù)據(jù)庫,通過JDBC技術(shù)連接客戶端和數(shù)據(jù)庫,服務(wù)器端采用MyEclipse進行開發(fā)。在開發(fā)基于微信小程序的簽到碎片化學習平臺過程中,筆者遇到了一些問題,這里僅列舉有代表性的幾個問題:
(1)如何防止代簽。
(2)如何準確定位,不產(chǎn)生誤差。
(3)如何防止學生修改定位信息。
(4)如何簽到。
(5)學生如何借助該平臺進行學習。
解決方案:
(1)關(guān)于代簽問題,使用微信的OpenID進行解決,每個學生和教師都有一個獨一的標志(OpenID),且不能注冊多個賬號,這樣就解決了代簽問題,不像傳統(tǒng)的紙質(zhì)名單點名答到時,一個人可以幫幾個人答到。
(2)關(guān)于定位不準問題,作者利用GPS定位算法獲取教師的經(jīng)緯度和學生的經(jīng)緯度,計算兩點之間的距離,當超過20米時,就會返回簽到失敗、不在范圍內(nèi)的信息。
(3)關(guān)于防止學生修改定位的問題,當微信獲取學生位置時,學生位置信息界面不能移動位置定位,學生只能授權(quán),不能更改。
(4)簽到采用了口令簽到方式,教師發(fā)布簽到口令,學生輸入簽到口令,口令一致簽到成功,教師頁面返回學生的姓名、學號和日期。采用二維碼進行補簽,教師發(fā)布二維碼,學生掃描該碼進行補簽。
(5)關(guān)于學生如何借助該平臺進行學習,教師在自己發(fā)布的課程下上傳該課程的學習資料,平臺支持多種上傳格式,但進行了敏感格式過濾,例如EXE格式的文件不能上傳。學生在該課程下,點擊資料即可查看、學習。
3? 系統(tǒng)核心功能
用戶啟動平臺后,進入首頁選擇身份,如果沒有注冊,點擊圖標跳出信息填寫頁面,需填寫有效信息完成注冊。注冊過的用戶第一次使用手機登錄時,該平臺會請求錄入身份信息權(quán)限許可;第二次手機登錄時,學生和教師都不需要輸入登錄信息,平臺會直接調(diào)轉(zhuǎn)到學生或者教師頁面。
圖2? 教師頁面
教師可以在教師頁面看到添加課程、發(fā)布口令簽到、發(fā)布二維碼簽到、二維碼補簽及上傳學習資料等功能模塊,如圖2所示。
3.1? 教師發(fā)布口令簽到
教師在已登錄的狀態(tài)下,在需要打卡的課程下發(fā)布簽到口令,如圖3所示。平臺利用GPS定位學生,然后通過ShowModel彈出信息框,申請獲取學生地理位置信息,獲取后簽到打卡。獲取的地理位置是根據(jù)經(jīng)度緯度來確定的,收集到的經(jīng)度緯度會保存到數(shù)據(jù)庫中,方便定位學生時以確定學生所在位置。
口令簽到的部分關(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ù)信息,學生掃碼就可以獲取信息,查看二維碼的信息就可以簽到打卡。
生成二維碼的部分核心代碼如下:
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? ?教師上傳學習資料
教師在已登錄的狀態(tài)下,可以在某個課程頁面上傳該課程的學習資料。出于安全考慮,平臺設(shè)置了上傳文件格式的白名單,上傳格式可以是DOCX、TXT、RAR、ZIP、PPTX等,但不能是EXE、COM、BAT等格式;平臺采用微信的wx.chooseMessageFile函數(shù)上傳文件,上傳學習資料頁面如圖4所示。
3.4? 學生端功能
學生端功能有三個選項卡:簽到、我的課程和個人中心。在簽到選項卡頁面中可以口令簽到、二維碼簽到和補簽,學生簽到選擇卡如圖5所示。學生可以在輸入教師發(fā)布的某一課程口令后,點擊“口令簽到”按鈕,出現(xiàn)“簽到成功”彈窗表示簽到成功;也可以掃描教師發(fā)布的二維碼進行二維碼簽到;還可以掃描教師發(fā)布的補簽二維碼進行補簽。學生在我的課程選項卡頁面中可以學習教師上傳的資料,學生可以下載任意課程下教師上傳的文件,將其保存在電腦或者手機里后打開查看,進行碎片化學習;學生還可以在個人中心選項卡頁面中可以進行個人信息的編輯。
4? 結(jié)? 論
基于微信小程序的簽到碎片化學習平臺更好地解決了學生考勤以及學生碎片化時間的利用問題,學生可以利用碎片化時間在平臺上進行學習,使時間得以充分利用,增加了學生學習的有效時間;平臺還為教師實現(xiàn)了信息化考勤功能,便于學生出勤記錄長久保存。
參考文獻:
[1] 彭濤.基于微信小程序的簽到平臺的設(shè)計與實現(xiàn) [J].電腦知識與技術(shù),2020,16(12):64-65+77.
[2] 羅丹.基于微信小程序的大學選修課考勤簽到系統(tǒng)設(shè)計與開發(fā) [J].電子制作,2020(1):71-72.
[3] 王蕓琦,蔡建平.基于位置的簽到微信小程序開發(fā) [J].計算機時代,2019(11):67-69+73.
作者簡介:徐慧(1981—),女,漢族,江西南昌人,講師,研究生,碩士,研究方向:軟件工程。