鄭萬挺,,胡震寰,白寶鋼
?。刂葆t(yī)科大學(xué) 信息與工程學(xué)院,,浙江 溫州 325035)
摘要:隨著Internet和網(wǎng)絡(luò)技術(shù)的發(fā)展與應(yīng)用,教育技術(shù)和方法也進(jìn)入了一個(gè)新的發(fā)展階段,,出現(xiàn)了數(shù)字化教學(xué)資源平臺(tái),。基于微信公眾平臺(tái)的實(shí)驗(yàn)室教學(xué)資源推廣平臺(tái)實(shí)現(xiàn)了資源共享,、便捷查看信息的功能,,滿足多層次和多用戶的需求,推動(dòng)了院校實(shí)驗(yàn)室教學(xué)資源的建設(shè),。它可以展現(xiàn)文字,、圖片、視頻等豐富多樣的課程教學(xué),,并結(jié)合其他教學(xué)資源鏈接,全面滿足學(xué)生自助式學(xué)習(xí)的要求,,也是促進(jìn)主動(dòng)式,、協(xié)作式、研究型,、自主型學(xué)習(xí),,形成開放,、高效的新型教學(xué)模式。
關(guān)鍵詞:微信公眾平臺(tái),;信息技術(shù),;教學(xué)資源
0引言
浙江省高校實(shí)驗(yàn)室工作研究項(xiàng)目(YB201520)在高速發(fā)展的信息科技時(shí)代,微信已經(jīng)有了億級(jí)的用戶,,逐漸成為人們信息交流的主流[1],。微信公眾平臺(tái)是騰訊公司新增的功能模塊,通過這一平臺(tái),,可以實(shí)現(xiàn)特定群體的文字,、圖片、語音的全方位溝通,,還可以設(shè)定關(guān)鍵詞進(jìn)行自動(dòng)回復(fù)或一對(duì)一的用戶交流,。隨著網(wǎng)絡(luò)教學(xué)的發(fā)展,網(wǎng)絡(luò)教學(xué)資源也越來越豐富,,怎樣更有效地管理教學(xué)資源成為開展網(wǎng)絡(luò)教學(xué)的關(guān)鍵[2],。另外,微信正成為移動(dòng)互聯(lián)網(wǎng)時(shí)代的新寵兒,,可以為高校教學(xué)資源提供一個(gè)共享平臺(tái),。
本文設(shè)計(jì)了基于手機(jī)微信的實(shí)驗(yàn)教學(xué)資源推廣平臺(tái),編程語言為PHP語言,,服務(wù)器為新浪SAE服務(wù)器,,主要從手機(jī)端用戶關(guān)注的微信公眾平臺(tái)和管理員微信公眾平臺(tái)后臺(tái)兩個(gè)方面來研究,通過驗(yàn)證配置接口與服務(wù)器鏈接,,實(shí)現(xiàn)上傳代碼數(shù)據(jù),。本微信推廣平臺(tái)設(shè)計(jì)合理,穩(wěn)定性和可靠性高,,成本也不高,。
1系統(tǒng)整體概述
基于手機(jī)微信的實(shí)驗(yàn)教學(xué)資源推廣平臺(tái)主要由兩個(gè)模塊組成,一是用戶關(guān)注后的移動(dòng)端微信公眾平臺(tái),,二是管理員操作的微信公眾平臺(tái)后臺(tái),,主要以網(wǎng)絡(luò)服務(wù)器、數(shù)據(jù)庫搭建技術(shù),、微信接口開發(fā)模式二次開發(fā)技術(shù),、微信顯示微網(wǎng)站構(gòu)建技術(shù)等為基礎(chǔ),設(shè)計(jì)實(shí)現(xiàn)基于手機(jī)微信的實(shí)驗(yàn)教學(xué)資源推廣微平臺(tái),,其功能結(jié)構(gòu)設(shè)計(jì)示意圖如圖1所示,。
圖1基于手機(jī)微信實(shí)驗(yàn)室教學(xué)資源推廣平臺(tái)功能結(jié)構(gòu)設(shè)計(jì)示意圖基于手機(jī)微信的實(shí)驗(yàn)室教學(xué)資源推廣平臺(tái)客戶端主要包含以下功能模塊:
(1)關(guān)注回復(fù):用戶登錄微信后,,在“添加朋友”里輸入本教學(xué)資源平臺(tái)的公眾號(hào)或微信號(hào),,輸入正確就可以搜圖3創(chuàng)建數(shù)據(jù)庫和數(shù)據(jù)表到該平臺(tái),,添加關(guān)注后,用戶就可以收到一條自動(dòng)回復(fù)消息,,表示已經(jīng)成功關(guān)注了該平臺(tái),,可以正常使用該平臺(tái)上的功能以及接收來自平臺(tái)的資源信息。
?。?)消息自動(dòng)回復(fù):分為關(guān)鍵詞自動(dòng)回復(fù)和消息自動(dòng)回復(fù),。當(dāng)用戶在平臺(tái)上輸入關(guān)鍵詞時(shí),系統(tǒng)會(huì)根據(jù)輸入的關(guān)鍵詞自動(dòng)回復(fù)相應(yīng)的消息,,為用戶帶來了便捷性的查詢,;當(dāng)用戶發(fā)送的信息無法匹配設(shè)置的關(guān)鍵詞自動(dòng)回復(fù)返回的內(nèi)容時(shí),系統(tǒng)會(huì)自動(dòng)給出回復(fù),,這也充分展現(xiàn)了平臺(tái)的人性化,。
(3)位置天氣查詢:當(dāng)用戶發(fā)送位置消息時(shí),,系統(tǒng)根據(jù)位置信息獲取當(dāng)?shù)靥鞖獠l(fā)送回給用戶,。
(4)圖片消息回復(fù):當(dāng)用戶發(fā)送的信息為圖片信息時(shí),,系統(tǒng)會(huì)自動(dòng)針對(duì)圖片消息做出回復(fù),。
(5)自定義菜單響應(yīng)回復(fù):在平臺(tái)界面的最下方有3個(gè)菜單欄,,每個(gè)菜單欄下有子菜單,,用戶通過點(diǎn)擊子菜單,可以得到系統(tǒng)相應(yīng)的消息回復(fù),,有文字消息,、網(wǎng)頁消息和圖文消息。菜單功能使得用戶對(duì)平臺(tái)的各種資源一目了然,,也實(shí)現(xiàn)了平臺(tái)對(duì)資源信息推廣的功能,。
(6)實(shí)時(shí)推送消息:只要用戶關(guān)注了本平臺(tái)就可定期接收來自平臺(tái)推送的消息,,讓用戶更及時(shí)地了解當(dāng)前實(shí)驗(yàn)室教學(xué)資源的實(shí)時(shí)信息,,也是真正意義上實(shí)施教學(xué)資源推廣的表現(xiàn)。
2數(shù)據(jù)庫的構(gòu)建
本系統(tǒng)采用新浪SAE中的MySQL,,在MySQL的管理頁面中集成的PhpMyAdmin里創(chuàng)建數(shù)據(jù)庫和數(shù)據(jù)表[3],。首先獲取數(shù)據(jù)庫連接的主機(jī)名、賬號(hào),、密碼,、端口,在SAE上運(yùn)行一下腳本,,獲取連接信息,。
得到了SAE的數(shù)據(jù)庫連接信息,就可以連接MySQL了,,使用SAE提供的常量名而不是上面打出來的信息,,因?yàn)榭赡苓@些信息會(huì)發(fā)生變化,連接SAE MySQL腳本如圖2所示,。
圖2連接SAE MySQL的腳本打開新浪SAE的管理后臺(tái)后,,進(jìn)入服務(wù)管理的MySQL模塊,在MySQL的管理頁面中集成的PhpMyAdmin里創(chuàng)建數(shù)據(jù)庫和數(shù)據(jù)表[4],如圖3所示,。
3系統(tǒng)實(shí)現(xiàn)的關(guān)鍵技術(shù)
3.1系統(tǒng)的準(zhǔn)備工作
SAE的注冊(cè)地址為:http://sea.sina.com.cn/m=dashboard,,創(chuàng)建新應(yīng)用頁面后,依次填寫二級(jí)域名(AppId),、應(yīng)用名稱,、驗(yàn)證碼,開發(fā)語言選擇PHP,,應(yīng)用類型選擇Web應(yīng)用后即可生成新的應(yīng)用,。進(jìn)入新應(yīng)用頁面的代碼管理頁面,顯示了應(yīng)用的鏈接,,此鏈接用于微信公眾平臺(tái)開發(fā)者中心的接口配置,;代碼管理模塊也是后期上傳代碼的地方。
3.2后臺(tái)的注冊(cè)
后臺(tái)的注冊(cè)即是申請(qǐng)微信公眾賬號(hào),。首先在網(wǎng)上搜索“微信公眾平臺(tái)”或者直接輸入網(wǎng)址“https://mp.weixin.qq.com/”進(jìn)入到微信公眾平臺(tái)界面,,點(diǎn)擊右上角的“立即注冊(cè)”跳轉(zhuǎn)到注冊(cè)界面,在注冊(cè)界面中填寫基本信息,、郵箱激活,、選擇類型、信息登記,、填寫公眾號(hào)信息,,就完成注冊(cè)了。
3.3開發(fā)者中心接口配置
在SAE的管理頁面中上傳簽名及接口驗(yàn)證代碼,,開發(fā)者通過檢驗(yàn)signnature和私有的checkSignature方法對(duì)請(qǐng)求進(jìn)行校驗(yàn),,進(jìn)入微信公眾平臺(tái)后臺(tái)的開發(fā)者中心頁面,填寫服務(wù)器的URL和Token[5],。
3.4手機(jī)端微信公眾平臺(tái)
3.4.1關(guān)注回復(fù)
在PHP語言中,,公有的responseMsg方法是微信回復(fù)的關(guān)鍵,用戶端發(fā)送的數(shù)據(jù)將保存到變量$postStr中[6],。將$postStr變量解析賦予變量$postObj,,simplexml_load_string()函數(shù)是PHP中的一個(gè)解析XML函數(shù)。為了實(shí)現(xiàn)關(guān)注回復(fù),,給$type賦予值event,,$customevent賦予值subscribe,,返回文本信息。其關(guān)鍵代碼如下:
public function responseMsg()
{
$postStr = $GLOBALS["HTTP_RAW_POST_DATA"];
//獲取微信用戶端發(fā)來的消息
if (!empty($postStr))//用戶端數(shù)據(jù)不為空
{
libxml_disable_entity_loader(true);
$postObj = simplexml_load_string($postStr, 'SimpleXMLElement', LIBXML_NOCDATA);
}}
3.4.2消息自動(dòng)回復(fù)
用戶端微信發(fā)來的文本內(nèi)容(關(guān)鍵詞)賦予變量$keyword,,根據(jù)不同的關(guān)鍵詞使用if語句來回復(fù)不同的文本,。另外,天氣咨詢的查詢調(diào)用了天氣預(yù)報(bào)接口,,用$placeobj,、$todayobj、$weatherobj,、$windobj,、$temobj變量來獲取城市、日期,、天氣,、風(fēng)力和溫度信息[7]。關(guān)鍵實(shí)現(xiàn)代碼如下:
if($type=="location")
{
$weatherurl="http://api.map.baidu.com/telematics/v2/weather?location={$longitude},{$latitude}&ak=1a3cde429f38434f1811a75e1a90310c";//天氣預(yù)報(bào)接口
$apistr=file_get_contents($weatherurl);
$apiobj=simplexml_load_string($apistr);
$placeobj=$apiobj->currentCity;//讀取城市
$todayobj=$apiobj->results->result[0]->date;//讀取星期
$weatherobj=$apiobj->results->result[0]->weather;
//讀取天氣
$windobj=$apiobj->results->result[0]->wind;//讀取風(fēng)力
$temobj=$apiobj->results->result[0]->temperature;
//讀取溫度
$contentStr ="{$placeobj}{$todayobj}天氣{$weatherobj},,風(fēng)力{$windobj},,溫度{$temobj}";
$msgType = "text";
$resultStr = sprintf($textTpl, $fromUsername, $toUsername, $time, $msgType, $contentStr);
echo $resultStr;
}
3.4.3圖片消息自動(dòng)回復(fù)
當(dāng)用戶端向微信公眾帳號(hào)發(fā)送圖片時(shí),系統(tǒng)的消息類型$type為image,,并且提供了圖片鏈接的保存地址,。
當(dāng)用戶發(fā)送位置圖片消息時(shí),系統(tǒng)的消息類型$type為location,,Location_X和Location_Y分別表示緯度和經(jīng)度,,通過$latitude和$longitude來獲取客戶發(fā)送的緯度和經(jīng)度信息,返回到用戶端的消息為天氣咨詢[8],。
3.4.4自定義菜單相應(yīng)回復(fù)
在接口調(diào)試工具中,,接口類型選擇自定義菜單,接口列表選擇自定義菜單創(chuàng)建接口/menu/creat,,access_token是上文中獲得的,,菜單的body是以POST的方式向微信服務(wù)器提交的,POST的數(shù)據(jù)為JSON格式數(shù)據(jù),,button為一級(jí)菜單,,sub_button為二級(jí)子菜單。若返回JSON數(shù)據(jù)包為{"errcode":0,"errmsg":"ok"},,表示菜單創(chuàng)建成功[8],。
菜單的事件推送分為click菜單型和view菜單型。click類型需要菜單key值,,用于消息接口推送,,變量Eventkey被賦予菜單body中的key值;view類型引用網(wǎng)頁鏈接,用戶點(diǎn)擊菜單可打開鏈接,。本平臺(tái)的菜單事件主要以圖文消息類型進(jìn)行響應(yīng),,圖文消息有單圖文消息和多圖文信息,當(dāng)用戶點(diǎn)擊子菜單時(shí),,系統(tǒng)就會(huì)響應(yīng)事件推送信息到用戶端,。
4系統(tǒng)實(shí)現(xiàn)
(1)系統(tǒng)通過整合實(shí)驗(yàn)教學(xué)資源,,利用PHP編程語言、新浪SAE服務(wù)器,,開發(fā)實(shí)現(xiàn)了消息自動(dòng)回復(fù),、關(guān)鍵字查詢、圖片消息回復(fù),、位置消息回復(fù),、自定義菜單創(chuàng)建等功能模塊,如圖4,、圖5所示,。
圖5位置消息回復(fù)界面(2)系統(tǒng)服務(wù)端實(shí)時(shí)監(jiān)聽平臺(tái)上新增的實(shí)驗(yàn)教學(xué)資源信息動(dòng)態(tài),以POST的方式向微信服務(wù)器提交推送指令,,事件主要以圖文消息類型進(jìn)行響應(yīng),,圖文消息有單圖文消息和多圖文信息,如圖6所示,。
?。?)系統(tǒng)實(shí)現(xiàn)師生交流互動(dòng)功能及學(xué)生關(guān)鍵詞咨詢的自動(dòng)回復(fù),輔以人工回復(fù),。
?。?)系統(tǒng)在微信公眾平臺(tái)后臺(tái)對(duì)用戶進(jìn)行分組管理,統(tǒng)計(jì)各項(xiàng)數(shù)據(jù)以及素材的管理,,實(shí)現(xiàn)學(xué)生訂閱用戶增長(zhǎng)統(tǒng)計(jì),、學(xué)生咨詢統(tǒng)計(jì)、學(xué)生專業(yè)分類統(tǒng)計(jì),、學(xué)生咨詢關(guān)鍵詞統(tǒng)計(jì)等功能,。
5結(jié)論
基于手機(jī)微信的實(shí)驗(yàn)教學(xué)資源推廣平臺(tái)可以提供文字、圖片,、視頻等豐富多樣的實(shí)驗(yàn)課程教學(xué)資源及其他教學(xué)資源鏈接,,全面滿足學(xué)生自助式學(xué)習(xí)的要求,實(shí)現(xiàn)師生交流互動(dòng)功能及學(xué)生關(guān)鍵詞咨詢的自動(dòng)回復(fù),。微信公眾平臺(tái)后臺(tái)可以對(duì)用戶進(jìn)行分組管理,,統(tǒng)計(jì)各項(xiàng)數(shù)據(jù)以及素材的管理,實(shí)現(xiàn)學(xué)生訂閱用戶增長(zhǎng)統(tǒng)計(jì)、學(xué)生咨詢統(tǒng)計(jì),、學(xué)生專業(yè)分類統(tǒng)計(jì),、學(xué)生咨詢關(guān)鍵詞統(tǒng)計(jì)等功能。兩者的結(jié)合使實(shí)驗(yàn)教學(xué)資源的推廣更加便捷,。
參考文獻(xiàn)
?。?] 孔云,廖寅,資蕓,等.基于微信公眾賬號(hào)的圖書館移動(dòng)信息服務(wù)研究[J].情報(bào)雜志,2013,32(9):167170,,198.
?。?] 謝新洲,安靜.微信的傳播特征及其社會(huì)影響[J].中國(guó)傳媒科技,2013(6): 2123.
[3] 陳夢(mèng)軼.微信公眾平臺(tái)的傳播學(xué)解讀[J].三明學(xué)院學(xué)報(bào),2014,,31(1):7680.
?。?] 白浩,郝晶晶.微信公眾平臺(tái)在高校教育領(lǐng)域中的應(yīng)用研究[J].中國(guó)教育信息化(基礎(chǔ)教育),2013(2):7881.
[5] HILSEN I A, HELVIK T.The construction of self in social medias, such as facebook[J].Ai & Society,2014,29(1):310.
?。?] 王勇,李懷蒼.國(guó)內(nèi)微信的本體功能及其應(yīng)用研究綜述[J].昆明理工大學(xué)學(xué)報(bào)(社會(huì)科學(xué)版),2014,14(2):100108.
?。?] 鞠文飛.利用微信公眾平臺(tái)構(gòu)建移動(dòng)設(shè)備教學(xué)輔導(dǎo)環(huán)境[J].電腦編程技巧與維護(hù),2013(12):139141.
[8] 朱小燕,安容宇.淺談PHP語言在網(wǎng)站后臺(tái)建設(shè)中的優(yōu)勢(shì)[J].電子制作,2013(9):100.