楊 帆,沈來(lái)信,2
(1.黃山學(xué)院 信息工程學(xué)院,安徽 黃山 245041;2.同濟(jì)大學(xué) 電子與信息工程學(xué)院,上海 201804)
基于SS2H的微信公眾平臺(tái)賬號(hào)設(shè)計(jì)
楊 帆1,沈來(lái)信1,2
(1.黃山學(xué)院 信息工程學(xué)院,安徽 黃山 245041;2.同濟(jì)大學(xué) 電子與信息工程學(xué)院,上海 201804)
微信公眾平臺(tái)具有良好的信息發(fā)布接口,提供了友好的交互界面。開(kāi)發(fā)者可以使用XML與微信服務(wù)器進(jìn)行數(shù)據(jù)傳輸,調(diào)用第三方接口JSON和網(wǎng)絡(luò)數(shù)據(jù)抓取技術(shù)提供給微信關(guān)注者許多實(shí)用的功能,用戶可以通過(guò)導(dǎo)航查詢相關(guān)信息。系統(tǒng)基于SS2H框架搭建,采用標(biāo)準(zhǔn)的MVC設(shè)計(jì)模式,其中Spring實(shí)現(xiàn)業(yè)務(wù)層,用于處理復(fù)雜的業(yè)務(wù)邏輯。Struts2作為控制層,管理所有的網(wǎng)絡(luò)請(qǐng)求和功能實(shí)現(xiàn)。Hibernate為持久化層,用來(lái)控制和管理數(shù)據(jù)。系統(tǒng)提供天氣查詢、快遞查詢、音樂(lè)搜索、歷史上的今天查詢、電影查詢等功能。隨著微信接口的不斷完善和個(gè)性化定制功能的增加,微信平臺(tái)的應(yīng)用會(huì)逐漸普及。
微信;第三方接口;SS2H;MVC;數(shù)據(jù)抓取
隨著微信用戶量的日益增加,基于微信平臺(tái)的開(kāi)發(fā)具有一定的意義和市場(chǎng)價(jià)值[1-2]。一個(gè)優(yōu)秀的微信公眾賬號(hào)可以有效地推廣企業(yè)文化,為用戶提供實(shí)用而便捷的功能。微信提供給開(kāi)發(fā)者的規(guī)范和接口越來(lái)越多,如數(shù)據(jù)統(tǒng)計(jì)接口、微信小店接口、微信卡券接口等,通過(guò)實(shí)現(xiàn)這些接口就可以實(shí)現(xiàn)相應(yīng)的功能。開(kāi)發(fā)者只需要遵循相應(yīng)接口規(guī)范,通過(guò)簡(jiǎn)單代碼調(diào)用這些接口,就能完成很多復(fù)雜而實(shí)用的功能。
微信公眾賬號(hào)實(shí)質(zhì)上是一種集成跨平臺(tái)應(yīng)用開(kāi)發(fā)[3-4],一個(gè)微信公眾賬號(hào)可以集成很多實(shí)用的功能,并且這種開(kāi)發(fā)不需要考慮平臺(tái)的不同。用戶只要安裝了微信,就可以通過(guò)關(guān)注賬號(hào)來(lái)獲取請(qǐng)求,微信公眾賬號(hào)可以為用戶提供很多實(shí)用的功能。
網(wǎng)頁(yè)數(shù)據(jù)抓取是通過(guò)某種方式去網(wǎng)頁(yè)上抓取需要的數(shù)據(jù)。網(wǎng)頁(yè)數(shù)據(jù)抓取技術(shù)分為兩種,一種是模擬登陸,通過(guò)模擬登陸系統(tǒng)獲取返回的數(shù)據(jù),例如某些需要登陸之后才能訪問(wèn)的信息,這個(gè)時(shí)候就得使用模擬登陸方式。還有一種是URL模擬登陸,修改URL參數(shù)然后登陸就可以獲取返回的數(shù)據(jù)。不同的情況需要使用不同的正則表達(dá)式去提取。
例如電影查詢功能,要想獲得豆瓣電影排行榜,獲取URL,對(duì)其進(jìn)行修改,然后向服務(wù)器進(jìn)行模擬提交,服務(wù)器就會(huì)返回結(jié)果網(wǎng)頁(yè),把網(wǎng)頁(yè)上面的所有元素通過(guò)IO流的形式轉(zhuǎn)換成字符串,通過(guò)兩次正則表達(dá)式做提取,通過(guò)第一次正則式篩選掉不需要的信息,第二次正則式在篩選后的信息里面做精細(xì)提取,獲取最終結(jié)果。
微信公眾賬號(hào)分為服務(wù)號(hào)、訂閱號(hào)、企業(yè)號(hào)。不同類型的公眾賬號(hào)具備不同的功能權(quán)限,訂閱號(hào)更適合于傳播信息,為用戶提供信息支持,每天都可以群發(fā)一條信息。服務(wù)號(hào)與企業(yè)號(hào)則適合更加復(fù)雜的功能,可以為用戶提供更多實(shí)用的功能。文中系統(tǒng)基于服務(wù)號(hào),使用微信服務(wù)器提供的接口,實(shí)現(xiàn)實(shí)用而復(fù)雜的功能,為用戶提供方便。
SS2H架構(gòu)中主要采用了MVC(Model,View,Controller)設(shè)計(jì)模式[5-8]。其中,Model負(fù)責(zé)數(shù)據(jù)模型,包括表的建設(shè),分兩層:一層是數(shù)據(jù)實(shí)體Bean,即每個(gè)表對(duì)應(yīng)一個(gè)類(表名對(duì)應(yīng)類名,表字段對(duì)應(yīng)類屬性等);第二層是數(shù)據(jù)實(shí)體的操作,包括add、delete和modify等,就是對(duì)表的記錄的管理。然后View層就是JSP頁(yè)面,負(fù)責(zé)前臺(tái)頁(yè)面的顯示,所有動(dòng)態(tài)內(nèi)容都是從數(shù)據(jù)庫(kù)表中讀取。Controller是控制層,負(fù)責(zé)接收后臺(tái)管理的修改請(qǐng)求,然后調(diào)用model的第二層對(duì)數(shù)據(jù)庫(kù)進(jìn)行修改。
張宏等[9]通過(guò)對(duì)微信的網(wǎng)絡(luò)結(jié)構(gòu)、拓?fù)浣Y(jié)構(gòu)進(jìn)行分析,總結(jié)了微信平臺(tái)的無(wú)標(biāo)度和小世界性質(zhì)。邵洪雨[10]對(duì)短文本聚類方法進(jìn)行了研究,采用加窗方式,對(duì)窗口內(nèi)短文本采用層次聚類方法進(jìn)行聚類,得到微簇,并采用PageRank排序算法對(duì)類簇中的信息進(jìn)行排序。Feng Puchao[11]結(jié)合四種微博,提出中文微博主題模型,挖掘用戶與主題之間的關(guān)系、熱門話題下的主題,并使用Gibbs抽樣技術(shù)對(duì)模型進(jìn)行求解。劉闖[12]利用圖像識(shí)別技術(shù)的iOS人臉識(shí)別系統(tǒng),使用Eigenfaces、Fisherfaces方法和LBPH方法,在ORL和Yale人臉庫(kù)上進(jìn)行了對(duì)比實(shí)驗(yàn)。劉曉智等對(duì)微信平臺(tái)編輯、公眾賬戶開(kāi)發(fā)和云平臺(tái)建設(shè)進(jìn)行了探討[13-15]。徐雅斌等[16]利用微博用戶之間的相關(guān)性,使用邏輯回歸模型對(duì)用戶進(jìn)行打分排序,提供個(gè)性化用戶推薦等。周小平等[17]以關(guān)系為網(wǎng)絡(luò)節(jié)點(diǎn),以關(guān)注關(guān)系之間是否有共同用戶為邊,構(gòu)建R-C模型,探討微博用戶社區(qū)發(fā)現(xiàn)的方法。孫怡帆等[18]提出基于共同關(guān)注和共同粉絲的微博用戶相似度,定義其模塊化函數(shù),得到社區(qū)發(fā)現(xiàn)方法。陳羽中等[19]提出基于老化理論的詞生命值計(jì)算模型用于熱詞抽取,并基于熱詞間的相關(guān)性構(gòu)建貢獻(xiàn)網(wǎng)絡(luò),設(shè)計(jì)多標(biāo)簽傳播聚類算法用于詞貢獻(xiàn)網(wǎng)絡(luò)的熱詞聚類,獲得熱點(diǎn)話題集。
利用智能手機(jī)的攝像功能,可以有效獲取人臉圖像,借助人臉識(shí)別接口,可以有效實(shí)現(xiàn)人臉識(shí)別功能。借助微信平臺(tái),方便了企業(yè)的公眾賬戶宣傳與信息發(fā)布,用戶還可以獲取一些服務(wù)網(wǎng)站的推薦信息,如電影信息、物流信息、天氣信息、四六級(jí)信息、銷售信息、餐飲信息和特定公眾號(hào)信息等。
要接入微信公眾平臺(tái),首先要對(duì)接微信服務(wù)器。需要完成以下三個(gè)步驟:
(1)登陸微信公眾平臺(tái)官網(wǎng),在管理頁(yè)面進(jìn)行數(shù)據(jù)配置填寫。需要填寫服務(wù)器URL(對(duì)接用戶的項(xiàng)目)、Token(校驗(yàn)碼)和EncodingAESKey(控制消息的加密與解密)。
(2)驗(yàn)證服務(wù)器有效性,在對(duì)接服務(wù)器時(shí),微信服務(wù)器每次都會(huì)先進(jìn)行有效性校驗(yàn),通過(guò)校驗(yàn)后才會(huì)發(fā)送請(qǐng)求。微信平臺(tái)以GET方式向填寫的URL發(fā)送請(qǐng)求。
(3)驗(yàn)證URL有效性成功后即接入生效,成為開(kāi)發(fā)者。可以在公眾平臺(tái)中申請(qǐng)認(rèn)證,認(rèn)證成功的服務(wù)號(hào)將獲得許多接口權(quán)限。此后用戶每次向公眾號(hào)發(fā)送消息或者產(chǎn)生自定義菜單點(diǎn)擊事件時(shí),開(kāi)發(fā)者填寫的服務(wù)器配置URL將得到微信服務(wù)器推送過(guò)來(lái)的消息和事件,然后開(kāi)發(fā)者可以依據(jù)自身業(yè)務(wù)邏輯進(jìn)行響應(yīng),例如回復(fù)消息等。
系統(tǒng)數(shù)據(jù)處理流程如下:微信客戶端輸入數(shù)據(jù),通過(guò)網(wǎng)絡(luò)傳輸給微信平臺(tái),微信平臺(tái)接收數(shù)據(jù)。再通過(guò)網(wǎng)絡(luò)將數(shù)據(jù)傳輸給另外的服務(wù)器,這個(gè)服務(wù)器架設(shè)了用戶的系統(tǒng)代碼。用戶系統(tǒng)接收到數(shù)據(jù)之后,會(huì)對(duì)數(shù)據(jù)進(jìn)行不同的業(yè)務(wù)處理,在處理的過(guò)程中會(huì)通過(guò)網(wǎng)絡(luò)獲取需要的數(shù)據(jù)(第三方接口或者網(wǎng)絡(luò)數(shù)據(jù)抓取),將這些數(shù)據(jù)進(jìn)行整合處理,最后返回給用戶,處理流程見(jiàn)圖1。
該系統(tǒng)一共包含七個(gè)功能模塊,分別為歷史上的今天查詢模塊、電影查詢模塊、智能翻譯模塊、人臉識(shí)別模塊、快遞查詢模塊、音樂(lè)搜索模塊和天氣預(yù)報(bào)模塊,見(jiàn)圖2。

圖1 數(shù)據(jù)處理流程圖

圖2 系統(tǒng)功能模塊圖
(1)微信服務(wù)器對(duì)接:用戶提交接口配置信息后,服務(wù)器會(huì)將四個(gè)參數(shù)(微信簽名signature,時(shí)間戳timestamp,隨機(jī)數(shù)nonce,隨機(jī)字符echostr)傳輸給用戶。
根據(jù)加密流程,第一步是字典排序,第二步為拼接字符串,第三步為sha1加密,第四步則跟signature對(duì)比,通過(guò)三目運(yùn)算來(lái)判斷,如果一致則返回這個(gè)字符串,否則返回false。主要算法過(guò)程如下:
Public static boolean checkSigna (
Signa,timestamp,nonce){
para={token,timestamp,nonce};
arrays.sort (para);
content=para[0].concat(para[1],concat[2]);
try{MD=MessageDigest.getInstance(sha1);
digest=MD.digest(content.getBytes());
cipher=byteToStr(digest);
} catch(NoSuchAlgorithmException){}
Retrun cipher!=null?cipher.equal(signa):false;
}
(2)電影查詢功能實(shí)現(xiàn)。
①通過(guò)HttpURLConnection方式與URL建立連接,httpUrlConn.getInputStream()可以返回一個(gè)包含了頁(yè)面數(shù)據(jù)的輸入流,通過(guò)字符緩沖輸出流的形式轉(zhuǎn)成字符串。
②使用正則式提取信息:在接收到的輸出流中提取電影名稱。提取算法如下:
Pattern pattern=Pattern.compile(“
()(.{0,5})(class=)(.{0,3})(title)
(.{0,5})(>)([u4E00-uqFA5]{2,20})”);
Matcher m=pattern.matcher(sb.toString());
While (m.find()){
sb2.append(m.group()).append(“ ”);
}
String str=sb2.toString().replace(“span
Class=”title”>”, “ ””);
String[] strArr=strMessage.split(“ ”);
③提取電影圖片URL的正則式:頁(yè)面元素較復(fù)雜,需要采取兩次正則式的形式提取所需要的數(shù)據(jù)。提取后把無(wú)關(guān)元素轉(zhuǎn)換成空字符串,然后保存到圖片URL數(shù)組,提取算法如下:
m2=pat2.matcher(sb.toString());
while (m2.find()){
sbP.append(m2.group().append(“ ”));
}
buf3=new StringBuffer();
pat3=Pattern.compile(“(src=)(.{0,200})(class)”);
ma3=pat3.matcher(sbP.toString());
while (m3.find()) { buf3.append (m3.group()).append(“ ”);
}
Sp=buf3.toString().replace(“src=””,””).replace(“class”,””).replace(“”,””);
pic=sp.split(“ ”);
其他如使用正則式提取跳轉(zhuǎn)頁(yè)面的URL、抓取元素存儲(chǔ)到數(shù)據(jù)庫(kù)中、數(shù)據(jù)存儲(chǔ)的定時(shí)器設(shè)置以及查詢電影功能返回給用戶的圖文格式等都不再一一敘述。
(3)與服務(wù)器的數(shù)據(jù)傳遞實(shí)現(xiàn)。
①解析Xml請(qǐng)求:使用dom4j解析XML。從request里面獲取帶有參數(shù)的輸入流,從中先提取根節(jié)點(diǎn),再通過(guò)遍歷的方式提取子節(jié)點(diǎn)。最后把這些數(shù)據(jù)存入map集合,可以通過(guò)key來(lái)取value,解析算法如下:
Public static Map
map=new HashMap.getInputStream();
Try{ in=request.getInputStream();
SAXReader sr=new SAXReader();
Document dm=sr.read(in);
root=document.getRootElement();
elements=root.elements();
for (Element e: elements){
map.put(e.getName(),e,getText());
}
In.close(); in=null;
}catch(Exception el){}
}
②組裝XML:與微信服務(wù)器的交換全部采用XML的方式,組裝XML采用Xstream。需要重寫writeText()方法,方法如下:
Private static XStream xS=new XStream(new XppDriver(){
Public HierarchicalStreamWriter createWriter (Writer out){
retrun new PrettyPrintWriter(out){
boolean cdata=true;
public void startNode(String name, Class clazz){super.startNode(name,clazz);}
protected void writeText(QuickWriter writer, String text){
if(cdata){
writer.writer(“
writer.writer(text);
writer.writer(“)]>”);
else{ writer.writer(text);}
}};
};
});
(4)人臉識(shí)別功能實(shí)現(xiàn)。
通過(guò)調(diào)用Face++提供的人臉識(shí)別接口,傳輸相對(duì)應(yīng)的數(shù)據(jù)模型。通過(guò)接口的業(yè)務(wù)處理,返回處理后的數(shù)據(jù)模型,雙方數(shù)據(jù)交換采用Json格式。獲取接口返回的數(shù)據(jù)之后,需要解析Json然后重組成Xml的格式發(fā)送給微信服務(wù)器,微信服務(wù)器再轉(zhuǎn)發(fā)給用戶,見(jiàn)圖3。

圖3 人臉識(shí)別功能設(shè)計(jì)流程圖
①首先得注冊(cè)一個(gè)開(kāi)發(fā)者用戶,然后獲取對(duì)應(yīng)的API key和API secret。通過(guò)key和secret就可以調(diào)用Face++提供的接口,調(diào)用方式采用http的方式。
②封裝與接口傳輸?shù)腇ace實(shí)體:當(dāng)調(diào)用接口成功時(shí),該實(shí)體返回給用戶,屬性如下:
Public class face implements Comparable
private String faceId; //ID
private int ageValue; //年齡估計(jì)值
private int ageRange; //年齡區(qū)間
private String genderValue; //性別
private double genderConfidence;//可信度
private String raceValue; //人種
private double raceConfidence;//可信度
private double smilingValue;//微笑程度
private double centerX;//人臉框中心X
private double center; //人臉框中心Y
}
③組裝請(qǐng)求接口地址:當(dāng)調(diào)用Face++提供的接口,圖片可以直接上傳微信發(fā)送的URL,F(xiàn)ace++服務(wù)器會(huì)直接從URL中提取資源。上傳的URL地址需要編碼成UTF-8,避免亂碼:
String queryUrl=”http://apicn.faceplusplus.com/v2/detection/detect?url=URL&api_secret=API_SECRET&api_key=API_KEY”;
queryUrl=queryUrl.replace(“URL”,java.net.URLEncoder.encode(picUrl,”UTF-8”));
queryUrl=queryurl.replace(“API_KEY”,
“fab603c6710311ac8347dfc1b8eef6a6”);
queryUrl=queryurl.replace(“API_SECRET”,
“2bc0cuvfuFURw50rc17izUBaEpMtN04”);
④接口數(shù)據(jù)解析:需要將接收到的Json格式數(shù)據(jù)轉(zhuǎn)換成JSONArray,遍歷這個(gè)數(shù)組從中提取單個(gè)實(shí)體對(duì)象。把這些數(shù)據(jù)全部傳給Face交互對(duì)象中,放到List中并排序。得到faceList數(shù)據(jù)源:
String json=httpRequest(queryUrl);
Jsona=JSONObject.fromObject(json).getJSONArray(“face”);
For (int i=0; i faceo=jsona.get(i); attro=faceo.getJSONObject(“attribute”); poso=faceObject.getJSONObject(“position”); Face face=new Face(); Face.setFaceId(faceO.getString(“face_id”)); face.setAgeValue(attro.getJSONObject(“age”).getInt(“value”)); face.setAgeRange(attro.getJSONObject(“age”).getInt(“range”)); face.setGenderValue(attro.getJSONObject(“gender”).getString(“value”)); face.setGenderConfidence(attro.getJSONObject(“gender”).getString(“confidence”)); face.setRaceValue(attro.getJSONObject(“race”).getString(“value”)); face.setRaceConfidence(attro.getJSONObject(“race”).getString(“configence”)); face.setSmilingValue(attro.getJSONObject(“smiling”).getString(“value”)); face.setCenterX(poso.getJSONObject(“center”).getDouble(“x”)); face.setCenterY(poso.getJSONObject(“center”).getDouble(“y”)); faceList.add(face);} Collections.sort(faceList); ⑤中英文轉(zhuǎn)換:接口返回的數(shù)據(jù)信息都是英文的,需要進(jìn)行調(diào)整。如性別轉(zhuǎn)換(Male轉(zhuǎn)換成男性,F(xiàn)emale轉(zhuǎn)換成女性)、人種信息轉(zhuǎn)換等。然后對(duì)這些信息重組,返回給微信服務(wù)器,轉(zhuǎn)換算法如下: private static String genderConvert (String gender){ String result=“男性”; if (“Male”.equals(gender)) result=“男性”; else if (“Female”.equals(gender)) result=“女性”; retrun result; } 其他功能如天氣查詢、快遞查詢、歷史上的今天查詢、智能翻譯、音樂(lè)搜索等的實(shí)現(xiàn),不再一一敘述。 當(dāng)用戶觸發(fā)“電影查詢”按鈕的時(shí)候會(huì)彈出消息提示,提示用戶如何操作。系統(tǒng)自動(dòng)返回豆瓣電影排行榜,當(dāng)點(diǎn)擊某個(gè)影片時(shí),會(huì)顯示其詳細(xì)內(nèi)容介紹,點(diǎn)擊觀看時(shí)會(huì)自動(dòng)跳轉(zhuǎn)到電影播放地址,見(jiàn)圖4。 圖4 電影查詢界面 使用MVC設(shè)計(jì)模式時(shí),View視圖層主要用來(lái)跟微信平臺(tái)進(jìn)行對(duì)接和數(shù)據(jù)通訊;Controller控制層實(shí)現(xiàn)了功能模塊核心細(xì)線,如調(diào)用第三方接口完成數(shù)據(jù)通訊、網(wǎng)頁(yè)數(shù)據(jù)抓取等;Model模型曾主要負(fù)責(zé)數(shù)據(jù)實(shí)體的管理與維護(hù)。通過(guò)Hibernate框架來(lái)管理數(shù)據(jù),控制數(shù)據(jù)的增刪改查。保存的時(shí)候Hibernate會(huì)將游離的對(duì)象轉(zhuǎn)換成持久化對(duì)象,刪除的時(shí)候會(huì)將持久化對(duì)象轉(zhuǎn)換成游離的對(duì)象,通過(guò)對(duì)對(duì)象的狀態(tài)修改來(lái)控制數(shù)據(jù)的變化等。 集成應(yīng)用會(huì)越來(lái)越廣泛地使用到,集成應(yīng)用不需要安裝一個(gè)個(gè)應(yīng)用軟件,只需按照網(wǎng)絡(luò)程序提供的接口規(guī)范,繼承其接口生成一個(gè)實(shí)例,就可以使用到該程序的功能,達(dá)到快速實(shí)現(xiàn)的目的。一個(gè)微信公眾賬號(hào),支持所有的設(shè)備,不管是IOS還是安卓系統(tǒng),使用效果 是一樣的。微信服務(wù)器提供了這種跨平臺(tái)的公共平 臺(tái),用戶可以借助微信平臺(tái)開(kāi)發(fā)出很多跨平臺(tái)的應(yīng)用。 [1] 鐘志勇,何威俊,馮煜博.微信公眾平臺(tái)應(yīng)用開(kāi)發(fā)實(shí)戰(zhàn)[M].第2版.北京:機(jī)械工業(yè)出版社,2014. [2] 柳 峰.微信公眾平臺(tái)應(yīng)用開(kāi)發(fā):方法、技巧與案例[M].北京:機(jī)械工業(yè)出版社,2014. [3] 易 偉.微信公眾平臺(tái)服務(wù)號(hào)開(kāi)發(fā):揭秘九大高級(jí)接口[M].北京:機(jī)械工業(yè)出版社,2014. [4] 劉 捷.微信公眾平臺(tái)企業(yè)應(yīng)用開(kāi)發(fā)實(shí)戰(zhàn)[M].北京:電子工業(yè)出版社,2015. [5] 王 瑾.基于SSH框架下的校園網(wǎng)上交易平臺(tái)[D].成都:電子科技大學(xué),2014. [6] 師溫馨.基于SSH框架的電子商務(wù)購(gòu)物網(wǎng)站的研究與設(shè)計(jì)[J].電子測(cè)試,2014(8):10-12. [7] 張曉孿.基于SSH的團(tuán)購(gòu)網(wǎng)站的設(shè)計(jì)與實(shí)現(xiàn)[J].電子設(shè)計(jì)工程,2012,20(21):122-125. [8] 米奕杭.基于SSH框架的網(wǎng)絡(luò)購(gòu)物電子商務(wù)平臺(tái)的設(shè)計(jì)與實(shí)現(xiàn)[D].成都:四川師范大學(xué),2010. [9] 張 宏,李 杰.復(fù)雜網(wǎng)絡(luò)的微信網(wǎng)絡(luò)信息傳播研究[J].科學(xué)技術(shù)與工程,2014,14(17):244-247. [10] 邵洪雨.短文本聚類及聚類結(jié)果描述方法研究[D].大連:大連理工大學(xué),2014. [11] Feng Puchao.Topic mining for Chinese microblog based on CMB-LDA model[D].Hangzhou:Zhejiang University,2014. [12] 劉 闖.基于人臉識(shí)別的iOS應(yīng)用研究[D].大連:大連理工大學(xué),2014. [13] 劉曉智,胡 燏.淺析微信公眾平臺(tái)下編輯模式與開(kāi)發(fā)模式的異同[J].計(jì)算機(jī)光盤軟件與應(yīng)用,2014,17(11):98-98. [14] 仲 媛,涂慶華.淺談高校微信公眾賬號(hào)[J].計(jì)算機(jī)光盤軟件與應(yīng)用,2014,17(13):219-220. [15] 孫 紅.基于微信的校園信息云平臺(tái)建設(shè)研究[J].計(jì)算機(jī)光盤軟件與應(yīng)用,2014,17(11):225-226. [16] 徐雅斌,石偉杰.微博用戶推薦模型的研究[J].電子科技大學(xué)學(xué)報(bào),2015,44(2):254-259. [17] 周小平,梁 循,張海燕.基于R-C模型的微博用戶社區(qū)發(fā)現(xiàn)[J].軟件學(xué)報(bào),2014,25(12):2808-2823. [18] 孫怡帆,李 賽.基于相似度的微博社區(qū)網(wǎng)絡(luò)的社區(qū)發(fā)現(xiàn)方法[J].計(jì)算機(jī)研究與發(fā)展,2014,51(12):2797-2807. [19] 陳羽中,方明月,郭文忠.面向微博熱點(diǎn)話題發(fā)現(xiàn)的多標(biāo)簽傳播聚類方法研究[J].模式識(shí)別與人工智能,2015,28(1):1-10. Design of WeChat Public Platform Account Based on SS2H YANG Fan1,SHEN Lai-xin1,2 (1.School of Information Engineering,Huangshan University,Huangshan 245041,China;2.School of Electronics and Information Engineering,Tongji University,Shanghai 201804,China) WeChat public platform has good information publishing connector,and provides friendly interactive interface.The developers can use XML to transfer data with WeChat server,and provides followers many practical functions by using third interfaces JSON and network data capture technology,and users can query information through navigation.The system is constructed based on SS2H framework,which adopts standard MVC design pattern.Spring layer deals with complex business logic.As a control layer,Struts2 manages all network request and function realization.Hibernate layer as object persistence is used to control and manage the data.The system can provide many query functions such as weather,express,music,today in history,movies and so on.With the complete of WeChat connector and improvement of personalized function,applications based on WeChat platform will gradually popularize. WeChat;third interface;SS2H;MVC;data capture 2015-04-28 2015-08-03 時(shí)間:2016-01-04 文化部科技創(chuàng)新項(xiàng)目(WHBKJCXXM20142554);文物局文化保護(hù)和技術(shù)研究課題(2013-YB-SQ-175);國(guó)家級(jí)大學(xué)生創(chuàng)新訓(xùn)練計(jì)劃項(xiàng)目(201310375022);省級(jí)大學(xué)生創(chuàng)新訓(xùn)練計(jì)劃項(xiàng)目(AH2014103753135,AH2014103753136);黃山學(xué)院校級(jí)科研項(xiàng)目(2015 xhwh012) 楊 帆(1980-),女,碩士,講師,CCF會(huì)員,研究方向?yàn)閿?shù)據(jù)挖掘與軟件工程;沈來(lái)信,博士,副教授,CCF會(huì)員,研究方向?yàn)樵朴?jì)算與大數(shù)據(jù)。 http://www.cnki.net/kcms/detail/61.1450.TP.20160104.1453.018.html TP39 A 1673-629X(2016)01-0195-05 10.3969/j.issn.1673-629X.2016.01.0425 系統(tǒng)運(yùn)行效果

6 結(jié)束語(yǔ)