?

淺談基于微信的移動教學平臺的設計與開發

2019-09-24 02:00常漢杰付賽紅
電腦知識與技術 2019年19期
關鍵詞:公眾平臺移動教學微信

常漢杰 付賽紅

摘要:隨著智能手機的不斷普及和微信使用者不斷增加,以微信作為移動教學平臺基礎,通過對公眾平臺的深度開發使學習者所需的學習功能在公眾平臺中能夠得以實現。該文主要論述如何將需要提供給學習者的學習功能和微信相結合,從而搭建自己基于微信的移動學習平臺。

關鍵詞:微信;公眾平臺;移動教學;LAMP

中圖分類號:TP393? ? ? 文獻標識碼:A

文章編號:1009-3044(2019)19-0067-03

Abstract: With the popularization of intelligent mobile phone and WeChat users continue to increase, with WeChat as a basis for mobile learning platform, through the depth of the development of the public platform to make learners required learning function can be achieved in the public platform. This paper mainly discusses how to combine the learning function that needs to be provided to the learners, and to build up their own mobile learning platform based on WeChat.

Key words: WeChat; public platform; mobile teaching; LAMP

1 緒論

移動學習是一種在移動設備幫助下的能夠在任何時間、任何地點發生的學習,移動學習所使用的移動計算設備必須能夠有效地呈現學習內容并且提供教師與學習者之間的雙向交流。移動設備主要包含了智能手機和各類PAD等智能終端,目前基于這些智能終端進行移動教學平臺開發的軟件開發方式主要可分為了APP開發和微信公眾平臺開發。這兩者之間各有優缺點,本文主要介紹通過微信公眾平臺的開發方式。

1.1 微信的優勢

微信是一款跨平臺的通訊工具,支持單人、多人參與,通過手機網絡發送語音、圖片、視頻和文字。目前微信的使用人數據最新統計已經有9億多了,幾乎人人都已擁有微信號,微信已成為目前國內使用人數最多的移動端IM聊天工具和社交軟件。

1.2 公眾號

微信公眾號內植于微信的社交環境下,導流和呈現的成本大大低于傳統意義上的APP,因而產生了對后者的替代效應。微信公眾號對開發者開放了開發功能,開發者只需關注在公眾號上的功能開發,然后讓用戶關注即可。這樣,公眾號的開發儼然類似于開發APP軟件,而微信則已類似于一個新的桌面系統。

1.3 開發工具

本文所介紹的系統采用的開發工具是基于LAMP(Linux+Apache+Mysql+PHP)架構,在與微信的接口關系上是按照微信的開發標準,內置網頁的前端設計主要是基于HTML5、Jquery和Bootstrap,課件點播技術是基于阿里云的CDN網絡和相應的OSS數據存儲結構。

2 移動教學平臺所需功能

教學平臺的“移動化”主要是針對傳統PC系統的“非移動”而言的,主要的優點體現在可以自由自在、隨時隨地進行不同目的、不同方式的學習。移動化的學習方式是參與學習的主體者在通過使用移動端設備在學習環境的選擇上更加自由和靈活。

根據移動學習的特點,本系統開發主要功能包括了:資料閱讀、信息推送、教學互動、作業練習、課件點播和個性通知等。

基于微信的移動教學平臺就是能將上述的幾個學習功能通過使用微信公眾平臺的開發功能,在公眾平臺內實現。

3 系統設計

3.1 開發準備

3.1.1 接入微信公眾號

在成為微信開發者后需要填寫服務器地址(URL)、Token和EncodingAESKey。URL地址是自己服務器的一個網頁地址,其作用是將你的服務器和微信相連,起到了紐帶作用。Token的作用是生成簽名而驗證安全性。

3.1.2 獲取access_token

access_token是公眾號的全局唯一接口調用憑證,公眾號中調用的任何一個接口都需要獲取access_token,獲取access_token需要提供公眾號的APP_ID和AppSecret。其調用地址為:https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=APPID&secret=APPSECRET。微信為了安全性在獲取access_token中增加了有效性限制和調用頻率的限制,所以在系統中需要增加中控服務器用于定時獲取access_token。

3.1.3 創建個性化菜單

一個公眾號需要創建一些菜單從而使學習者能夠清楚自己需要的功能在哪里獲取。微信公眾號中將菜單的呈現通過JSON的數據格式來包裝,然后通過一個POST調用傳送至微信服務器。示例如下:

3.2 功能實現

3.2.1 身份綁定

學習者在學習平臺上的唯一號,一般是學號或者是用戶名,然而微信也有一個唯一號,被稱為OpenID,不管用戶使用了哪一臺設備登錄微信,他所對應的OpenID號都是唯一的。所以,首先需要將OpenID號和學號實施綁定,這樣用戶以后打開這個公眾號后系統就能自動判斷出是哪一位學生了。

這里的Url字段就是你設計好的一張綁定頁面,用戶點擊這條信息后將跳轉到該網頁中,相應的OpenID值可以通過參數傳遞,也可以通過session等方式進行傳遞到該網頁中。

身份綁定的第二種方法是通過網頁授權,其實現機制是利用OAuth2.0進行鑒權。設計方法是,在用戶點擊菜單時直接讓其跳轉到微信的OAuth頁面上,如:https://open.weixin.qq.com/connect/oauth2/authorize?appid=APPID&redirect_uri=http://yourhostname/callback.php&response_type=code&scope=snsapi_base&state=1#wechat_redirect。這里采用的是以snsapi_base為scope發起的網頁授權,是用來獲取進入頁面的用戶的OpenID的,并且是靜默授權并自動跳轉到回調頁的,用戶感知的就是直接進入了回調頁,回調頁面就是redirect_uri參數。

在回調頁面中可以獲取一個code值,通過code換取到一個特殊的網頁授權access_token,然后將code值和相應的數據發送至如下地址,便能獲取到OpenID值了,https://api.weixin.qq.com/sns/oauth2/access_token?appid=APPID&secret=SECRET&code=CODE&grant_type=authorization_code。返回的是一個json數據包,直接讀取openid字段即可。

3.2.2 教學互動

微信中的教學互動比在傳統的PC端中就更加有效了,除了在學習平臺里可以設計傳統的課程論壇,學生有問題時在論壇中發帖,老師需要登錄后才能進行回帖。但當學生急需老師的回答時,課程論壇的時效性限制了這一功能。

微信公眾號中的客服功能便能做到上述的要求,實現如下:

通過GET此URL可以獲取老師列表和相應的客服狀態,https://api.weixin.qq.com/cgi-bin/customservice/getonlinekflist?access_token=ACCESS_TOKEN。

在列表中點擊相應的教師,便可以在公眾號的輸入狀態下直接輸入相應的問題進行咨詢。后臺只需要將該用戶的請求通過發送如下xml包。

3.2.3 個性化通知

微信中最常用的一個功能便是信息推送,但信息推送只能便每個人看到的信息是一模一樣的,并且還有推送頻率的限制規定。在實際應用中,其時整班學生在一起學習的過程中,他們的學習習慣和學習進度都是有著個體差異的。如在某個時候可能需要提醒同學們需要完成哪些作業,但是同學們的完成進步不一,所以一定要使用個性化的通知,同樣也包括了成績和繳費通知等等。

為了完成上述需求,主要是用到了微信中的模板消息接口,具體流程如下:

1)從模板庫中找到相應的模板添加到我的模板中;

2)根據需要發送的模板消息中的data部分設置好相應的數據 ;

3)然后將發送的數據進行封裝成json數據,PHP示例如下:

最后將數據POST至https://api.weixin.qq.com/cgi-bin/message/template/send?access_token=ACCESS_TOKEN。其中template_id為模板的id號,touser則是用戶的openid號,data則是需要發送的具體內容,按照模板內容結構填好。

4)老師需要發送上述模板消息時,只要將相應消息按照模板結構寫入excel中,然后導入至平臺中,平臺便可以通過逐條讀取并發送,從而完成一次個性化的通知需求。

3.2.4 課件點播

課件點播是移動學習平臺中主要的一個功能,當用戶點擊相應的課程后則顯示給用戶一張相應的課件點播列表。這其實時就是顯示了一個移動版網頁,當然這個網頁上已經獲取到了相應的openid,能夠判斷出用戶能否具有點播相應的課件資源的權限。

在移動端的網頁設計本系統采用了HTML5+Bootstrap,因為bootstrap具有響應式開發布局和移動設備優先的性能。課件存儲采用了阿里云的對象存儲(Object Storage Service,簡稱OSS),OSS具有海量存儲和高可靠性的非結構化存儲,只需要將相應的課件存儲至OSS中對應的Bucket即可。為了實現課件在播放的一些拖拽功能,在課件發布時需要將課件信息分發至CDN(Content Delivery Network)網絡上。

4 移動教學平臺的改進和展望

本系統已經在我校上線運行了一段時間,系統運行情況良好,響應速度較快,以前學生需要在PC端完成的任務現在可以在微信中就可以完成,系統的實際應用情況也符合當初的設計要求。但在實際應用過程中,也發現了一些需要進一步開發的和完善的功能。

1) 用模板消息功能替代傳統的短消息功能,模板消息實現了個性化的消息發送,當然也可以發送類似于短信的內容。隨著同學們都關注我校微信平臺后,使用模板消息發送替換短信發送已成為可能。

2) 微信快照功能。當學生在學校公眾號中學習和觀看課件時,突然有朋友發來消息并點擊閱讀后,學生再次返回到上次的學習頁面中則比較煩瑣,如有一個微信快照功能,實現一鍵返回到原有觀看頁面。

3) 人工智能的使用。任何一個學習者在學習上都存在著惰性,如何設計出一個人性化的學習系統,當用戶沒能及時完成相關學習需求后,系統能自動的給學習者發出一條學習提醒消息。

參考文獻:

[1] 馬艷艷. 我國微課程研究現狀述評[J]. 軟件導刊, 2014(3): 197-199.

[2] 王竹立, 李小玉. 智能手機與“互聯網+”課堂[J]. 遠程教育雜志, 2015(4): 14-21.

[3] 王朋嬌, 蔡宇南, 段婷婷. 微信功能包支持下的移動學習活動設計[J]. 現代遠距離教育, 2015(1): 35-40.

[4] 王鍵, 曹偉. 微信在移動學習中的應用研究[J]. 軟件導刊, 2015(10): 196-198.

[5] 龐博, 王朋嬌. 微信在大學英語移動學習中的應用探索[J]. 中國信息技術教育, 2015(1): 112-113.

【通聯編輯:謝媛媛】

猜你喜歡
公眾平臺移動教學微信
微信
微信公眾平臺在醫院圖書館的應用現狀調查
移動教學在生物信息學課程改革中的應用
提升高校官方微信公眾平臺傳播效果的幾點思考
微信
微信
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合