倪隆隆,沈 豪,羅 靜,陳 緣
(浙江工商大學(xué),浙江杭州,310018)
基于微信平臺(tái)的教室人數(shù)查詢功能設(shè)計(jì)
倪隆隆,沈 豪,羅 靜,陳 緣
(浙江工商大學(xué),浙江杭州,310018)
本文針對(duì)現(xiàn)有基于網(wǎng)頁的信息發(fā)布平臺(tái)很難做到信息發(fā)布實(shí)時(shí)性的問題,提出了一個(gè)基于當(dāng)下流行的微信平臺(tái)教室人數(shù)查詢系統(tǒng)。該系統(tǒng)利用移動(dòng)互聯(lián)網(wǎng)新技術(shù),可以有效提高信息發(fā)布平臺(tái)的實(shí)時(shí)性和實(shí)用性。
微信公眾平臺(tái);信息查詢系統(tǒng);教室座位
隨著網(wǎng)絡(luò)的普及,目前大多數(shù)高校都已經(jīng)建立了各類基于Windows系統(tǒng)和網(wǎng)頁的校園信息查詢系統(tǒng),例如教務(wù)管理平臺(tái)以及圖書館借還書系統(tǒng)。但這類系統(tǒng)存在著信息發(fā)布不及時(shí)以及服務(wù)器流量受限等問題,而信息的實(shí)時(shí)性是教室人數(shù)查詢系統(tǒng)所必須的。近幾年,隨著移動(dòng)互聯(lián)網(wǎng)以及智能移動(dòng)終端的迅猛發(fā)展,各種新的信息發(fā)布平臺(tái)也日趨成熟??紤]到分別開發(fā)現(xiàn)在流行的安卓、IOS和WP版本的移動(dòng)APP成本過高,而且后期維護(hù)也比較繁瑣,本文因此選擇了微信的公眾平臺(tái)作為該系統(tǒng)的基礎(chǔ)。
與其他平臺(tái)相比,微信有著不少先天的優(yōu)點(diǎn)。首先,微信作為騰訊的一款社交軟件,如今已經(jīng)基本代替了QQ,成為了大眾日常必需的一個(gè)社交軟件。其次,該軟件對(duì)用戶完全免費(fèi),因此基于微信的信息發(fā)布平臺(tái)很容易得到推廣。對(duì)于開發(fā)者來說,微信的公眾平臺(tái)是騰訊公司在微信的基礎(chǔ)上新增的功能模塊,可以實(shí)現(xiàn)與特定群體的文字、圖片和語音的全方位互動(dòng)。且平臺(tái)的升級(jí)維護(hù)工作都由騰訊公司來完成,減輕了開發(fā)的難度。本文利用微信平臺(tái)的這些優(yōu)勢(shì),設(shè)計(jì)了一個(gè)教室人數(shù)查詢系統(tǒng),使學(xué)生們通過手機(jī)等移動(dòng)終端,隨時(shí)都能查詢到所需的信息。
1.1 微信公眾平臺(tái)的數(shù)據(jù)交互方式
微信公眾平臺(tái)的數(shù)據(jù)交互方式為SP/CP模式,公眾平臺(tái)的消息接口提供了數(shù)據(jù)交互的能力。開發(fā)者將公眾賬戶接入消息接口,當(dāng)有人給公眾賬號(hào)發(fā)消息是,騰訊的第三方服務(wù)器可通過響應(yīng)包返回預(yù)先設(shè)置好的回復(fù),從而達(dá)到回復(fù)消息的目的。目前,中國移動(dòng)等運(yùn)營商的10086短信功能使用的就是該模式。
具體交互過程描述如下:
(1)用戶通過微信向公眾賬號(hào)發(fā)送一條消息,這條消息通過網(wǎng)絡(luò)到達(dá)微信的服務(wù)器。
(2)后臺(tái)收到消息后,將消息發(fā)送給第三方服務(wù)器。
(3)第三方服務(wù)器收到消息后,根據(jù)開發(fā)者實(shí)現(xiàn)編譯好的程序,得到返回給用戶的消息,返送會(huì)微信服務(wù)器。
(4)微信服務(wù)器再把該消息送到用戶的手機(jī)客戶端,用戶收到消息。
1.2 設(shè)計(jì)思路
因?yàn)槲⑿欧?wù)器請(qǐng)求公眾賬號(hào)服務(wù)使用的是 HTTP 協(xié)議,所以在公眾賬號(hào)服務(wù)器上必須要運(yùn)行一個(gè) HTTP 服務(wù),并打開一個(gè)端口。因此系統(tǒng)采用PHP語言開發(fā)公眾賬號(hào)的服務(wù)器接口程序,使用MySQL作為數(shù)據(jù)庫存儲(chǔ)系統(tǒng)。
微信公眾平臺(tái)的開發(fā)模式提供了創(chuàng)建自定義菜單的功能,開發(fā)者可以根據(jù)自己的需要設(shè)計(jì)和創(chuàng)建功能菜單。該系統(tǒng)主要由服務(wù)器模塊和數(shù)據(jù)庫模塊和教室人數(shù)查詢模塊構(gòu)成。
2.1 服務(wù)器模塊與數(shù)據(jù)庫模塊
服務(wù)器模塊構(gòu)架分為三層,包括執(zhí)行環(huán)境、管理系統(tǒng)和多種分布式服務(wù)??紤]到安全性,在端口控制上,只啟用了80端口,并且單獨(dú)設(shè)置了數(shù)據(jù)庫中用戶表可寫,其余只設(shè)置只讀權(quán)限。數(shù)據(jù)庫模塊主要用來存儲(chǔ)一些重要的數(shù)據(jù)表。為了達(dá)到實(shí)時(shí)查詢的功能,可將1~2個(gè)月的數(shù)據(jù)存儲(chǔ)在實(shí)時(shí)數(shù)據(jù)庫中,提供分布式解決方案,保證插入、查詢的性能。
2.2 微信平臺(tái)與服務(wù)器的對(duì)接
微信公眾平臺(tái)的對(duì)接規(guī)范是基于HTTP協(xié)議(朱舉英,2012),登錄微信公眾平臺(tái)后,點(diǎn)“功能”-“高級(jí)功能”-“開發(fā)模式”,進(jìn)入開發(fā)模式。如果公眾平臺(tái)顯示“尚未成為開發(fā)者”,就點(diǎn)擊“成為開發(fā)者”, 同意協(xié)議后,填寫URL和Token。URL是指微信服務(wù)器向哪個(gè)URL發(fā)送消息并加速接口程序的文件名,Token中填寫一個(gè)用于驗(yàn)證的字符串,該字符串將成為進(jìn)行身份驗(yàn)證的密鑰,和接口URL中包含的TOKEN進(jìn)行對(duì)比,達(dá)到驗(yàn)證安全性的目的。
信息提交后,微信服務(wù)器將通過GET請(qǐng)求到之前設(shè)置的URL上,對(duì)請(qǐng)求進(jìn)行校驗(yàn),若通過校驗(yàn),則可確認(rèn)該請(qǐng)求時(shí)來自微信官方的服務(wù)器,同時(shí)返回?cái)?shù)據(jù),對(duì)接成功。
2.3 查詢功能的實(shí)現(xiàn)
當(dāng)終端用戶關(guān)注了本系統(tǒng)的公眾號(hào)并發(fā)送查詢指令時(shí),該指令將被傳送到微信后臺(tái)服務(wù)器上,它將使用HTTP協(xié)議請(qǐng)求發(fā)送一個(gè)XML格式的消息數(shù)據(jù)到指定的UEL上。公眾平臺(tái)的第三方服務(wù)器上的接口程序?qū)κ盏降男畔⑦M(jìn)行處理,并在5秒內(nèi)做出響應(yīng),返回XMK格式的數(shù)據(jù),達(dá)到查詢的目的。
[1]微信公眾平臺(tái)[EB/OL].http://baike.so.com/doc/5329667. html,2014-07-15.
[2]朱舉英.基于交互學(xué)習(xí)的精品課程網(wǎng)站設(shè)計(jì)與開發(fā)研究[D] .西北師范大學(xué),2012(5) .
[3]沈豪等. 基于數(shù)字技術(shù)的教室人數(shù)統(tǒng)計(jì)系統(tǒng)設(shè)計(jì)[J].電子制作,2015(11).
The design of classroom number inquiry function based on micro channel platform
Ni Longlong,Shen Hao,Luo Jing,Chen Yuan
(Zhejiang Gongshang University,Zhejiang Hangzhou,310018)
In this paper, based on the existing information dissemination platform is difficult to achieve real-time information issue, the paper presents a system based on the current popular micro channel platform, the number of classroom query system. This system can effectively improve the real-time performance and practicability of the information publishing platform by using the new technology of mobile Internet.
micro channel public platform; information inquiry system; classroom seat