馬 君
(西北民族大學(xué) 數(shù)學(xué)與計算機(jī)科學(xué)學(xué)院,甘肅 蘭州 730124)
微信已逐漸成為整個移動互聯(lián)網(wǎng)的基礎(chǔ)設(shè)施,到2018微信活躍賬戶高達(dá)10億,并且一直維持穩(wěn)定增長態(tài)勢.微信小程序是基于微信開發(fā)的新興軟件模式,是一種不需要下載安裝即可使用的,能夠?qū)崿F(xiàn)觸手可及的便捷,能避免多余APP占用手機(jī)內(nèi)存.對于開發(fā)者而言,微信小程序開發(fā)門檻低,難度小,可以實現(xiàn)消息通知、線下掃碼、公眾號關(guān)聯(lián)等功能.公眾號關(guān)聯(lián)更能實現(xiàn)微信小程序與微信公眾號的跳轉(zhuǎn)[1-3].
在這個時代手機(jī)基本上是大學(xué)生必備的,學(xué)校的很多工作任務(wù)都是通過手機(jī)通知的,所以微信小程序在線的教育方式是十分容易普及的.微課的使用是一種有效而簡單的學(xué)習(xí)方式,不需要教師辛苦地制作完整的教學(xué)體系,而只需要根據(jù)知識點去完成模塊化的教學(xué)課程就能制作成微課的學(xué)習(xí)資料,然后學(xué)生學(xué)習(xí)的時候也可以根據(jù)自身的需求去針對性地獲得學(xué)習(xí)資源,即省力又省錢,還能很快地獲取到自身需要的知識[4-6].
現(xiàn)在小程序十分火爆,更多的人喜歡這種快捷的方式.越來越多的傳統(tǒng)APP被小程序所取代,使用微信的人基本上都用過微信小程序,微信小程序每天被訪問的次數(shù)接近兩億.微信的龐大用戶量成就了微信小程序的成功.
基于微信小程序的微課堂設(shè)計可以使學(xué)生把零散的時間用來學(xué)習(xí),可以提高學(xué)生的學(xué)習(xí)效率,便捷地掌握課堂知識,使老師的教學(xué)變得簡單化,便捷化.此系統(tǒng)存在的意義就是把微課堂普及化以及方便化,使學(xué)生更加容易地接觸到這種學(xué)習(xí)方法.新穎的教學(xué)方式必定能提高學(xué)生學(xué)習(xí)的積極性,提高教學(xué)水平,降低教育難度[7].
開發(fā)出可供老師和學(xué)生使用的微信小程序,完成微課堂的應(yīng)用,提高學(xué)生的學(xué)習(xí)效率,降低老師的教學(xué)難度.
微信小程序開發(fā),是基于微信小程序云開發(fā)服務(wù)器提供的數(shù)據(jù)庫,使用云函數(shù)對數(shù)據(jù)庫進(jìn)行的操作.
本系統(tǒng)為了給學(xué)生提供微課堂的學(xué)習(xí)方式,實現(xiàn)在微信小程序中輕松獲取課堂知識,有助于學(xué)生學(xué)習(xí)水平的提高,老師能夠在線為學(xué)生提供學(xué)習(xí)上的幫助,學(xué)生完成自我測評.
本系統(tǒng)具備如圖1功能:
圖1 系統(tǒng)模塊結(jié)構(gòu)圖
1.2.1 對教師信息進(jìn)行添加
教師的身份屬于權(quán)限較大的角色,所以教師的賬號不能通過用戶自身去注冊使用,所以就有了管理員的身份.管理員可以對教師的基本信息進(jìn)行添加,給教師分配登錄使用的賬號密碼.
1.2.2 教師、學(xué)生用戶基礎(chǔ)數(shù)據(jù)的維護(hù)管理
考慮到關(guān)于用戶關(guān)鍵信息丟失的問題,比如學(xué)生和教師的登錄密碼忘記,為了系統(tǒng)的安全性,修改密碼的功能賦予管理員.
管理員應(yīng)當(dāng)管理學(xué)生及老師的信息,可以根據(jù)登錄使用的用戶名重置學(xué)生和老師的登錄密碼.
1.2.3 學(xué)生、教師、管理員的登錄
因為微信小程序需要在app.json配置文件中設(shè)置初始打開的頁面,不能通過輸入網(wǎng)址改變頁面顯示,所以需要把三種用戶類型的登錄頁面寫在一起.使用下拉框選擇登錄的角色,form表單提交時需要在js中判斷用戶類型,然后根據(jù)角色的不同可以連接不同的數(shù)據(jù)庫,在對應(yīng)用戶類型的數(shù)據(jù)庫中查詢出對應(yīng)的值,然后進(jìn)行判斷是否成功,再根據(jù)不同的用戶類型決定跳轉(zhuǎn)到對應(yīng)的頁面中.
1.2.4 微課視頻的上傳與刪除
老師登錄進(jìn)入小程序可以選擇上傳視頻,小程序調(diào)用手機(jī)的組件,可以選擇打開手機(jī)攝像頭錄制視頻,也可以選擇已經(jīng)錄制好的視頻進(jìn)行上傳,老師可以刪除自己上傳過的視頻.
圖2 數(shù)據(jù)庫E-R 圖
1.2.5 操作題庫中的題目
適用角色:教師
教師登錄成功后可以選擇操作題庫功能,然后需要在js數(shù)據(jù)中讀取關(guān)于軟件工程的所有試題,再把這些試題顯示在頁面上.可以添加試題,試題包括題目、選項、正確答案等,教師還可以對這些試題進(jìn)行修改.修改內(nèi)容包括題目、選項、正確答案等.
1.2.6 微課視頻被訪問次數(shù)
在數(shù)據(jù)庫中給wkvideo表中添加一個字段來記錄視頻被點擊的次數(shù),教師可以查看每條視頻被點擊的次數(shù).教師登錄系統(tǒng)可以看到自己上傳的微課被訪問的次數(shù).
1.2.7 學(xué)生在線測評成績的統(tǒng)計與分析
教師可以查看學(xué)生測試的成績,然后還可以看到每道試題學(xué)生的答題情況.每道試題被作答以后會在數(shù)據(jù)庫中保存答題的總?cè)藬?shù)以及正確的次數(shù),顯示給教師的情況是回答正確數(shù)/回答總?cè)藬?shù).
1.2.8 微信群組功能
教師與學(xué)生需要溝通,可通過微信群組的功能實現(xiàn).教師可以先去創(chuàng)建微信群組,然后上傳該群組的群二維碼,把二維碼保存在云開發(fā)數(shù)據(jù)庫中,學(xué)生可以根據(jù)教師獲得的微信群組的二維碼,去微信中掃描二維碼加入群聊.
1.2.9 學(xué)生注冊
學(xué)生在使用該小程序時需要去創(chuàng)建登錄所需的用戶名密碼,然后把學(xué)生的用戶名密碼保存在云開發(fā)的數(shù)據(jù)庫中.
1.2.10 學(xué)生在線觀看微視頻
學(xué)生登錄進(jìn)系統(tǒng)最主要的功能就是對微課視頻進(jìn)行學(xué)習(xí).學(xué)生可以根據(jù)對應(yīng)教師獲得教師上傳的視頻,然后可以在小程序中在線觀看視頻進(jìn)行學(xué)習(xí).
1.2.11 學(xué)生修改個人信息
學(xué)生可以在小程序中修改云數(shù)據(jù)庫中的個人信息.
使用微信云開發(fā)的云數(shù)據(jù)庫.云數(shù)據(jù)庫是微信官方針對微信小程序開發(fā)的專門制定的數(shù)據(jù)庫,可以在數(shù)據(jù)庫中添加集合,相當(dāng)于MySQL數(shù)據(jù)中的表結(jié)構(gòu),把數(shù)據(jù)以json格式保存在集合中[8-10].
根據(jù)微課小程序的需求分析,數(shù)據(jù)表功能如下:
1)學(xué)生信息表:存放學(xué)生的基本信息.
2)教師信息表:存放教師的基本信息.
3)管理員信息表:存放管理員信息.
4)課程信息表:存放課程的相關(guān)信息.
5)題庫表:存放相關(guān)課程的題庫內(nèi)容.
6)微課視頻表:存放老師上傳的微信聯(lián)系信息.
微信小程序的開發(fā),完全基于微信官方api進(jìn)行.使用小程序云開發(fā)的云數(shù)據(jù)庫與云函數(shù)完成數(shù)據(jù)存儲與查詢,使用js控制邏輯運行.
系統(tǒng)主要服務(wù)于教師與學(xué)生,開發(fā)時應(yīng)考慮合理性與實用性.針對學(xué)生對微課視頻的學(xué)習(xí)與自我測評,教師可以檢查學(xué)生的學(xué)習(xí)情況以及對學(xué)生的學(xué)習(xí)提供的幫助.提供一個微課小程序以便幫助學(xué)生和教師完成學(xué)習(xí)中存在困難的問題.
微信小程序可以通過wx.getuserinfo來獲得微信用戶的頭像、昵稱信息.可以直接把微信用戶的信息顯示在頁面中,不需要用戶自己再把這些數(shù)據(jù)添加進(jìn)數(shù)據(jù)庫中,獲取信息方便快捷.
Openid是微信用戶唯一標(biāo)識,進(jìn)入小程序前必須先獲得Openid,小程序云開發(fā)使用云函數(shù)簡化了獲取Openid的難度.
圖3 教師上傳視頻
在微信小程序中想要訪問頁面必須把頁面路徑配置到app.json文件中,pages中第一行的路徑是小程序啟動時訪問的路徑.小程序簡化了原本需要web.xml文件中配置頁面的問題,只需要在配置文件中添加頁面的訪問路徑就能配置進(jìn)去實現(xiàn)頁面的訪問.
登錄頁面通過選擇角色進(jìn)行登錄,然后js可以通過頁面?zhèn)鬟^來的usertype判斷需要連接的集合進(jìn)行訪問.再根據(jù)用戶名去對應(yīng)角色的集合中查詢數(shù)據(jù),把查詢數(shù)據(jù)中的密碼與填寫的密碼進(jìn)行對比.如果相同登錄成功,跳轉(zhuǎn)到對應(yīng)角色的頁面.
選擇教師的角色進(jìn)行登錄時,如果判斷成功便會進(jìn)入到對應(yīng)的教師主頁,可以點擊上傳視頻,如圖3.
上傳視頻首先需要調(diào)用wx.chooseVideo方法來觸發(fā)手機(jī)選擇本地視頻,通過設(shè)置sourceType使用拍攝和本地視頻都能選擇.選擇視頻成功后調(diào)用success方法,res.tempFilePath獲得文件的臨時路徑,使用wx.cloud.uploadFile上傳視頻到云文件.上傳成功返回云文件ID,把云文件ID保存在全局變量app.globalData中,然后把云文件ID與教師ID保存在數(shù)據(jù)庫中.學(xué)生可以根據(jù)教師ID獲取云文件ID,從而可以從云開發(fā)的文件管理中獲得視頻文件.
教師可以上傳班級群的二維碼,然后學(xué)生可以根據(jù)對應(yīng)班級選擇下載二維碼.通過微信小程序的wx.chooseImage()方法進(jìn)行圖片的選擇,然后把圖片上傳云開發(fā)的文件管理中.學(xué)生可以通過訪問教師學(xué)生的聯(lián)系表獲得教師上傳圖片的路徑,然后就可以使用圖片預(yù)覽的方式顯示圖片,可以調(diào)用微信的長按保存圖片方法,把圖片保存到本地,再在微信中掃一掃使用本地圖片實現(xiàn)掃描加入群聊.
教師可以讀取題庫中的題目列表,根據(jù)單元進(jìn)行分類查看,設(shè)置題目,四個選項并且標(biāo)注出正確答案.教師還可以添加試題,連接題庫表,實現(xiàn)對表中數(shù)據(jù)的添加,也可以選擇已經(jīng)存在的題目進(jìn)行編輯,可以修改題目、選項、答案;也可以刪除不需要的題目.
學(xué)生在線答題的試卷生成策略是通過課程的名字獲取每個學(xué)習(xí)單元的所有題庫,然后在每個單元內(nèi)隨機(jī)獲取一道題目.獲得題目與四個選項答案,并且記錄學(xué)生選擇的答案與正確答案進(jìn)行對比.如果答案等于正確答案,則正確題目數(shù)加一,最后把學(xué)生的測試的答對題目的總數(shù)與學(xué)生答題總數(shù)存儲在數(shù)據(jù)庫中,把學(xué)生的成績以答對題目數(shù)/答題總數(shù)顯示給教師.
教師點擊上傳視頻,可以查看本地視頻,也可以選擇使用手機(jī)拍攝,同時也可以預(yù)覽要上傳的視頻,如圖4.
圖4 教師發(fā)布視頻瀏覽
學(xué)習(xí)方法會對學(xué)生的學(xué)習(xí)成績產(chǎn)生巨大的影響,好的學(xué)習(xí)方法可以使學(xué)習(xí)事半功倍.而基于微信小程序微課堂的設(shè)計是最近比較火熱的教學(xué)方式,取得了相當(dāng)好的成績.微課堂是一種對學(xué)生課后輔導(dǎo)特別有效的教學(xué)方法,可以通過微課的方式將書面的知識模塊化,把繁雜的學(xué)習(xí)內(nèi)容拆分成小的知識碎片,可以讓學(xué)生在空閑的時間能輕松地接受到課堂上的重難點.把這種學(xué)習(xí)方式放在網(wǎng)絡(luò)以供學(xué)生使用,會更有效地幫助學(xué)生完成學(xué)業(yè).