宋鈺
摘 要:本文針對(duì)當(dāng)前學(xué)習(xí)平臺(tái)流量不高、使用頻率較低等問(wèn)題,提出了基于小程序的微信學(xué)習(xí)平臺(tái)。該平臺(tái)以微信為媒介快速獲取流量,具備非常好的實(shí)時(shí)性、趣味性、經(jīng)濟(jì)性。本文詳細(xì)地分析了微信學(xué)習(xí)平臺(tái)的軟硬件需求,設(shè)計(jì)了學(xué)習(xí)平臺(tái)的整體框架,詳細(xì)闡述了業(yè)務(wù)流程。微信平臺(tái)具備課程學(xué)習(xí)、交流溝通、趣味學(xué)習(xí)、討論等功能,能夠滿足大部分人的學(xué)習(xí)要求。經(jīng)測(cè)試,平臺(tái)運(yùn)行正常,使用流程簡(jiǎn)單,具備較好的學(xué)習(xí)效果。
關(guān)鍵詞:小程序;系統(tǒng)架構(gòu);微信
中圖分類號(hào):TP311.56 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):1003-5168(2019)32-0036-03
Design and Implementation of WeChat Learning Platform
Based on Mini Program
SONG Yu
(Shanxi Radio & TV University,Taiyuan Shanxi 030027)
Abstract: Aiming at the problems of low traffic and low usage frequency of the current learning platform, this paper proposed a WeChat learning platform based on a small program. The platform uses WeChat as a medium to quickly obtain traffic, and has very good real-time, fun and economical. This paper analyzed the software and hardware requirements of the WeChat learning platform in detail, designed the overall framework of the learning platform, and elaborated the business process in detail. The WeChat platform has functions such as course learning, communication, fun learning, and discussion, which can meet the learning requirements of most people. After testing, the platform runs normally, the use process is simple, and it has a good learning effect.
Keywords: small program;system architecture;WeChat
統(tǒng)計(jì)顯示,我國(guó)微信用戶數(shù)量在2018年超過(guò)了10億,小程序是微信開(kāi)發(fā)推出的新型應(yīng)用程序,用戶無(wú)須下載安裝就可以在微信中進(jìn)行程序的開(kāi)發(fā)。相比傳統(tǒng)的APP,小程序能調(diào)用微信基礎(chǔ)框架、API接口等,提升了程序的開(kāi)發(fā)效率,此外,小程序能夠在微信中快速傳播,擁有非常龐大的用戶量[1-3]。小程序因其輕量級(jí),在發(fā)布一年后,用戶量迅速達(dá)到了4億,且在各個(gè)領(lǐng)域中都得到了迅速的推廣應(yīng)用,如餐飲、服務(wù)等行業(yè)。
教育領(lǐng)域,移動(dòng)學(xué)習(xí)逐步成為未來(lái)發(fā)展的趨勢(shì),越來(lái)越多的人利用碎片時(shí)間在任何地點(diǎn)進(jìn)行學(xué)習(xí),也逐步拓展到高校教育體系中(如慕課、微課)。目前上面有較多的學(xué)習(xí)類APP,卻無(wú)法得到較好的推廣,其開(kāi)發(fā)周期較長(zhǎng)、費(fèi)用支出較高。微信小程序發(fā)布后也在教育領(lǐng)域內(nèi)被應(yīng)用,但是應(yīng)用(如扇貝字典、英語(yǔ)角等)比較簡(jiǎn)單,移動(dòng)學(xué)習(xí)類的小程序平臺(tái)仍然處于一片空白。
1 需求分析
當(dāng)前已經(jīng)進(jìn)入移動(dòng)智能社會(huì),隨著網(wǎng)絡(luò)的快速發(fā)展,移動(dòng)設(shè)備能夠快速地連入互聯(lián)網(wǎng)。據(jù)統(tǒng)計(jì),移動(dòng)智能端中微信站占比高達(dá)98%,應(yīng)用小程序來(lái)開(kāi)發(fā)業(yè)務(wù)也是未來(lái)發(fā)展的趨勢(shì)。教育領(lǐng)域,微學(xué)習(xí)平臺(tái)能夠提供給用戶便攜的移動(dòng)學(xué)習(xí)平臺(tái),滿足人們?nèi)找嬖鲩L(zhǎng)的學(xué)習(xí)需求,提升個(gè)人的知識(shí)技能。傳統(tǒng)的APP學(xué)習(xí)軟件對(duì)移動(dòng)終端性能(內(nèi)存、硬盤(pán)等)要求比較高,在學(xué)習(xí)過(guò)程中,如果無(wú)法保持連續(xù)性,就很容易喪失用戶流量,用戶也無(wú)法維持學(xué)習(xí)的專注度和積極性。微信小程序內(nèi)嵌在微信中,用戶只要安裝了微信就可以直接打開(kāi),開(kāi)發(fā)成本較低,顯著降低了維護(hù)成本[4-6]。教育領(lǐng)域,微信小程序仍處于空白,設(shè)計(jì)者需要結(jié)合微課程的教育理念,開(kāi)發(fā)便于大眾在碎片分散時(shí)間內(nèi)學(xué)習(xí)的小程序,該種方式通過(guò)掃描二維碼直接用微信登錄,不需要二次注冊(cè),具備較好的靈活性和移動(dòng)性,性能趨向于原生態(tài)APP。
基于小程序的微信學(xué)習(xí)平臺(tái),其用戶劃分為三類。一是管理員,對(duì)用戶進(jìn)行管理,負(fù)責(zé)平臺(tái)后臺(tái)運(yùn)營(yíng)、數(shù)據(jù)統(tǒng)計(jì)等;二是學(xué)生,進(jìn)行課程學(xué)習(xí)、打卡、學(xué)習(xí)互動(dòng)和成績(jī)查詢等;三是教師,負(fù)責(zé)課程規(guī)劃管理、教學(xué)視頻上傳、學(xué)生互動(dòng)、教學(xué)資料管理等。
微信學(xué)習(xí)平臺(tái)對(duì)于軟硬件有以下需求。軟件方面,包括微信APP、使用HTTPS協(xié)議接入網(wǎng)絡(luò)、服務(wù)器(搭建WEB環(huán)境)、數(shù)據(jù)庫(kù)。硬件方面,包括服務(wù)器、云服務(wù)器、移動(dòng)智能終端。
2 學(xué)習(xí)平臺(tái)設(shè)計(jì)和實(shí)現(xiàn)
2.1 框架模式設(shè)計(jì)
當(dāng)前,移動(dòng)平臺(tái)開(kāi)發(fā)模式可以劃分為三種。一是瀏覽器/服務(wù)器模式,應(yīng)用在WEB網(wǎng)頁(yè)開(kāi)發(fā)過(guò)程中,跨平臺(tái)的企業(yè)經(jīng)常應(yīng)用,整體開(kāi)發(fā)過(guò)程相對(duì)簡(jiǎn)單,無(wú)法適應(yīng)多樣化的屏幕尺寸。二是客戶端/服務(wù)器模式,通常被應(yīng)用在獨(dú)立的APP應(yīng)用程序中,這種方式開(kāi)發(fā)的APP功能較為全面、安全性能高、用戶個(gè)人體驗(yàn)感強(qiáng),但是開(kāi)發(fā)難度高,周期長(zhǎng),成本較高。三是基于第三方應(yīng)用程序拓展模式,該種方式應(yīng)用既有的第三方應(yīng)用程序API、數(shù)據(jù)庫(kù),通過(guò)對(duì)接其他應(yīng)用平臺(tái),使得新的平臺(tái)降低成本、提升體驗(yàn)感,提升用戶使用頻率,但這種方式會(huì)受限于第三方應(yīng)用程序,獨(dú)立性較差[7,8]。
在高校教育中,課堂教學(xué)外應(yīng)用微課程、微信等來(lái)輔助教學(xué),提升教學(xué)質(zhì)量,實(shí)現(xiàn)師生交流方式的多樣性,但同時(shí)存在學(xué)習(xí)內(nèi)容不連貫、檢索效率差等問(wèn)題。微信小程序能夠?qū)崿F(xiàn)APP的基本功能,無(wú)須另外下載,能夠顯著提升用戶的個(gè)人體驗(yàn)感。因此,本文選擇微信小程序框架作為學(xué)習(xí)平臺(tái)的主框架。
2.2 功能模塊設(shè)計(jì)
微信學(xué)習(xí)平臺(tái)劃分為兩個(gè)部分:用戶前端、管理員(教師)后臺(tái)。用戶前端主要是提供頁(yè)面供用戶學(xué)習(xí);后臺(tái)提供給管理員(教師)進(jìn)行數(shù)據(jù)管理。
2.2.1 用戶前端。用戶前端包括內(nèi)容較多,具體如下。
2.2.1.1 學(xué)習(xí)章程、計(jì)劃。該部分主要呈現(xiàn)給用戶該學(xué)習(xí)主題下所有教師發(fā)布的學(xué)習(xí)計(jì)劃、學(xué)習(xí)內(nèi)容(包含PPT、視頻、知識(shí)點(diǎn)等)。此外,還包含一些小測(cè)試,以提升和鞏固知識(shí)點(diǎn),同時(shí)可以實(shí)現(xiàn)學(xué)習(xí)內(nèi)容的問(wèn)答功能,增加學(xué)習(xí)的互動(dòng)性和參與性。
2.2.1.2 交流模塊。該模塊采用學(xué)習(xí)三步驟來(lái)實(shí)現(xiàn)流程設(shè)計(jì),即交流前準(zhǔn)備、交流、評(píng)價(jià)反饋。交流前通過(guò)查看教師發(fā)布的主題以及內(nèi)容,確定個(gè)人的觀點(diǎn),通過(guò)查找各種資料來(lái)輔助觀點(diǎn),不斷深入理解主題,這就可以顯著提升用戶學(xué)習(xí)的獨(dú)立性;交流中,各個(gè)參與者都可以提出自己的觀點(diǎn),提出相關(guān)問(wèn)題進(jìn)行討論,平臺(tái)會(huì)自動(dòng)存儲(chǔ)交流記錄,以供后續(xù)進(jìn)行查驗(yàn);評(píng)價(jià)反饋,采用問(wèn)卷方式統(tǒng)計(jì)用戶對(duì)于評(píng)論的自我體驗(yàn),教師會(huì)根據(jù)討論結(jié)果給出相關(guān)評(píng)價(jià),并對(duì)一些高熱點(diǎn)問(wèn)題進(jìn)行延伸準(zhǔn)備,這也有利于提升教師的素材準(zhǔn)備。
2.2.1.3 學(xué)習(xí)成績(jī)。該模塊可以查看到學(xué)習(xí)進(jìn)度、互動(dòng)參與情況、下載資料等。
2.2.1.4 個(gè)人中心。該模塊可以進(jìn)行用戶個(gè)人信息的注冊(cè)、登錄、修改等操作。
2.2.2 后臺(tái)。后臺(tái)設(shè)計(jì)主要供管理員、教師進(jìn)行操作。管理員主要負(fù)責(zé)對(duì)用戶進(jìn)行管理,對(duì)用戶行為數(shù)據(jù)和各類調(diào)查問(wèn)卷進(jìn)行統(tǒng)計(jì)分析。教師主要負(fù)責(zé)內(nèi)容有:規(guī)劃管理課程計(jì)劃,課程學(xué)習(xí)資料的準(zhǔn)備、上傳,調(diào)查問(wèn)卷的設(shè)計(jì)、發(fā)布、收集等,和用戶互動(dòng)。
2.3 系統(tǒng)業(yè)務(wù)流程設(shè)計(jì)
微信小程序是基于騰訊開(kāi)發(fā)的各類組件、API接口,應(yīng)用方根據(jù)自身需求設(shè)計(jì)微信移動(dòng)學(xué)習(xí)平臺(tái)小程序端,包含用戶界面、數(shù)據(jù)請(qǐng)求等。服務(wù)器端在接收到用戶端數(shù)據(jù)請(qǐng)求后,對(duì)這些請(qǐng)求進(jìn)行處理,并從相對(duì)應(yīng)的后臺(tái)數(shù)據(jù)庫(kù)中讀取相關(guān)數(shù)據(jù),最后將讀取后數(shù)據(jù)以JSON格式返回給程序端,呈現(xiàn)給用戶。客戶端應(yīng)用ODBC來(lái)連接服務(wù)器或數(shù)據(jù)庫(kù),數(shù)據(jù)庫(kù)會(huì)存儲(chǔ)大量的學(xué)習(xí)文檔、視頻等資料。網(wǎng)絡(luò)連接采用HTTP協(xié)議保障數(shù)據(jù)的安全傳輸,數(shù)據(jù)交互過(guò)程中會(huì)對(duì)數(shù)據(jù)進(jìn)行保密操作。用戶可以通過(guò)微信小程序名、二維碼等方式搜索到學(xué)習(xí)平臺(tái)。
2.4 平臺(tái)功能模塊實(shí)現(xiàn)
2.4.1 用戶模塊。用戶模塊需要獲取用戶微信授權(quán),為了確保用戶隱私,用戶需要授權(quán)部分接口來(lái)調(diào)用API。授權(quán)過(guò)程如下:用戶授權(quán)狀態(tài)的獲取通過(guò)調(diào)用wx.get Setting()函數(shù),該函數(shù)會(huì)返回一個(gè)值,該值包含小程序可以使用的權(quán)限,如果返回值中不包含權(quán)限,就調(diào)用wx.authorize();微信小程序在授權(quán)API接口前,設(shè)計(jì)一個(gè)前端頁(yè)面來(lái)引導(dǎo)用戶開(kāi)啟授權(quán),并調(diào)用wx.open Setting()來(lái)完成用戶授權(quán)。用戶授權(quán)是一次性操作,此后用戶都不需要進(jìn)行用戶授權(quán)。
在獲取用戶授權(quán)后,小程序得到用戶信息。用戶授權(quán)信息獲取調(diào)用scope.user Info接口實(shí)現(xiàn),該接口會(huì)反饋給小程序一個(gè)值encrypted Data,該值包含用戶唯一標(biāo)識(shí)openid,在經(jīng)過(guò)解密后會(huì)將該openid作為用戶名作為注冊(cè)ID。用戶在完成上述注冊(cè)操作后,小程序會(huì)使用wx.login接口來(lái)識(shí)別用戶登錄憑證code,在下次登錄操作后則直接通過(guò)該code來(lái)完成身份認(rèn)證操作,code包含openid、臨時(shí)登錄會(huì)話密鑰session_key等。
2.4.2 課程模塊實(shí)現(xiàn)。微信學(xué)習(xí)平臺(tái)以課程視頻學(xué)習(xí)為主,平臺(tái)支持多種不同格式的語(yǔ)音類型。一是video組件,該格式主要用于視頻播放,其中,bindplay、bindended、bindprogress三個(gè)屬性用于記錄視頻播放觸發(fā)事件,支持MP4格式等常規(guī)視頻格式。二是audio組件,該格式主要用于音頻播放,其中,bindplay屬性用戶完成對(duì)視頻學(xué)習(xí)情況的記錄。
用戶不僅可以通過(guò)小程序獲取視頻資料,還可以獲取文本資料,包含圖片、文檔等課程資料,支持主流的文件格式有:Office、PPT、Excel辦公軟件文檔;jpg、png等圖像格式。rich-text組件用于加載頁(yè)面內(nèi)的富文本。
微信移動(dòng)學(xué)習(xí)平臺(tái)具備非常豐富的學(xué)習(xí)資源,能夠滿足不同用戶的各種需求。
2.4.3 交流模塊。在學(xué)習(xí)過(guò)程中,教師和用戶之間的交流有助于提升用戶的理解,還可以不斷鼓勵(lì)用戶持續(xù)學(xué)習(xí)。微信學(xué)習(xí)平臺(tái)包含實(shí)時(shí)交流、異步回答等功能模塊:實(shí)時(shí)交流則是在線溝通,在微信界面中通過(guò)<button open-type="contact"/>來(lái)設(shè)計(jì)會(huì)話交流按鈕,用戶單擊該按鈕就可以直接和在線教師進(jìn)行溝通交流,此外還可以通過(guò)微信群的方式進(jìn)行主題討論;異步回答模塊則以微論壇為主,通過(guò)用戶唯一標(biāo)識(shí)openid綁定微論壇ID,省去雙重操作,然后以主題帖、回復(fù)等操作進(jìn)行交流,其他用戶可以進(jìn)入微論壇查看內(nèi)容。
在學(xué)習(xí)內(nèi)容(課程、文檔、視頻等)后,用戶能夠根據(jù)自身體驗(yàn)在下方進(jìn)行評(píng)論。
2.4.4 用戶學(xué)習(xí)記錄模塊。在線上學(xué)習(xí)中,用戶主觀能動(dòng)性發(fā)揮了非常關(guān)鍵的作用,教師可以在后臺(tái)上查看用戶的瀏覽記錄、作業(yè)完成情況、考試情況等,這就可以從整體上把控用戶的學(xué)習(xí)質(zhì)量,并根據(jù)評(píng)論等實(shí)時(shí)調(diào)整課程計(jì)劃。
微信小程序可以通過(guò)不同組件來(lái)實(shí)現(xiàn)對(duì)學(xué)習(xí)情況的記錄。例如,video組件中定義的屬性會(huì)根據(jù)用戶單擊的情況觸發(fā)跳轉(zhuǎn)到不同的事件,小程序會(huì)記錄相關(guān)的事件日志信息,從該日志中可以讀取到視頻學(xué)習(xí)時(shí)長(zhǎng)、時(shí)間、次數(shù)等各種行為數(shù)據(jù),調(diào)用wx.set Storag接口就可以將學(xué)習(xí)行為數(shù)據(jù)直接保存到數(shù)據(jù)庫(kù)中。后臺(tái)數(shù)據(jù)庫(kù)會(huì)將學(xué)習(xí)行為數(shù)據(jù)存儲(chǔ)到相關(guān)的表中,以此來(lái)觸發(fā)相關(guān)的程序邏輯。
3 結(jié)語(yǔ)
微信作為當(dāng)前應(yīng)用廣泛的應(yīng)用程序,其小程序內(nèi)嵌在微信內(nèi)部,不需要另外安裝,具備開(kāi)放的API接口、組件等供程序員進(jìn)行調(diào)用開(kāi)發(fā),大大節(jié)約了開(kāi)發(fā)時(shí)間。微信移動(dòng)學(xué)習(xí)平臺(tái)基于小程序,具備非常大的流量入口,能夠滿足當(dāng)前大部分人的碎片化學(xué)習(xí)需求,具有非常好的效果。
參考文獻(xiàn):
[1]劉艷.微信小程序視域下移動(dòng)學(xué)習(xí)平臺(tái)的搭建與研究[J].信息與電腦(理論版),2019(14):78-80.
[2]張興飛.基于微信小程序的教學(xué)平臺(tái)設(shè)計(jì)與開(kāi)發(fā)研究[J].教育現(xiàn)代化,2019(55):268-269.
[3]林亮亮.基于微信小程序的成人移動(dòng)學(xué)習(xí)平臺(tái)設(shè)計(jì)與實(shí)現(xiàn)[J].河北軟件職業(yè)技術(shù)學(xué)院學(xué)報(bào),2019(2):5-9.
[4]張潔,孫華.基于微信小程序的計(jì)算機(jī)專業(yè)英語(yǔ)學(xué)習(xí)平臺(tái)設(shè)計(jì)[J].安徽電子信息職業(yè)技術(shù)學(xué)院學(xué)報(bào),2019(3):18-20.
[5]張妮.基于微信小程序的移動(dòng)學(xué)習(xí)平臺(tái)的設(shè)計(jì)開(kāi)發(fā)研究[J].電腦知識(shí)與技術(shù),2019(4):94-96.
[6]羅金萍,呂翠蓮.基于微信小程序的高校學(xué)生自主學(xué)習(xí)研究[J].中國(guó)教育信息化,2018(19):77-79.
[7]牛琳,吳琳.基于微信小程序的移動(dòng)學(xué)習(xí)平臺(tái)的設(shè)計(jì)與實(shí)現(xiàn)[J].軟件工程,2018(9):15-17.
[8]楊士卿.基于微信小程序開(kāi)發(fā)非正式學(xué)習(xí)環(huán)境可行性分析[J].科技視界,2018(7):147-148.