鄭萬(wàn)挺,胡震寰,白寶鋼
?。刂葆t(yī)科大學(xué) 信息與工程學(xué)院,浙江 溫州 325035)
摘要:隨著Internet和網(wǎng)絡(luò)技術(shù)的發(fā)展與應(yīng)用,教育技術(shù)和方法也進(jìn)入了一個(gè)新的發(fā)展階段,出現(xiàn)了數(shù)字化教學(xué)資源平臺(tái)?;?a class="innerlink" href="http://ihrv.cn/tags/微信公眾平臺(tái)" title="微信公眾平臺(tái)" target="_blank">微信公眾平臺(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)特定群體的文字、圖片、語(yǔ)音的全方位溝通,還可以設(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),編程語(yǔ)言為PHP語(yǔ)言,服務(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ù)庫(kù)搭建技術(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)客戶端主要包含以下功能模塊:
?。?)關(guān)注回復(fù):用戶登錄微信后,在“添加朋友”里輸入本教學(xué)資源平臺(tái)的公眾號(hào)或微信號(hào),輸入正確就可以搜圖3創(chuàng)建數(shù)據(jù)庫(kù)和數(shù)據(jù)表到該平臺(tái),添加關(guān)注后,用戶就可以收到一條自動(dòng)回復(fù)消息,表示已經(jīng)成功關(guān)注了該平臺(tái),可以正常使用該平臺(tái)上的功能以及接收來自平臺(tái)的資源信息。
(2)消息自動(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)的人性化。
?。?)位置天氣查詢:當(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ù)。
?。?)自定義菜單響應(yīng)回復(fù):在平臺(tái)界面的最下方有3個(gè)菜單欄,每個(gè)菜單欄下有子菜單,用戶通過點(diǎn)擊子菜單,可以得到系統(tǒng)相應(yīng)的消息回復(fù),有文字消息、網(wǎng)頁(yè)消息和圖文消息。菜單功能使得用戶對(duì)平臺(tái)的各種資源一目了然,也實(shí)現(xiàn)了平臺(tái)對(duì)資源信息推廣的功能。
?。?)實(shí)時(shí)推送消息:只要用戶關(guān)注了本平臺(tái)就可定期接收來自平臺(tái)推送的消息,讓用戶更及時(shí)地了解當(dāng)前實(shí)驗(yàn)室教學(xué)資源的實(shí)時(shí)信息,也是真正意義上實(shí)施教學(xué)資源推廣的表現(xiàn)。
2數(shù)據(jù)庫(kù)的構(gòu)建
本系統(tǒng)采用新浪SAE中的MySQL,在MySQL的管理頁(yè)面中集成的PhpMyAdmin里創(chuàng)建數(shù)據(jù)庫(kù)和數(shù)據(jù)表[3]。首先獲取數(shù)據(jù)庫(kù)連接的主機(jī)名、賬號(hào)、密碼、端口,在SAE上運(yùn)行一下腳本,獲取連接信息。
得到了SAE的數(shù)據(jù)庫(kù)連接信息,就可以連接MySQL了,使用SAE提供的常量名而不是上面打出來的信息,因?yàn)榭赡苓@些信息會(huì)發(fā)生變化,連接SAE MySQL腳本如圖2所示。
圖2連接SAE MySQL的腳本打開新浪SAE的管理后臺(tái)后,進(jìn)入服務(wù)管理的MySQL模塊,在MySQL的管理頁(yè)面中集成的PhpMyAdmin里創(chuàng)建數(shù)據(jù)庫(kù)和數(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)用頁(yè)面后,依次填寫二級(jí)域名(AppId)、應(yīng)用名稱、驗(yàn)證碼,開發(fā)語(yǔ)言選擇PHP,應(yīng)用類型選擇Web應(yīng)用后即可生成新的應(yīng)用。進(jìn)入新應(yīng)用頁(yè)面的代碼管理頁(yè)面,顯示了應(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è)面中上傳簽名及接口驗(yàn)證代碼,開發(fā)者通過檢驗(yàn)signnature和私有的checkSignature方法對(duì)請(qǐng)求進(jìn)行校驗(yàn),進(jìn)入微信公眾平臺(tái)后臺(tái)的開發(fā)者中心頁(yè)面,填寫服務(wù)器的URL和Token[5]。
3.4手機(jī)端微信公眾平臺(tái)
3.4.1關(guān)注回復(fù)
在PHP語(yǔ)言中,公有的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語(yǔ)句來回復(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)頁(yè)鏈接,用戶點(diǎn)擊菜單可打開鏈接。本平臺(tái)的菜單事件主要以圖文消息類型進(jìn)行響應(yīng),圖文消息有單圖文消息和多圖文信息,當(dāng)用戶點(diǎn)擊子菜單時(shí),系統(tǒng)就會(huì)響應(yīng)事件推送信息到用戶端。
4系統(tǒng)實(shí)現(xiàn)
?。?)系統(tǒng)通過整合實(shí)驗(yàn)教學(xué)資源,利用PHP編程語(yǔ)言、新浪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ù)。
(4)系統(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.
?。?] 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.
?。?] 朱小燕,安容宇.淺談PHP語(yǔ)言在網(wǎng)站后臺(tái)建設(shè)中的優(yōu)勢(shì)[J].電子制作,2013(9):100.