




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、鹽城師范學(xué)院畢業(yè)設(shè)計(jì)基于PHP的校園公共服務(wù)訂閱號(hào)的設(shè)計(jì)與實(shí)現(xiàn)摘 要微信是一個(gè)以社交為主要目的的軟件,它的功能包括網(wǎng)絡(luò)社交、視頻和文字分享、交友、商業(yè)推廣等,使得它成為一款優(yōu)秀的跨越平臺(tái)社交軟件。它的優(yōu)勢(shì)在于打通了線上與線下的界限,這使得微信具有其他智能終端APP不具備的優(yōu)勢(shì)。微信在校園中的應(yīng)用可以豐富學(xué)生校園生活,增進(jìn)學(xué)校與學(xué)生的溝通。本文設(shè)計(jì)并實(shí)現(xiàn)了一個(gè)校園微信公共訂閱號(hào)服務(wù)。該訂閱號(hào)包括新聞信息推送、文字選擇菜單、娛樂(lè)、信息查詢和意見(jiàn)反饋五大功能模塊。熱點(diǎn)新聞推送功能為可以將最新的校園信息及時(shí)的推送給訂閱用戶。文字菜單選擇功能包括興趣點(diǎn)查詢、音樂(lè)點(diǎn)播、天氣查詢等功能。娛樂(lè)功能包括大轉(zhuǎn)盤和
2、刮刮樂(lè)的功能,信息查詢包括了成績(jī)查詢、快遞查詢、宿舍用電查詢、課程表查詢等功能。信息查詢功能可以很好地滿足學(xué)生對(duì)校園信息查詢的需求。意見(jiàn)反饋功能可以方便訂閱用戶將自己的意見(jiàn)反饋給管理員。該訂閱號(hào)服務(wù)能夠?yàn)樾7教峁┮粋€(gè)良好的信息發(fā)布平臺(tái),為學(xué)生提供更加快捷了解校園動(dòng)態(tài)和相關(guān)信息的途徑,在學(xué)生和學(xué)校直接搭建起一個(gè)快捷溝通的橋梁。這樣有利于營(yíng)造良好的校園環(huán)境,有利增進(jìn)學(xué)生對(duì)學(xué)校動(dòng)態(tài)的了解,有利于學(xué)校更快獲取學(xué)生的反饋意見(jiàn),做出相關(guān)決策,有利于學(xué)校和學(xué)生的雙向溝通,促進(jìn)學(xué)校教育和學(xué)生學(xué)習(xí)。【關(guān)鍵詞】 微信; SAE ; 訂閱號(hào); MYSQL Design and implementation of c
3、ampus public service subscription number based on PHPAbstractWeChat is a social networking as the main purpose of the software, its features include online social networking, video and text sharing, making friends, business promotion, making it an excellent platform for social networking software. I
4、ts advantage is to get through the boundaries of online and offline, which makes WeChat has other intelligent terminal APP does not have the advantage. The application of WeChat in campus can enrich students campus life and promote the communication between school and students.In this paper, we desi
5、gn and implement a campus WeChat public subscription number service. The subscription number includes news push, text selection menu, entertainment, information and feedback of the five main functions of the feedback module. Hot news push function can be the latest campus information in a timely man
6、ner to push to subscribe to the user. Text menu selection function including interest point query, music on demand, weather query and other functions. Recreational functions include the big wheel and scratch function, query information including the query results inquiries, inquiries, express delive
7、ry, dormitory electricity, a curriculum schedule inquiries and other functions. Information query function can be very good to meet the needs of students on campus information query. Feedback function can be convenient for users to subscribe to their feedback to the administrator. The subscription s
8、ervice, can provide a good information release platform, provide more efficient way to understand the dynamic campus and related information, in the student and the school erected directly a quick communication bridge for students to the school. It is to create a good campus environment, favorable t
9、o improve the students understanding of dynamic schools, to school faster access to student feedback, to make the relevant decision-making, in favor of the bidirectional communication between schools and students, promote the school education and students learning.Keywords Wechat , SAE , Subscriptio
10、n number , MySQL目 錄1 緒論11.1背景介紹11.2主要研究?jī)?nèi)容11.3 主要工作21.4 文本組織結(jié)構(gòu)22 關(guān)鍵技術(shù)32.1 微信應(yīng)用簡(jiǎn)介32.1.1 微信應(yīng)用系統(tǒng)架構(gòu)32.1.2 SAE服務(wù)器端32.2 開發(fā)語(yǔ)言PHP42.3開發(fā)工具SVN52.4數(shù)據(jù)庫(kù)MYSQL53 系統(tǒng)分析與設(shè)計(jì)53.1系統(tǒng)功能需求分析53.1.1用戶角色53.1.2功能需求63.1.3非功能需求73.2 系統(tǒng)總體設(shè)計(jì)73.3前端設(shè)計(jì)93.4后端設(shè)計(jì)103.5數(shù)據(jù)庫(kù)設(shè)計(jì)113.5.1 系統(tǒng)E-R圖113.5.2數(shù)據(jù)庫(kù)表設(shè)計(jì)124 系統(tǒng)實(shí)現(xiàn)144.1 新聞信息推送144.2文字選擇菜單154.2.1 天
11、氣查詢功能154.2.2音樂(lè)點(diǎn)播154.2.3興趣點(diǎn)功能164.3娛樂(lè)模塊174.3.1 刮刮樂(lè)功能174.3.2 幸運(yùn)大轉(zhuǎn)盤功能174.4信息查詢功能184.4.1 CET成績(jī)查詢功能184.4.2 快遞查詢功能194.4.3課程表查詢功能194.5信息反饋功能195 系統(tǒng)測(cè)試與結(jié)果分析205.1 功能測(cè)試205.2測(cè)試結(jié)果分析23參考文獻(xiàn)24致 謝251 緒論1.1背景介紹微信(WeChat)是一款為智能終端提供即時(shí)通訊服務(wù)以社交為主要目的的軟件。它有著微博等智能終端APP無(wú)法比擬的優(yōu)勢(shì),微信具有定位精準(zhǔn),曝光率高,私密閉環(huán)交流等優(yōu)勢(shì)。目前校園公共服務(wù)號(hào)功能單一,甚至一些學(xué)校還沒(méi)有公共服務(wù)
12、號(hào)。本系統(tǒng)不僅有常規(guī)的信息查詢功能,而且還有娛樂(lè)和信息反饋功能,娛樂(lè)功能可以很好的豐富學(xué)生校園生活,信息反饋功能可以為學(xué)生了解學(xué)校開辟一條全新的渠道,也使學(xué)校了解學(xué)生成為可能1。1.2主要研究?jī)?nèi)容該課題設(shè)計(jì)與實(shí)現(xiàn)一個(gè)校園公共服務(wù)訂閱號(hào)服務(wù)。該訂閱號(hào)服務(wù)能夠?yàn)樾7教峁┮粋€(gè)良好的信息發(fā)布途徑,為學(xué)生提供更加快捷了解校園動(dòng)態(tài)和相關(guān)信息的途徑,在學(xué)生和學(xué)校直接搭建起一個(gè)快捷溝通的橋梁。這樣有利于營(yíng)造良好的校園環(huán)境,有利增進(jìn)學(xué)生對(duì)學(xué)校動(dòng)態(tài)的了解,有利于學(xué)校更快獲取學(xué)生的反饋意見(jiàn),做出相關(guān)決策,有利于學(xué)校和學(xué)生的雙向溝通,促進(jìn)學(xué)校教育和學(xué)生學(xué)習(xí)。本課題的成果可以應(yīng)用于今后校園APP的開發(fā)中。其中主要解決的
13、問(wèn)題如下:(1) 文字選擇菜單a) 將用戶輸入的天氣查詢信息中的地名解析出來(lái),查詢當(dāng)天天氣并返回給用戶。b) 進(jìn)入音樂(lè)點(diǎn)播時(shí),用戶輸入對(duì)應(yīng)的數(shù)字后,返回對(duì)應(yīng)的音樂(lè)資源,用戶點(diǎn)擊后播放。c) 當(dāng)用戶輸入新聞時(shí),將數(shù)據(jù)庫(kù)中最新插入的四條新聞返回給用戶。d) 解決用戶輸入文字信息時(shí),與系統(tǒng)預(yù)設(shè)置的關(guān)鍵字匹配,匹配成功則將消息進(jìn)行處理,若匹配失敗則返回菜單提示。(2) 娛樂(lè)模塊a) 刮刮樂(lè)功能中,能夠接收用戶操作的動(dòng)作,并將對(duì)應(yīng)坐標(biāo)的上層圖層去掉顯示底層圖片。b) 幸運(yùn)大轉(zhuǎn)盤功能中,轉(zhuǎn)盤旋轉(zhuǎn)后隨進(jìn)指向一個(gè)獎(jiǎng)項(xiàng),默認(rèn)情況是謝謝參與。(3) 信息查詢模塊a) 信息模塊中要解決多種信息的綜合查詢,可以查詢考
14、試信息又可以查詢快遞,也可以登錄到學(xué)習(xí)網(wǎng)站上進(jìn)行學(xué)習(xí),這樣可以滿足學(xué)生的學(xué)習(xí)和生活需要。b) 由于不知道相關(guān)接口,宿舍用電、考試成績(jī)、課程信息是虛擬的。是在數(shù)據(jù)庫(kù)中預(yù)設(shè)置的一些信息。1.3 主要工作在開發(fā)過(guò)程中,主要解決的問(wèn)題有:(1) 在新聞信息推送中,首先要解決的是實(shí)現(xiàn)對(duì)單個(gè)用戶的信息推送,然后將信息逐個(gè)發(fā)送給其他用戶。(2) 文字選擇菜單中,首先要正確匹配用戶輸入的文字,然后跳轉(zhuǎn)到對(duì)應(yīng)處理函數(shù)。另一個(gè)問(wèn)題是當(dāng)用戶點(diǎn)播音樂(lè)時(shí),調(diào)用接口返回音樂(lè)信息,而不是簡(jiǎn)單文本信息。(3) 娛樂(lè)模塊中,首先要隨機(jī)顯示底層圖片,然后捕捉用戶滑動(dòng)的坐標(biāo),將上層圖層去掉。(4) 信息查詢部分調(diào)用了部分接口實(shí)現(xiàn)四
15、六級(jí)查詢、快遞查詢。解決課程表、宿舍用電、考試成績(jī)等數(shù)據(jù)庫(kù)設(shè)計(jì)問(wèn)題。(5) 信息反饋模塊,要保證插入數(shù)據(jù)的正確性,且固定了輸入框的大小,從而用戶限制輸入的字?jǐn)?shù)。1.4 文本組織結(jié)構(gòu)第一章 緒論部分。介紹項(xiàng)目背景,主要研究問(wèn)題和解決方案以及本文的主要工作。第二章 關(guān)鍵技術(shù)部分。介紹了微信的系統(tǒng)架構(gòu)及開發(fā)工具和開發(fā)語(yǔ)言。 第三章 系統(tǒng)分析與設(shè)計(jì)部分。提出項(xiàng)目的基本需求,對(duì)項(xiàng)目的主要業(yè)務(wù)流程進(jìn)行了介紹,并對(duì)項(xiàng)目總體設(shè)計(jì)方案進(jìn)行了概述,對(duì)項(xiàng)目主要模塊進(jìn)行了劃分和介紹。第四章 系統(tǒng)實(shí)現(xiàn)部分。在分析需求的基礎(chǔ)上,詳細(xì)敘述了項(xiàng)目的核心模塊的實(shí)現(xiàn)方法,包括新聞信息推送模塊、文字選擇菜單模塊、娛樂(lè)模塊、信息查詢
16、模塊、信息反饋模塊。第五章 敘述了本微信訂閱號(hào)系統(tǒng)測(cè)試用例以及測(cè)試結(jié)果以及分析。2 關(guān)鍵技術(shù)2.1 微信應(yīng)用簡(jiǎn)介2.1.1 微信應(yīng)用系統(tǒng)架構(gòu)微信實(shí)現(xiàn)手機(jī)客戶端,微信開放平臺(tái)和個(gè)人服務(wù)器三者之間的整合,用戶通過(guò)微信客戶端發(fā)送信息到微信服務(wù)器,微信服務(wù)器提供了多種接口,微信服務(wù)器將加密數(shù)據(jù)流發(fā)送到中間件服務(wù)器,常用的中間件服務(wù)器有BAE (Baidu App Engine,百度應(yīng)用引擎)、SAE(Sina App Engine,新浪應(yīng)用引擎)和個(gè)人服務(wù)器等,中間件服務(wù)器提供了WEB服務(wù)器、應(yīng)用服務(wù)器、數(shù)據(jù)庫(kù)服務(wù)器的功能,對(duì)數(shù)據(jù)進(jìn)行處理后以XML(Extensible Markup Language
17、 ,可擴(kuò)展標(biāo)記語(yǔ)言)格式返回給微信服務(wù)器1,微信服務(wù)器將信息發(fā)送到用戶手機(jī)端,為用戶提供服務(wù)。微信系統(tǒng)原理如下圖2-1所示:圖2-1微信系統(tǒng)原理圖2.1.2 SAE服務(wù)器端SAE是國(guó)內(nèi)最大的公有云計(jì)算之一,它不僅有谷歌,亞馬遜等國(guó)外私有云的優(yōu)點(diǎn),而且獨(dú)具特色2。零維護(hù)成本、投入風(fēng)險(xiǎn)小、功能強(qiáng)大等特點(diǎn)。(1) 開發(fā)成本更低:多種服務(wù)可供開發(fā)者使用,開發(fā)者無(wú)需重復(fù)開發(fā),服務(wù)包括數(shù)據(jù)庫(kù),API,緩存等,WEB開發(fā)中需要的工具應(yīng)有盡有。另外對(duì)于特定開放平臺(tái)的開發(fā)者,比如微信開放平臺(tái)開發(fā)者,SAE為開發(fā)者提供了豐富的庫(kù)函數(shù),完全能夠滿足應(yīng)用開發(fā)的需求,將開發(fā)者的開發(fā)成本降到了最低3。(2) 運(yùn)維成本更低
18、:應(yīng)用運(yùn)行在SAE上無(wú)需硬件維護(hù)、服務(wù)監(jiān)控、數(shù)據(jù)容災(zāi)等操作,SAE高可靠的架構(gòu)和方便的頁(yè)面監(jiān)控會(huì)使運(yùn)維成本等低、擴(kuò)展性更強(qiáng),應(yīng)用運(yùn)行在SAE也不需要擔(dān)心高負(fù)載帶來(lái)的問(wèn)題,SAE提供的SQL(Structured Query Language,結(jié)構(gòu)化查詢語(yǔ)言)語(yǔ)句自動(dòng)性能分析、前端防攻擊、代碼檢查、服務(wù)擴(kuò)展等功能會(huì)讓系統(tǒng)更加安全可靠。因此SAE上的應(yīng)用比傳統(tǒng)的部署模式更加安全可靠4。SAE系統(tǒng)架構(gòu)如下圖2-2所示。圖2-2 SAE系統(tǒng)架構(gòu)圖2.2 開發(fā)語(yǔ)言PHPPHP(Hypertext Preprocessor,超文本預(yù)處理器)是一種具有功能強(qiáng)大計(jì)算機(jī)語(yǔ)言,它具有以下優(yōu)勢(shì):(1) 跨平臺(tái),性能
19、優(yōu)越,PHP可以在多種平臺(tái)上運(yùn)行,而且可以和很多免費(fèi)的平臺(tái)結(jié)合,支持多種數(shù)據(jù)庫(kù),例如PostgreSQL、Oracle、Sqlserver、DB2等。(2) 易掌握,語(yǔ)法簡(jiǎn)練,語(yǔ)言風(fēng)格與C、ASP 很相似,簡(jiǎn)單而富有彈性。有成熟的開發(fā)工具,比如PHP Storm、Coda、NetBeans、Eclipse等。(3) 支持主流技術(shù),比如Javascript、Json、XML等解析開發(fā)中的主流技術(shù),應(yīng)用廣泛。功能強(qiáng)大,與Perl和Pythony比,PHP在執(zhí)行動(dòng)態(tài)網(wǎng)頁(yè)時(shí)更加快速。與JAVA、JSP等編程語(yǔ)言相比,PHP可以和HTML(HyperText Markup Language,超文本標(biāo)記語(yǔ)
20、言)混合編程,執(zhí)行效率更高5。2.3開發(fā)工具SVNSVN(Subversion)是一款集中式文件版本管理軟件,可用于多人共同開發(fā)一個(gè)項(xiàng)目,共享項(xiàng)目資源,實(shí)現(xiàn)資源分層管理,有利于團(tuán)隊(duì)協(xié)作開發(fā)。SVN具有管理方便、安全性高、易于管理、邏輯明確、代碼一致性高等特點(diǎn)6。2.4數(shù)據(jù)庫(kù)MYSQLMySQL是一種免費(fèi)開源的關(guān)系型數(shù)據(jù)庫(kù)管理系統(tǒng),SQL是進(jìn)行數(shù)據(jù)庫(kù)管理的常用語(yǔ)言。MYSQL具有體積小、操作便利、高度靈活性、代碼開放源、功能強(qiáng)勁等特點(diǎn),也許MYSQL數(shù)據(jù)庫(kù)和一些大型數(shù)據(jù)相比仍有不足之處,但這并不妨礙它在中小企業(yè)中的廣泛應(yīng)用。與Oracle、PostgreSQL、Sysbase等數(shù)據(jù)庫(kù)相比,MyS
21、QL不但能使用SQL語(yǔ)句進(jìn)行操作,也能進(jìn)行圖形界面操作,簡(jiǎn)化了數(shù)據(jù)庫(kù)的操作難度和學(xué)習(xí)成本7。3 系統(tǒng)分析與設(shè)計(jì)3.1系統(tǒng)功能需求分析微信用戶功能需求分析 微信用戶在關(guān)注我們的公眾賬號(hào)后, 微信用戶可以根據(jù)提示輸入自己感興趣的的關(guān)鍵詞,可以快捷的實(shí)現(xiàn)一些需要安裝手機(jī)APP才能實(shí)現(xiàn)的功能,例如快遞查詢,新聞動(dòng)態(tài),CET查詢等等。3.1.1用戶角色微信公共服務(wù)訂閱號(hào)用戶類型包括普通用戶和后臺(tái)管理員角色。角色的不同也導(dǎo)致了用戶的權(quán)限的差異和其所涉及的業(yè)務(wù)操作的不同,下面我們通過(guò)表格3-1來(lái)詳細(xì)分析每種用戶。表 3-1用戶及角色表分類屬性及行為特征普通用戶角色工作使用訂閱號(hào)進(jìn)行成績(jī)查詢、天氣查詢、興趣點(diǎn)
22、查詢、進(jìn)行抽獎(jiǎng)、查看新聞、信息反饋等功能需求數(shù)據(jù)查詢、新聞信息接受、發(fā)送位置信息管理員角色工作查看后臺(tái)反饋信息、向用戶推送新聞信息、管理用戶功能需求數(shù)據(jù)反饋信息查詢、填寫推送的新聞信息、原始數(shù)據(jù)查詢、用戶管理功能3.1.2功能需求下面我們根據(jù)用戶及角色類型來(lái)分析我們系統(tǒng)所需要提供的主要功能。(1) 普通用戶普通用戶擁有相關(guān)數(shù)據(jù)查詢功能和信息反饋功能,普通用戶所涉及的用例如圖3-1所示:圖3-1 普通用戶用例圖(2) 管理員管理員擁有查看反饋信息、填寫推送的新聞信息、原始數(shù)據(jù)查詢、用戶管理等功能,普通用戶所涉及的用例如圖3-2所示:圖3-2普通用戶用例圖3.1.3非功能需求該系統(tǒng)在運(yùn)行的過(guò)程中不
23、僅需要滿足以上的功能需求,還需要滿足以下非功能需求:(1) 性能需求:用戶對(duì)于一般功能界面的響應(yīng)控制在2秒內(nèi),數(shù)據(jù)查詢的應(yīng)控制在5 秒內(nèi)。另外系統(tǒng)應(yīng)支持50個(gè)用戶以上的并發(fā)。(2) 安全需求:微信系統(tǒng)后臺(tái)只有管理員才能訪問(wèn)。(3) 可用性需求:系統(tǒng)能連續(xù)7*24小時(shí)不間斷工作;保證系統(tǒng)在99.9 %的時(shí)間內(nèi)都能夠正常運(yùn)作。3.2 系統(tǒng)總體設(shè)計(jì)本系統(tǒng)使用的服務(wù)器是SAE,它具有免費(fèi)、無(wú)需維護(hù)、功能強(qiáng)大等特點(diǎn),非常符合本系統(tǒng)的要求。本系統(tǒng)架構(gòu)如下圖3-3所示:圖3-3系統(tǒng)架構(gòu)圖 使用本訂閱號(hào)的前提是關(guān)注該訂閱號(hào),然后根據(jù)不同的提示或者是自定義菜單,選擇自己要使用的功能,服務(wù)器解析用戶的的操作動(dòng)作,
24、跳轉(zhuǎn)到對(duì)應(yīng)的處理流程中進(jìn)行處理,最后將結(jié)果返回給用戶,業(yè)務(wù)流圖如下圖3-4所示:圖3-4業(yè)務(wù)流圖 手機(jī)端的功能主要有查詢天氣 ,聽音樂(lè),查找興趣點(diǎn),看新聞,娛樂(lè)功能,校園信息查詢,意見(jiàn)反饋。服務(wù)器端可以看到相關(guān)的意見(jiàn)反饋和向用戶推送信息,系統(tǒng)功能如圖3-5所示:圖3-5系統(tǒng)功能圖3.3前端設(shè)計(jì)本系統(tǒng)的界面采用的是HTML5和PHP混合編程技術(shù),這樣不僅可以完成界面的整體設(shè)計(jì),還可以實(shí)現(xiàn)前后臺(tái)數(shù)據(jù)的交互。在后臺(tái)推送的新聞信息中,使用的是微信提供的圖文信息模板,這樣圖文并茂的信息更能吸引用戶注意力。在娛樂(lè)功能中,設(shè)計(jì)了一個(gè)功能選擇的頁(yè)面,可以很好的滿足將來(lái)可功能拓展的需求。在信息查詢功能中,界面設(shè)
25、計(jì)比較簡(jiǎn)潔,因?yàn)橹灰斎雽W(xué)號(hào)或者宿舍號(hào)這些簡(jiǎn)單的信息,便可以在數(shù)據(jù)庫(kù)中提取數(shù)據(jù)。信息反饋功能中,輸入框的大小是固定的,這樣可以很好的限制輸入的字?jǐn)?shù),避免了插入數(shù)據(jù)庫(kù)時(shí)出錯(cuò)。微信前端住主要負(fù)責(zé)的工作是捕捉用戶動(dòng)作,如用戶訂閱動(dòng)作,發(fā)送文本動(dòng)作,發(fā)送位置信息動(dòng)作等,然后將信息發(fā)送到服務(wù)器端,服務(wù)器端會(huì)判斷動(dòng)作類型,然后跳轉(zhuǎn)到不同動(dòng)作對(duì)應(yīng)的處理函數(shù)進(jìn)行處理,處理后將信息返回到前端。前端處理流程如圖3-6所示: 圖3-6前端處理流程圖3.4后端設(shè)計(jì)系統(tǒng)后端主要負(fù)責(zé)對(duì)前段發(fā)來(lái)的數(shù)據(jù)進(jìn)行處理,并將出今后的結(jié)果返回給前端。首先后端會(huì)對(duì)用戶動(dòng)作進(jìn)行判斷,如果僅僅是請(qǐng)求資源,則直接返回其請(qǐng)求的資源,如果是其它動(dòng)
26、作,例如訂閱信息、文本信息、位置信息等,會(huì)跳轉(zhuǎn)到解析函數(shù),解析發(fā)過(guò)來(lái)的數(shù)據(jù),然后進(jìn)行相應(yīng)的處理。后端處理流程如圖3-7所示:圖3-7后端處理流程圖3.5數(shù)據(jù)庫(kù)設(shè)計(jì)3.5.1 系統(tǒng)E-R圖訂閱號(hào)的多個(gè)功能模塊涉及數(shù)據(jù)庫(kù),如興趣點(diǎn)查詢功能,成績(jī)查詢功能,宿舍用電查詢功能,課程表查詢功能等。描述:興趣點(diǎn)查詢功能需記錄用戶的位置、坐標(biāo)、時(shí)間等信息,當(dāng)用戶再次查詢時(shí),就可以僅作更新操作,這樣可以避免數(shù)據(jù)庫(kù)收到惡意攻擊,有效利用存儲(chǔ)空間。該實(shí)體的基本屬性主要包括用戶微信名稱,用戶名稱,密碼,經(jīng)度,緯度和用戶信息提交時(shí)間等。興趣點(diǎn)實(shí)體圖的E-R圖 如圖3-8所示:圖3-8 用戶實(shí)體圖描述:宿舍用電實(shí)體包括宿
27、舍號(hào),已用電量和剩余電量等屬性。因?yàn)闆](méi)有得到學(xué)校的用電信息的接口,這個(gè)模塊的信息都是虛擬的。本系統(tǒng)根據(jù)用戶輸入樓號(hào)和宿舍號(hào)進(jìn)行查詢,并將結(jié)果呈現(xiàn)給用戶。宿舍用電實(shí)體圖如圖3-9所示:圖3-9宿舍用電實(shí)體及屬性描述:成績(jī)實(shí)體,包含學(xué)號(hào),科目,學(xué)期,成績(jī)等屬性,即所有科目成績(jī)信息。事先將學(xué)生信息錄入數(shù)據(jù)庫(kù),系統(tǒng)會(huì)根據(jù)學(xué)號(hào)檢索數(shù)據(jù)庫(kù),獲取該學(xué)生各學(xué)期各科成績(jī)。成績(jī)信息實(shí)體圖如圖3-10所示:圖3-10成績(jī)信息實(shí)體圖3.5.2數(shù)據(jù)庫(kù)表設(shè)計(jì)本系統(tǒng)涉及的信息表有:興趣點(diǎn)查詢信息表,成績(jī)查詢表,宿舍用電信息表,學(xué)生課程表信息表,新聞信息表等。因?yàn)镸YSQL體積小、免費(fèi)開源、開發(fā)便捷、功能強(qiáng)大等特點(diǎn),本系統(tǒng)采
28、用MySQL數(shù)據(jù)庫(kù)9,主要表結(jié)構(gòu)設(shè)計(jì)如下:(1)描述:興趣點(diǎn)查詢功能需記錄用戶坐標(biāo)、用戶名、微信名、提交時(shí)間等信息,方便比對(duì)信息,程序判斷是對(duì)數(shù)據(jù)庫(kù)進(jìn)行插入還是更新,節(jié)省存儲(chǔ)空間。表3-1 興趣點(diǎn)查詢信息表序號(hào)字段類型長(zhǎng)度說(shuō)明Null1Wxnamevarchar20微信名(主鍵)否2Unamevarchar10用戶名否3Upwdvarchar10密碼是4LongitudeInt11所在經(jīng)度否5LatitudeInt11所在緯度否6TelInt11電話是7Jion_timeInt20時(shí)間否(2)描述:用于存儲(chǔ)用戶學(xué)生成績(jī)信息表,主要字段有學(xué)號(hào),學(xué)期,科目,成績(jī)等,系統(tǒng)會(huì)根據(jù)用戶輸入的學(xué)號(hào)信息進(jìn)行
29、查找,得到該學(xué)生的成績(jī)信息。表3-2 學(xué)生成績(jī)信息表序號(hào)字段類型長(zhǎng)度說(shuō)明Null1uidInt11主鍵否2IdsInt32學(xué)號(hào)否4Kemuvarchar32科目否5Gredevarchar32成績(jī)否(3)描述:用于存儲(chǔ)宿舍用電信息表,主要字段有宿舍號(hào),已用電量,剩余電量等,因?yàn)闆](méi)有學(xué)校用電系統(tǒng)的接口,所以用電信息是事先錄入的虛擬信息,系統(tǒng)會(huì)根據(jù)用戶輸入的樓號(hào)和宿舍號(hào)進(jìn)行索引,得到宿舍用電信息。表3-3 宿舍用電信息表序號(hào)字段類型長(zhǎng)度說(shuō)明Null1Info_idInt11主鍵否2IdsInt20宿舍號(hào)否3YiyongInt20已用電量否4ShengyuInt20剩余電量否(4)描述:用于存儲(chǔ)新聞
30、列表信息表,主要字段有新聞標(biāo)題,新聞描述,原文鏈接,圖片鏈接等,在推送圖文信息的時(shí)候需要圖文并茂,這樣有利于吸引用戶的注意力。表 3-4 新聞信息表序號(hào)字段類型 長(zhǎng)度說(shuō)明Null1IdInt10主鍵否2Titlevarchar50標(biāo)題否3Desvarchar100描述否4Urlvarchar100新聞鏈接否5Picurlvarchar100圖片鏈接否4 系統(tǒng)實(shí)現(xiàn)4.1 新聞信息推送新聞信息推送是主動(dòng)給所有關(guān)注該公眾號(hào)的人發(fā)送信息10,該功能可以使用微信公共平臺(tái)提供的功能,但是有發(fā)送消息數(shù)量限制,也可以調(diào)用微信信息推送接口實(shí)現(xiàn),首先要調(diào)用用login函數(shù)驗(yàn)證登陸用戶是公眾號(hào)所有者,然后遍歷用戶數(shù)
31、組,解析出用戶的fakerid,將信息分別發(fā)送給各個(gè)用戶,信息的類型有圖片、視頻、音頻等。新聞信息推送時(shí)序圖如圖4-1所示:圖4-1 新聞信息推送4.2文字選擇菜單4.2.1 天氣查詢功能首先將各個(gè)地區(qū)天氣代碼和地名存入數(shù)據(jù)庫(kù),為了能夠通過(guò)正則表達(dá)式正確匹配到相應(yīng)字段,必須按照一定格式輸入,如:tq鹽城。得到輸入的地名后,檢索數(shù)據(jù)庫(kù)獲取該地的天氣代碼,發(fā)送至中國(guó)氣象接口,獲取存儲(chǔ)該地氣象信息的xml信息段,解析xml獲得當(dāng)?shù)氐奶鞖?,氣溫等信息。天氣查詢流程如圖4-2所示:圖4-2 信息發(fā)送界面4.2.2音樂(lè)點(diǎn)播音樂(lè)播放功能的實(shí)現(xiàn)和普通文本信息不同,在檢索數(shù)據(jù)庫(kù)得到請(qǐng)求的音樂(lè)之后,填寫xml格式
32、的回復(fù)信息時(shí),將鏈接放在MediaId標(biāo)簽中,并且將MsgType的類型設(shè)置為voice,這樣客戶端就可以正確的解析音樂(lè)文件了。xml格式回復(fù)信息如下:4.2 語(yǔ)音信息參數(shù)說(shuō)明參數(shù)描述ToUserName開發(fā)者微信號(hào)FromUserName發(fā)送方帳號(hào)(一個(gè)OpenID)CreateTime消息創(chuàng)建時(shí)間 (整型)MsgType語(yǔ)音為voiceMediaId語(yǔ)音消息媒體id,可以調(diào)用多媒體文件下載接口拉取數(shù)據(jù)Format語(yǔ)音格式,如amr,speex等MsgID消息id,64位整型4.2.3興趣點(diǎn)功能使用興趣點(diǎn)功能需要先打開手機(jī)的定位功能,當(dāng)發(fā)送位置信息后,會(huì)調(diào)用simplexml_load_st
33、ring()方法創(chuàng)建創(chuàng)建postObj的對(duì)象,對(duì)象中的Location_Y,Location_X可以獲取到當(dāng)前用戶的經(jīng)緯度信息,為了減少負(fù)載,我們將經(jīng)緯度信息存儲(chǔ)在數(shù)據(jù)庫(kù)中,然后將經(jīng)緯度信息發(fā)送到百度車聯(lián)網(wǎng)接口,這樣就可以得到附近興趣點(diǎn)的信息11。興趣點(diǎn)處理時(shí)序如圖4-3所示:圖4-3 興趣點(diǎn)處理時(shí)序圖4.3娛樂(lè)模塊4.3.1 刮刮樂(lè)功能該功能使用了Vancas技術(shù)進(jìn)行圖像處理,實(shí)時(shí)生成圖像,并且操作圖像內(nèi)容。首先將上下兩張圖片層合成,并將前景色設(shè)為灰色,然后監(jiān)聽mouse事件調(diào)用scratch方法,捕捉mousemove的x、y的坐標(biāo)并將上面的圖層擦去,從而顯示出底層的圖片。其中獲取坐標(biāo)的函
34、數(shù)如代碼段一所示:/代碼段一function getLocalCoords(elem, ev) var ox = 0, oy = 0; /定義x、y坐標(biāo)var first;var pageX, pageY; while (elem != null) /判斷是否有滑動(dòng)事件ox += elem.offsetLeft;oy += elem.offsetTop;elem = elem.offsetParent; if (ev.hasOwnProperty(changedTouches) first = ev.changedTouches0;pageX = first.pageX;pageY = fir
35、st.pageY; else pageX = ev.pageX;pageY = ev.pageY;return x: pageX - ox, y: pageY - oy ;4.3.2 幸運(yùn)大轉(zhuǎn)盤功能為了使轉(zhuǎn)盤轉(zhuǎn)動(dòng)過(guò)程中沒(méi)有持續(xù)刷新頁(yè)面帶來(lái)的延遲,該功能使用了jQuery技術(shù),保持客戶端和服務(wù)器端保持連接,局部刷新頁(yè)面,從而減小延遲。首先建立一個(gè)多維數(shù)組,數(shù)組中包括用來(lái)標(biāo)識(shí)不同獎(jiǎng)項(xiàng)的id,標(biāo)識(shí)最小中獎(jiǎng)區(qū)間的min和最大區(qū)間的max。獎(jiǎng)項(xiàng)越高區(qū)間越小。調(diào)用getRand函數(shù)得到中獎(jiǎng)概率,然后調(diào)用getid獲取中獎(jiǎng)的角度,并以json數(shù)據(jù)格式輸出。接收到角度數(shù)據(jù)A后,轉(zhuǎn)盤會(huì)在轉(zhuǎn)動(dòng)(1800+A)度處
36、停下。其中計(jì)算中獎(jiǎng)概率的函數(shù)如代碼段二所示:/代碼段二functiongetRand($proArr)$result=; /概率數(shù)組的總概率精度$proSum=array_sum($proArr); /概率數(shù)組循環(huán) foreach($proArras$key=$proCur)$randNum=mt_rand(1,$proSum); /產(chǎn)生隨機(jī)數(shù)if($randNum=$proCur)$result=$key;break;else$proSum-=$proCur; unset($proArr); /將proArr清零return$result;4.4信息查詢功能4.4.1 CET成績(jī)查詢功能CE
37、T成績(jī)查詢可以滿足學(xué)生在手機(jī)端便捷查詢成績(jī)的需求,只要用戶輸入姓名和考試號(hào)就可以完成查詢。這里使用的是教育考試中心的鏈接,保證了查詢結(jié)果的權(quán)威性。查詢界面如圖4-4所示:圖4-4 CET查詢界面4.4.2 快遞查詢功能該功能調(diào)用了快遞100的查詢接口,用戶輸入訂單號(hào)后,可以查詢物流信息和負(fù)責(zé)運(yùn)送的快遞員信息,也可以在不輸入信息的情況下查詢附近的收件網(wǎng)點(diǎn)的信息,如電話、負(fù)責(zé)人、位置等。既有查收快遞的功能也有查詢寄快遞的功能,可以滿足學(xué)生的生活需要。4.4.3課程表查詢功能 本系統(tǒng)選擇MySQL作為數(shù)據(jù)庫(kù),將信息存儲(chǔ)在數(shù)據(jù)庫(kù)中,SAE服務(wù)器設(shè)定了用戶名、端口、密碼、數(shù)據(jù)庫(kù)名等常數(shù),在服務(wù)端連接數(shù)據(jù)
38、庫(kù)的時(shí)候只需要使用這些參數(shù)和PHP數(shù)據(jù)庫(kù)操作函數(shù)就可以實(shí)現(xiàn)數(shù)據(jù)庫(kù)鏈接。PHP的中有豐富的數(shù)據(jù)庫(kù)操作函數(shù),可以實(shí)現(xiàn)對(duì)于數(shù)據(jù)庫(kù)的多種操作,快速查詢。主要實(shí)現(xiàn)如代碼段三所示:/代碼段三 $hostname = SAE_MYSQL_HOST_M.:.SAE_MYSQL_PORT; $dbuser = SAE_MYSQL_USER; $dbpass = SAE_MYSQL_PASS; $dbname = SAE_MYSQL_DB; /定義數(shù)據(jù)庫(kù)名 $link = mysql_connect($hostname, $dbuser, $dbpass);/連接數(shù)據(jù)庫(kù) if (!$link) die(Could
39、 not connect: . mysql_error(); /判斷連接是否成功mysql_select_db($dbname, $link) or die (Cant use dbname : . mysql_error(); mysql_query(SET NAMES UTF8); /設(shè)置字符集utf-8$sql = SELECT longitude, latitude FROM members WHERE wxname=$fromUsername; /定義查詢語(yǔ)句$res = mysql_query($sql); /數(shù)據(jù)庫(kù)查詢4.5信息反饋功能信息反饋為用戶和管理員提供了雙向溝通的方式,
40、管理員可以向用戶推送信息,用戶也可以反饋信息給管理員,以供系統(tǒng)修改和完善。首先要連接數(shù)據(jù)庫(kù),然后將用戶的意見(jiàn)插入數(shù)據(jù)庫(kù)中,以供管理員查看,將文本框的大小固定為了限制用戶輸入的字?jǐn)?shù)。信息反饋功能關(guān)系圖如圖4-5所示:圖4-5信息反饋功能關(guān)系圖5 系統(tǒng)測(cè)試與結(jié)果分析5.1 功能測(cè)試 軟件測(cè)試是軟件開發(fā)工程中一個(gè)重要的流程,軟件測(cè)試可以提前發(fā)現(xiàn)系統(tǒng)漏洞和安全性問(wèn)題,并進(jìn)行及時(shí)的糾正,從而提高系統(tǒng)運(yùn)行的穩(wěn)定性和安全性12。本系統(tǒng)的測(cè)試結(jié)果如表5-1所示,測(cè)試界面如圖5-1所示:表5-1 校園校園訂閱號(hào)設(shè)計(jì)與實(shí)現(xiàn)測(cè)試用例1項(xiàng)目名稱校園訂閱號(hào)設(shè)計(jì)與實(shí)現(xiàn)客戶端版本1.4.3測(cè)試環(huán)境硬件:PC機(jī)(thinkp
41、ad,64位操作系統(tǒng),內(nèi)存可用:8GB,顯存:2G顯卡:inter core i7)手機(jī)(小米(MI),Qualcomm 驍龍,32GB ROM)軟件環(huán)境: 微信開放平臺(tái)和SAE測(cè)試人張彬測(cè)試時(shí)間2016-4-20功能模塊名手機(jī)端使用續(xù)表5-1功能特性完成文字信息提示功能測(cè)試測(cè)試目的驗(yàn)證各功能模塊使用正常預(yù)置條件以獲取該訂閱號(hào)的二維碼,或這是微信名用例編號(hào)測(cè)試步驟預(yù)期結(jié)果測(cè)試結(jié)果D001關(guān)注微信獲取文字提示信息頁(yè)面更新且顯示正常事D002輸入新聞獲取新聞圖文列表頁(yè)面更新且顯示正常D003輸入音樂(lè)進(jìn)入音樂(lè)點(diǎn)播系統(tǒng)頁(yè)面更新且顯示正常D004輸入數(shù)字獲取對(duì)應(yīng)的音樂(lè)可正常獲取D005查詢興趣點(diǎn)獲取興趣的相關(guān)信息能正常獲取D006輸入地方名稱獲取該地方的天氣信息可正常獲取測(cè)試結(jié)果分析通過(guò)電腦板和手機(jī)版微信進(jìn)行測(cè)試,發(fā)現(xiàn)頁(yè)面載入穩(wěn)定。圖5-1系統(tǒng)測(cè)試界面表5-2校園公共服務(wù)訂閱號(hào)測(cè)試用例2項(xiàng)目名稱校園訂閱號(hào)設(shè)計(jì)與實(shí)現(xiàn)程序版本測(cè)試環(huán)境硬件環(huán)境:PC機(jī)軟件環(huán)境: 微信客戶端,SAE云服務(wù)器,微信開放平臺(tái) 編制人張彬編制時(shí)間2016-4-20功能模塊名自定義菜單測(cè)試功能特性完成自定義菜單提示功能測(cè)試測(cè)試目的驗(yàn)證自定義菜單各個(gè)頁(yè)面是否正常預(yù)置條件已經(jīng)關(guān)注該訂閱號(hào)用例編號(hào)測(cè)試步驟預(yù)期結(jié)果測(cè)試結(jié)果D001點(diǎn)擊試試手氣進(jìn)入選擇頁(yè)
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 客戶禮品費(fèi)管理制度
- 家居實(shí)訓(xùn)室管理制度
- 庫(kù)房輔料庫(kù)管理制度
- 引進(jìn)種雞苗管理制度
- 影視類項(xiàng)目管理制度
- 微商代理商管理制度
- 快易購(gòu)銷售管理制度
- 念佛堂值班管理制度
- 總公司安全管理制度
- 2025年全國(guó)統(tǒng)一高考語(yǔ)文試卷(全國(guó)一卷)含答案
- 四川體彩銷售員考試試題及答案
- 廠區(qū)物業(yè)維修管理制度
- 瀘州理綜中考試題及答案
- 內(nèi)鏡室患者服務(wù)專員職責(zé)與流程
- 2025龍巖市上杭縣藍(lán)溪鎮(zhèn)社區(qū)工作者考試真題
- 2025建設(shè)銀行ai面試題目及最佳答案
- 養(yǎng)老院養(yǎng)老服務(wù)糾紛調(diào)解管理制度
- 潛水作業(yè)合同協(xié)議書
- 2025-2031年中國(guó)天然氣勘探行業(yè)市場(chǎng)運(yùn)行態(tài)勢(shì)及投資潛力研判報(bào)告
- 北京開放大學(xué)2025年《裝配式技術(shù)與應(yīng)用》形成性考核2答案
評(píng)論
0/150
提交評(píng)論