




已閱讀5頁,還剩29頁未讀, 繼續(xù)免費(fèi)閱讀
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
畢 業(yè) 設(shè) 計(jì)(論 文)設(shè)計(jì)(論文)題目: 寧工“微生活”網(wǎng)站設(shè)計(jì)與開發(fā) 寧波工程學(xué)院本科畢業(yè)設(shè)計(jì)(論文)摘 要當(dāng)手機(jī)、平板等移動(dòng)設(shè)備變得日益流行,在這些設(shè)備上的運(yùn)行的應(yīng)用程序也隨之變得越來越重要,更多的同學(xué)也得力于此可以隨時(shí)隨地的學(xué)習(xí)、娛樂和工作,然而,由于傳統(tǒng)互聯(lián)網(wǎng)技術(shù)的限制,這些網(wǎng)站卻在這些移動(dòng)設(shè)備上不能很好的呈現(xiàn),嚴(yán)重的阻礙了校園信息的傳遞,很難適應(yīng)當(dāng)前這個(gè)以“用戶為中心”、“面向資源共享”、“變化快速”的信息時(shí)代。矚慫潤厲釤瘞睞櫪廡賴。因此,本文在此基礎(chǔ)上建立一個(gè)面向廣大師生與高校內(nèi)部使用的信息系統(tǒng)微網(wǎng)站,把傳統(tǒng)的校園網(wǎng)發(fā)展為“人性化”的產(chǎn)物,以師生需求為核心,運(yùn)用最新的互聯(lián)網(wǎng)技術(shù),實(shí)現(xiàn)支持多終端應(yīng)用的高校網(wǎng)站和校園生活服務(wù)的完美結(jié)合,把學(xué)生切身實(shí)際的如教務(wù)信息,圖書查詢,以及課表查詢等,娛樂學(xué)生的功能例如匿名交友,出行功能例如拼車,實(shí)時(shí)公交等。聞創(chuàng)溝燴鐺險(xiǎn)愛氌譴凈。本次程序設(shè)計(jì)是基于SAE的服務(wù)器,集成了Apache-2.2和PHP-5.3以及mysql的數(shù)據(jù)庫,而主要函數(shù)庫用到了Curl和Ereg,微信開發(fā)接口,采用面向?qū)ο蟮脑O(shè)計(jì)思想,功能間采用低耦合設(shè)計(jì)。在本地測試則采用wamp的集成環(huán)境,即windows、apache、mysql、PHP的集成,更加有效的,方便的在安裝和測試體現(xiàn)出來。殘騖樓諍錈瀨濟(jì)溆塹籟。整篇文檔通過技術(shù)理論分析,系統(tǒng)設(shè)計(jì),總體架構(gòu),數(shù)據(jù)庫設(shè)計(jì),以及關(guān)鍵代碼編寫等流程,最終實(shí)現(xiàn)了用戶體驗(yàn)良好、界面設(shè)計(jì)美觀、功能完善的寧工微生活的基本功能,以及通過微信實(shí)現(xiàn)更多實(shí)用性極強(qiáng)的功能。 釅錒極額閉鎮(zhèn)檜豬訣錐。 關(guān)鍵詞:網(wǎng)站;PHP;微信;Curl;面向?qū)ο?AJAXIABSTRACTWhen mobile phones, tablets and other mobile devices become increasingly popular, applications that run on these devices becomes more and more important, more students but also effective in the can, at any time, learn, play and work, however, due to limitation of the traditional Internet technology, these sites are in these mobile devices cannot very good showing, serious hindered the campus information transfer, difficult to adapt to the current to the user as the center, Sharing Oriented, change fast in the information age彈貿(mào)攝爾霽斃攬磚鹵廡。So, based on this, this paper established an information system for the majority of teachers, students and colleges and universities to use micro site, the traditional development of the campus network is the product of humanization, to the needs of teachers and students as the core, using the latest Internet technology, implementation support multi terminal application of the university website and campus life service of the perfect combination, the students immediate practical such as academic information, inquiries, books and timetable search, student recreation functions such as anonymous friends, travel function such as carpooling, real-time bus.謀蕎摶篋飆鐸懟類蔣薔。The program design is server based on SAE, integrated Apache-2.2 and PHP-5.3 and the MySQL database and main function library used in the curl and Ereg, development of micro channel interface, using object oriented design, the function between the low coupling design. In the local testing, the integration of windows, Apache, mysql, PHP is more effective, and it is more convenient for the installation and testing.廈礴懇蹣駢時(shí)盡繼價(jià)騷。The entire document through theory analysis, system design, architecture, database design, and key code compilation process, and ultimately achieve the user experience is good, beautiful interface design, perfect function of the Ning micro life of basic functions, as well as through micro channel to achieve a more practical very strong function.煢楨廣鰳鯡選塊網(wǎng)羈淚。Key Words:Web site;PHP;WeChat;oop;AJAX;寧波工程學(xué)院本科畢業(yè)設(shè)計(jì)(論文)目 錄1. 引 言1鵝婭盡損鵪慘歷蘢鴛賴。1.1 研究背景1籟叢媽羥為贍僨蟶練淨(jìng)。1.2 研究目的與意義1預(yù)頌圣鉉儐歲齦訝驊糴。1.3 研究內(nèi)容1滲釤嗆儼勻諤鱉調(diào)硯錦。2. 基本技術(shù)和理論3鐃誅臥瀉噦圣騁貺頂廡。2.1 數(shù)據(jù)庫技術(shù)3擁締鳳襪備訊顎輪爛薔。2.2 AJAX技術(shù)3贓熱俁閫歲匱閶鄴鎵騷。2.3 響應(yīng)式布局4壇摶鄉(xiāng)囂懺蔞鍥鈴氈淚。2.4前端技術(shù):Div+CSS等5蠟變黲癟報(bào)倀鉉錨鈰贅。3. 基本系統(tǒng)設(shè)計(jì)6買鯛鴯譖曇膚遙閆擷凄。3.1 需求分析6綾鏑鯛駕櫬鶘蹤韋轔糴。3.2系統(tǒng)總體架構(gòu)設(shè)計(jì)圖7驅(qū)躓髏彥浹綏譎飴憂錦。3.3 功能設(shè)計(jì)9貓蠆驢繪燈鮒誅髏貺廡。3.4數(shù)據(jù)庫設(shè)計(jì)14鍬籟饗逕瑣筆襖鷗婭薔。4. 系統(tǒng)實(shí)現(xiàn)及測試17構(gòu)氽頑黌碩飩薺齦話騖。4.1 主要類設(shè)計(jì)17輒嶧陽檉籪癤網(wǎng)儂號(hào)澩。4.2 關(guān)鍵功能的實(shí)現(xiàn)代碼17堯側(cè)閆繭絳闕絢勵(lì)蜆贅。4.3 系統(tǒng)運(yùn)行實(shí)例(手機(jī)端)27識(shí)饒鎂錕縊灩筧嚌儼淒。4.4測試分析30凍鈹鋨勞臘鍇癇婦脛糴。結(jié)論31恥諤銪滅縈歡煬鞏鶩錦。致謝32鯊腎鑰詘褳鉀溈懼統(tǒng)庫。參考文獻(xiàn)33碩癘鄴頏謅攆檸攜驤蘞。寧波工程學(xué)院本科畢業(yè)設(shè)計(jì)(論文)1. 引 言1.1 研究背景Internet的迅速發(fā)展,使得人與人之間的交流已經(jīng)不再局限于面對面的語言交流,可以開始利用Internet上各種快捷的方式進(jìn)行隨時(shí)隨地的交流。這一點(diǎn)在校園里的表現(xiàn)尤為明顯。而大學(xué)生所活躍的網(wǎng)站,貼吧,教務(wù)網(wǎng)等在互聯(lián)網(wǎng)的活躍度上所占比例越來越大,校園網(wǎng)在互聯(lián)網(wǎng)的地位也已經(jīng)越來越重要。閿擻輳嬪諫遷擇楨秘騖。但國內(nèi)外的高校網(wǎng)站也也存在單一的模式,即主要是辦公類網(wǎng)站,教育類網(wǎng)站,以及生活咨詢類網(wǎng)站,而各個(gè)網(wǎng)站之間也并沒有很多的功能交錯(cuò)在一起,存在相互交獨(dú)立的關(guān)系,而學(xué)校官網(wǎng)則比較雜而亂,不能很好的適應(yīng)同學(xué)的生活,在現(xiàn)實(shí)生活中不能隨時(shí)隨地的去應(yīng)用,也不能快速的獲取信息反饋,即存在兼容性差,反饋時(shí)間長,信息錯(cuò)亂等多方面的不便。氬嚕躑竄貿(mào)懇彈瀘頷澩。目前在前端設(shè)計(jì)方面,HTML5 的興起,使得響應(yīng)式設(shè)計(jì)能夠很好的去兼容多個(gè)移動(dòng)設(shè)備,配合著DIV+CSS設(shè)計(jì)以及傳統(tǒng)AJAX和Jquery等JS庫,能夠很好的使得網(wǎng)站去切身實(shí)際的去滿足廣大用戶的使用。而MYSQL數(shù)據(jù)庫的分布式存儲(chǔ)以及優(yōu)化的SQL查詢算法,有效地提高查詢速度。在PHP5方面,則可以更加支持更多函數(shù)應(yīng)用等。釷鵒資贏車贖孫滅獅贅。1.2 研究目的與意義本文主要研究如何簡單實(shí)用H5;結(jié)合PHP技術(shù)去實(shí)現(xiàn)校園網(wǎng)站的資源整合及重構(gòu);需研究如何快速,深化的去使用mysql去查詢數(shù)據(jù);對服務(wù)器的功能的基本了解,包括的自帶的功能如Memcache,Storage等的應(yīng)用;研究如何結(jié)合微信公共平臺(tái),更加快捷方便的使用微生活的各個(gè)功能。慫闡譜鯪逕導(dǎo)嘯畫長涼。而通過各個(gè)功能的實(shí)現(xiàn),以及多個(gè)方面的結(jié)合,能夠使用戶在微信上方便,快捷,高校的使用微生活的功能,可以更加完善的結(jié)合學(xué)校所有的網(wǎng)站功能,而在此基礎(chǔ)上,同學(xué)們對學(xué)校文化,活動(dòng),教務(wù)以及生活各個(gè)方面有個(gè)更好的體驗(yàn)和參與,使得信息更加及時(shí),高效,快速的進(jìn)入同學(xué)生活中。諺辭調(diào)擔(dān)鈧諂動(dòng)禪瀉類。1.3 研究內(nèi)容本文通過研究當(dāng)前高校的校內(nèi)網(wǎng)的情況,并做出基本功能需求分析。在網(wǎng)站方面,主要包括以下內(nèi)容:(1) 功能模塊設(shè)計(jì):包括功能設(shè)計(jì),模塊劃分,系統(tǒng)框架設(shè)計(jì),數(shù)據(jù)庫設(shè)計(jì)和用戶操作流程設(shè)計(jì)等。(2) 系統(tǒng)實(shí)現(xiàn):基于PHP與mysql數(shù)據(jù),在linux的環(huán)境下進(jìn)行開發(fā),實(shí)現(xiàn)各功能模塊,包括在?;镜男畔⒉樵儯瑐€(gè)人信息管理,校內(nèi)文件分享以及生活服務(wù)等。嘰覲詿縲鐋囁偽純鉿錈。擬解決的主要問題微生活系統(tǒng)的功能設(shè)計(jì)與實(shí)現(xiàn):通過對寧波工程學(xué)院學(xué)生用戶群體的生活、學(xué)習(xí)的實(shí)際需求進(jìn)行調(diào)研,并結(jié)合學(xué)校各類信息系統(tǒng)建設(shè)的現(xiàn)狀,探討寧工“微生活”網(wǎng)站的功能設(shè)計(jì),并基于PHP技術(shù)予以實(shí)現(xiàn)。熒紿譏鉦鏌觶鷹緇機(jī)庫。在網(wǎng)頁設(shè)計(jì)方面,通過簡單應(yīng)用響應(yīng)式設(shè)計(jì),簡單實(shí)現(xiàn)對移動(dòng)設(shè)備不兼容 的問題,以及在對CSS+JavaScript在進(jìn)入深一步的研究。鶼漬螻偉閱劍鯫腎邏蘞。2. 基本技術(shù)和理論2.1 數(shù)據(jù)庫技術(shù)Mysql是一個(gè)關(guān)系型數(shù)據(jù)庫管理系統(tǒng),但是目前用的最多的數(shù)據(jù)庫管理系統(tǒng),其中mysql是web應(yīng)用中最好的RDBMS (Relational Database Management System,關(guān)系數(shù)據(jù)庫管理系統(tǒng)) 應(yīng)用軟件之一,具有分布式數(shù)據(jù)庫和數(shù)據(jù)倉庫功能,將數(shù)據(jù)庫中數(shù)據(jù)保存到不同的表中,而不是放在一個(gè)大倉庫中,更好的提高了靈活性,而其所使用的sql語言是用于訪問數(shù)據(jù)庫的最常用標(biāo)準(zhǔn)化語言。由于體積小,速度快,總體擁有成本低,又開放源碼等特點(diǎn),因此,一般中小型網(wǎng)站開發(fā)都選擇mysql作為網(wǎng)站數(shù)據(jù)庫,而搭配PHP,apache可組成良好的開發(fā)環(huán)境。紂憂蔣氳頑薟驅(qū)藥憫騖。圖2-1為mysql的可視化圖形界面圖: 圖2-1 數(shù)據(jù)庫可視化圖2.2 AJAX技術(shù)AJAX = Asynchronous JavaScript and XML即異步操作的javascript和xml。能夠是網(wǎng)頁在整個(gè)頁面不重新加載的情況下能夠和服務(wù)器交換數(shù)據(jù),更新網(wǎng)頁部分技術(shù)。主要就是創(chuàng)建請求對象,發(fā)送請求,獲取響應(yīng)等步驟,從而與服務(wù)器交互,包括get和post兩種方法去對接。穎芻莖蛺餑億頓裊賠瀧。瀏覽器中添加了負(fù)責(zé)發(fā)送請求的AJAX對象,該對象事先會(huì)綁定一段事件(js調(diào)用)處理函數(shù)。用戶填寫信息點(diǎn)擊注冊時(shí),會(huì)調(diào)用AJAX對象的方法,發(fā)送請求,AJAX對象發(fā)請求并不會(huì)影響頁面的存在,所以在AJAX對象發(fā)送請求的同時(shí),表單頁面還可以進(jìn)行其他的工作。服務(wù)器接收到請求后獲取數(shù)據(jù),處理判斷,響應(yīng)時(shí)的數(shù)據(jù)不再是完整的頁面,而是部分?jǐn)?shù)據(jù)。當(dāng)響應(yīng)提供的部分?jǐn)?shù)據(jù)到達(dá)客戶端時(shí),并不是直接由瀏覽器展示,事先準(zhǔn)備好的事件處理函數(shù)接收、解析。部分?jǐn)?shù)據(jù)取出來后由JavaScript代碼控制這些數(shù)據(jù),更新至頁面的某位置。濫驂膽閉驟羥闈詔寢賻。整個(gè)過程中,AJAX負(fù)責(zé)發(fā)送請求,也負(fù)責(zé)接受返回的響應(yīng),并將響應(yīng)中的數(shù)據(jù)更新至頁面中主要流程圖如圖2-2所示銚銻縵嚌鰻鴻鋟謎諏涼。圖2-2 AJAX工作示意圖2.3 響應(yīng)式布局Div+Css是在靜態(tài)頁面中最常用的前段技術(shù),是WEB設(shè)計(jì)的標(biāo)準(zhǔn),一種網(wǎng)頁布局,與之前的表格布局可以完美的實(shí)現(xiàn)頁面內(nèi)容與表現(xiàn)相分離。而本文用了簡單的響應(yīng)式設(shè)計(jì),集中創(chuàng)建頁面的圖片排版,智能的根據(jù)使用設(shè)備進(jìn)行相應(yīng)的布局。擠貼綬電麥結(jié)鈺贖嘵類。響應(yīng)式布局是在2010年提出的,主要是為了適應(yīng)不同終端,為用戶提供一個(gè)更加舒適的界面,提高用戶體驗(yàn)。因?yàn)榇a編寫需要使網(wǎng)頁適應(yīng)多個(gè)終端設(shè)備,因此會(huì)出現(xiàn)代碼量大,加載時(shí)間長,又因?yàn)樯婕暗蕉喾矫嬖O(shè)計(jì),因此很多效果達(dá)不到最佳效果。主要的設(shè)計(jì)思路是通過javascript語句去判斷設(shè)備的分辨率,從而去加載不同的css樣式效果,而與此同時(shí)在設(shè)定各個(gè)參數(shù)的時(shí)候,采用百分比,或者自動(dòng)(auto)等參數(shù),能夠充分適應(yīng)界面。賠荊紳諮侖驟遼輩襪錈。主要樣式圖如圖2-3所示。圖2-3 自適應(yīng)樣式圖3. 基本系統(tǒng)設(shè)計(jì) 3.1 需求分析3.1.1 系統(tǒng)基本功能需求1. 基本教務(wù)系統(tǒng)查詢:對接教務(wù)系統(tǒng),結(jié)合網(wǎng)頁,微信,實(shí)現(xiàn)功能主要包括學(xué)生成績,課表等教務(wù)信息的一鍵查詢和在線查詢。2. 圖書信息查詢對接學(xué)校圖書館系統(tǒng),獲取主要包括個(gè)人借書信息,還書時(shí)間提醒,以及書籍查詢,包括館藏,出版社等基本信息。塤礙籟饈決穩(wěn)賽釙冊庫。3. 無線公交查詢和寧波通、市公交系統(tǒng)對接,實(shí)現(xiàn)公交實(shí)時(shí)查詢,公交到站提醒登錄和匹配對接提醒功能。4. 寧工出行拼車(修改案)拼車信息填寫及查詢,主要解決學(xué)校出行問題,例如東校區(qū)來回拼車,市區(qū)來回拼車等5. 匿名交友微信平臺(tái)上學(xué)生的匿名交友功能,快速回復(fù)等,主要豐富平臺(tái)的娛樂功能。3.1.2 系統(tǒng)性能需求1.時(shí)間特性:系統(tǒng)響應(yīng)時(shí)間足夠迅速(5 s),能夠滿足用戶要求。2.適應(yīng)性:在操作方式、運(yùn)行環(huán)境、使用設(shè)備改變以及接口改變的場景下,系統(tǒng)需要能夠自動(dòng)適應(yīng),有相應(yīng)的布局調(diào)整。3.可使用性: 操作界面簡單明了,但對格式和數(shù)據(jù)類型進(jìn)行驗(yàn)證,包括對客戶端驗(yàn)證和服務(wù)端驗(yàn)證,并采用錯(cuò)誤友好提醒,提示用戶輸入正確數(shù)據(jù)和使用正確的操作方式。裊樣祕廬廂顫諺鍘羋藺。4.安全保密性只有合法用戶才能登錄使用系統(tǒng),因此對每個(gè)用戶都有不同等級的設(shè)置。對用戶名、密碼、以及用戶相關(guān)信息進(jìn)行加密處理,保證賬號(hào)信息安全。倉嫗盤紲囑瓏詁鍬齊驁。5.可維護(hù)性 采用功能間的低耦合連接,相互之間的數(shù)據(jù)庫主外鍵連接,使用面向?qū)ο筮M(jìn)行調(diào)用,方便修改操作。系統(tǒng)采用了記錄日志,用于記錄用戶的操作及故障信息,同時(shí)本系統(tǒng)采用的B /S模式,結(jié)構(gòu)清晰,便于維護(hù)人員進(jìn)行維護(hù)。綻萬璉轆娛閬蟶鬮綰瀧。3.1.3 系統(tǒng)運(yùn)行環(huán)境需求云端架構(gòu)的環(huán)境是sae,其中運(yùn)行環(huán)境已經(jīng)集成配置好,主要SAE平臺(tái)目前的Web服務(wù)器使用的是:CentOS-6.x;Apache-2.2.x;PHP-5.3.x。Web服務(wù)器運(yùn)行在64位Linux環(huán)境下。 Apache運(yùn)行在Prefork模式下,即每個(gè)請求都會(huì)對應(yīng)一個(gè)Apache進(jìn)程,請求結(jié)束后該進(jìn)程才能服務(wù)于下一個(gè)請求。平臺(tái)通過模塊方式擴(kuò)展了Apache和PHP的相關(guān)功能。但也一些函數(shù)和類被限制使用例如函數(shù)exec,system等,SQLiteDatabase類等。驍顧燁鶚巰瀆蕪領(lǐng)鱺賻。本地測試則使用wamp(windows+apache+mysql+PHP)環(huán)境,而在WampServer安裝完成后,通過http:/localhost/打開后可以看到WampServer自帶的一個(gè)簡單的頁面,里面有PHPinfo、PHPmyadmin和sqlitemanager三個(gè)工具,能夠圖形化mysql和網(wǎng)頁界面?,嶀暈R曖惲錕縞馭篩涼。3.2系統(tǒng)總體架構(gòu)設(shè)計(jì)圖 3.2.1 設(shè)計(jì)結(jié)構(gòu)功能圖從首頁登錄之后,可以更具登錄帳號(hào)密碼去訪問學(xué)校的教務(wù)網(wǎng)站,圖書館系統(tǒng),以及匿名交友等功能,寧波無線公交功能是在未登錄狀態(tài)也可使用,公交提醒功能則需要登錄使用。鎦詩涇艷損樓紲鯗餳類。圖3-1 設(shè)計(jì)結(jié)構(gòu)功能圖3.2.2 功能界面設(shè)計(jì):采用類似win8式風(fēng)格設(shè)計(jì),簡單,明白,易操作,比較明顯,采用HTML和PHP嵌套寫入,結(jié)合mysql數(shù)據(jù)庫顯示部分?jǐn)?shù)據(jù)。櫛緶歐鋤棗鈕種鵑瑤錟。圖3-2 功能界面設(shè)計(jì)圖3.2.3 功能流程圖設(shè)計(jì)圖3-3 功能流程設(shè)計(jì)圖3.3 功能設(shè)計(jì)3.3.1 登陸功能表3-1 登陸功能簡介表功能描述登陸,注冊基本功能的實(shí)現(xiàn)。關(guān)鍵技術(shù)表單基本驗(yàn)證,數(shù)據(jù)庫賬戶驗(yàn)證,驗(yàn)證碼驗(yàn)證,是否在線判斷,郵箱驗(yàn)證。所需要主要函數(shù)及關(guān)鍵類所需主要函數(shù)及關(guān)鍵類:email,check_Session,verification_Code,check_User登錄功能的流程圖如圖3-4所示。圖3-4 登陸功能流程圖3.3.2 基本教務(wù)系統(tǒng)的查詢功能描述教務(wù)系統(tǒng)的成績課表查詢等(本學(xué)期和所有課表)。關(guān)鍵技術(shù)帳號(hào)密碼驗(yàn)證,模擬登錄,正則表達(dá)式匹配,放入緩存。所需要主要函數(shù)及關(guān)鍵類check_Uesr_Edu,curl,ereg(pattern, string)等設(shè)計(jì)思路使用curl模擬登錄教務(wù)系統(tǒng),返回到微信和網(wǎng)頁端,學(xué)生的帳號(hào)密碼根據(jù)openid從數(shù)據(jù)庫查找獲取。表3-1 教務(wù)系統(tǒng)查詢功能介紹從教務(wù)系統(tǒng)模擬登錄獲取教務(wù)系統(tǒng)獲取cookie如圖3-5所示,而整個(gè)系統(tǒng)走向如圖3-6所示。圖3-5 抓取教務(wù)系統(tǒng)cookie圖圖3-6 教務(wù)系統(tǒng)模擬登陸示意圖3.3.3 圖書信息的查詢表3-3 圖書信息功能介紹功能描述包括個(gè)人借書信息,還書時(shí)間提醒,書籍查詢關(guān)鍵技術(shù)圖書館帳號(hào)密碼驗(yàn)證,模擬(post)登錄,正則表達(dá)式匹配,放入緩存,模擬get查詢。所需要主要函數(shù)及關(guān)鍵類Memcache,Bus,Send_Message等。設(shè)計(jì)思路check_Uesr_Lib,curl,ereg(pattern, string),email等(ps:還書提醒應(yīng)用于微信,需要微信的api)服務(wù)器,客戶端,圖書館系統(tǒng)之間的相互調(diào)用如圖3-7所示。圖3-7 圖書館模擬查詢示意圖3.3.4 無線公交查詢表3-4 無線公交功能介紹功能描述獲取實(shí)時(shí)公交,加入到站提醒功能關(guān)鍵技術(shù)h5的自適應(yīng)網(wǎng)頁,get獲取公交信息,解析json,AJAX技術(shù)以及配合微信api的到站提醒功能。所需要主要函數(shù)及關(guān)鍵類Memcache,Bus,Send_Message等。設(shè)計(jì)思路發(fā)送路線(523)get請求,在獲取參數(shù)后返回json數(shù)據(jù),通過解析用AJAX修改站點(diǎn)選項(xiàng)框,通過PHP語言把所提交的信息寫入數(shù)據(jù)庫,帶著時(shí)間參數(shù)整個(gè)設(shè)計(jì)流程圖如圖3-8所示。圖3-8 無線公交提醒信息流程圖3.3.5 匿名交友(僅限微信)表3-5 匿名交友功能介紹功能描述在平臺(tái)匿名交友關(guān)鍵技術(shù)微信api,sae緩存所需要主要函數(shù)及關(guān)鍵類Memcache,ACCESS_TOKEN接口等設(shè)計(jì)思路主要利用微信平臺(tái)做為一個(gè)類似的中轉(zhuǎn)站,客服功能,使得發(fā)送過來的消息能夠通過平臺(tái)去發(fā)送到指定同學(xué)圖3-9 微信匿名交友流程圖3.4數(shù)據(jù)庫設(shè)計(jì)3.4.1 數(shù)據(jù)庫關(guān)系圖圖3-10 數(shù)據(jù)庫關(guān)系圖3.4.2 數(shù)據(jù)庫設(shè)計(jì)1.用戶帳號(hào)密碼設(shè)計(jì)userform存放用戶信息,id是用戶的編號(hào)為主鍵,自動(dòng)生成。username是用戶稱呼,password是用戶的密碼,email是用戶的郵箱,realname是用戶的真實(shí)姓名, 這幾行的內(nèi)容在注冊時(shí)必須填寫不能為空。regedate是用戶注冊日期,格式為年-月-日,是自動(dòng)添加,openid是微信fromusername(具有唯一標(biāo)識(shí))。轡燁棟剛殮攬瑤麗鬮應(yīng)。表3-6 userform字段類型Null注釋idint(11)否主鍵usernamevarchar(255)否用戶passwordvarchar(255)否密碼emailvarchar(24)否郵箱realnamevarchar(255)否真實(shí)姓名openidvarchar(255)否用戶idregedatedate否注冊時(shí)間教務(wù)系統(tǒng)帳號(hào)密碼設(shè)計(jì)主要存放用戶的教務(wù)系統(tǒng)賬號(hào)和密碼,以及主鍵id和用戶的唯一標(biāo)識(shí)openid,表格3-7 User_edu字段類型注釋idint(11)主鍵Iduservarchar(200)用戶名passwordvarchar(200)密碼Openidvarchar(200)用戶id2. 圖書館帳號(hào)密碼設(shè)計(jì)表3-8 User_lib字段類型空idint(11)否uservarchar(200)否passwordvarchar(200)否usernamevarchar(200)否3. 匿名交友數(shù)據(jù)庫設(shè)計(jì)其中主鍵是id,與其他表對接的鍵是openid,time是存儲(chǔ)用戶參與活動(dòng)的時(shí)間,用在判斷用戶是否已經(jīng)過了四十八小時(shí)互動(dòng),在這里設(shè)定是18小時(shí),black是判斷是被拉黑,0是被拉黑,1是未被拉黑,默認(rèn)是1;峴揚(yáng)斕滾澗輻灄興渙藺。表3-9 Maker_friend字段類型默認(rèn)注釋idint(11)主鍵idopenidvarchar(200) 用戶idtimevarchar(200)發(fā)送時(shí)間blackint(1)0是否被拉黑4. 系統(tǒng)實(shí)現(xiàn)及測試4.1 主要類設(shè)計(jì)主要設(shè)計(jì)如下幾個(gè)類:Check_User,User_Edu,User_Lib,Bus,Library_serach,Send_Message,Maker_Friend。詩叁撻訥燼憂毀厲鋨驁。每個(gè)類都有各自的功能,查詢課表成績,查詢公交車等,但 在登錄教務(wù)系統(tǒng)和圖書館的時(shí)候調(diào)用Check_User類去檢驗(yàn)用戶的賬號(hào)密碼的正確與否,而設(shè)計(jì)到要發(fā)送消息的時(shí)候即調(diào)用Send_Mseeage。關(guān)系如下圖4-1所示。則鯤愜韋瘓賈暉園棟瀧。圖4-1 類關(guān)系圖下面對這幾個(gè)類進(jìn)行簡要說明:1. User_Edu:用戶可以通過登陸之后,直接獲取自己的教務(wù)系統(tǒng)成績課表信息,如果未登陸狀態(tài),可以直接使用賬號(hào)密碼登陸,調(diào)用Check_User驗(yàn)證信息,在線查詢信息。脹鏝彈奧秘孫戶孿釔賻。包含成績獲取,課表獲取,用戶驗(yàn)證以及成績課表匹配等功能。2. User_Lib:圖書館用戶功能在登陸的時(shí)候調(diào)用Check_User_Lib驗(yàn)證圖書個(gè)人信息,查詢個(gè)人圖書借閱情況,設(shè)置圖書還書提醒信息,但是圖書信息查詢不需要登陸,使用AJAX去顯示反饋的信息。鰓躋峽禱紉誦幫廢掃減。包含圖書信息查詢,還書提醒。3. Bus:公交車查詢寧波實(shí)時(shí)公交,反饋到微信客戶端,并讓用戶可以設(shè)置自己的到站提醒功能,到站提醒功能包含公交車查詢,公交車到站提醒。4. Library_serach包含圖書查詢。5. Check_User主要是調(diào)用圖書館和教務(wù)系統(tǒng)信息的驗(yàn)證,通過返回值去說明賬號(hào)密碼是否正確,即模擬登陸是否成功。4.2 關(guān)鍵功能的實(shí)現(xiàn)代碼4.2.1 User_Edu包含成績獲取,課表獲取以及成績課表匹配等功能。成績獲?。簆rivate function grade($jwid,$jwpwd)$cookie_file = tempnam(./temp, cookie);$ch=curl_init(/default2.aspx);稟虛嬪賑維嚌妝擴(kuò)踴糶。curl_setopt($ch,CURLOPT_RETURNTRANSFER,1);curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);curl_setopt($ch, CURLOPT_COOKIEJAR, $cookie_file);$str=curl_exec($ch);$info=curl_getinfo($ch);curl_close($ch);$pattern = /i;陽簍埡鮭罷規(guī)嗚舊巋錟。 此處省略正則表達(dá)式和返回值課表獲?。簆rivate function kebiao($key) 此處省略模擬登陸過程$key=str_replace(課表,$key);if(empty($key)$i=date(w);if($i=0)$i=7;else$i=$key;$j=$i+1;$week=array(1=星期一,2=星期二,3=星期三,4=星期四,5=星期五,6=星期六,7=星期日);溈氣嘮戇萇鑿鑿櫧諤應(yīng)。$arr=array($td2$j,$td4$i,$td6$j,$td8$i,$td10$j);鋇嵐縣緱虜榮產(chǎn)濤團(tuán)藺。foreach($arr as $v)if(!empty($v)$kebiao .= $vn-n;$kebiao=trim($kebiao);$w=$week$i;4.2.2 Check_User:private function chekc_user($jwid,$jwpwd)此處模擬登陸獲取cookie,登陸主頁過程$login=_VIEWSTATE=$view&txtUserName=$jwid&TextBox2=$jwpwd&RadioButtonList1=%D1%A7%C9%FA&Button1=&lbLanguage=;懨俠劑鈍觸樂鷴燼觶騮。$ch=curl_init();curl_setopt($ch, CURLOPT_URL,$login_url);curl_setopt($ch, CURLOPT_RETURNTRANSFER,1);curl_setopt($ch, CURLOPT_POST, 1);curl_setopt($ch, CURLOPT_POSTFIELDS, $login);curl_setopt($ch, CURLOPT_COOKIEFILE, $cookie_file);謾飽兗爭詣繚鮐癩別瀘。curl_setopt($ch, CURLOPT_COOKIEJAR, $cookie_file);$str=curl_exec($ch);curl_close($ch);if(preg_match(/xs_main/,$str)return 1;elsereturn 0;4.2.3 User_Lib:包含圖書信息查詢,還書提醒。個(gè)人借閱信息:private function library_info($login_url,$username,$password) 咼鉉們歟謙鴣餃競蕩賺。/拿圖書系統(tǒng)cookie$post1= referer=.$login_url.&loginType=callNo&username=.$username.&password=.$password;瑩諧齷蘄賞組靄縐嚴(yán)減。/._VIEWSTATE=dDw1MjQ2ODMxNzY7Oz5HsX7I9BoUKtX%2Fpf18wOU9LWttww%3D%3D&TextBox1=201130101004&TextBox2=3187116&RadioButtonList1=%D1%A7%C9%FA&Button1=+%B5%C7%C2%BC+麩肅鵬鏇轎騍鐐縛縟糶。$ch=curl_init(8:8080/pages/ucenter/checklogin.jsp);納疇鰻吶鄖禎銣膩鰲錟。curl_setopt($ch, CURLOPT_POST, 1);/顯示圖書系統(tǒng)主頁$ch=curl_init($login_url);curl_setopt($ch,CURLOPT_COOKIEFILE, $cookie_file);$header=Referer:.$login_url.ucenter/login;/獲取圖書館:我的首頁$ch1=curl_init($login_url.ucenter/mylibrary/do.jsp?type=index&tag=index&subtag=subindex);風(fēng)攆鮪貓鐵頻鈣薊糾廟。curl_setopt($ch1,CURLOPT_COOKIEFILE, $cookie_file);滅噯駭諗鋅獵輛覯餿藹。preg_match_all(|(.*?)|i,$data,$m);鐒鸝餉飾鐔閌貲諢癱騮。for ($i = 0; $i (.*?)|i,$m1$i,$n);$m1$i=$n1;/打印Return $m;4.2.4 Bus:包含公交車查詢,公交車到站提醒,公交車查詢(已正向?yàn)槔?。此處是一個(gè)bus的PHP文件,已json格式傳遞值需要解析。攙閿頻嶸陣澇諗譴隴瀘。?PHP/ 用名字來填充數(shù)組$bus_line=$_GETq;$desc=$_GETa;if($desc=1)$transtr2=file_get_contents($url);/讀入文件$bus_z = explode(GEO_LAT,$transtr2);foreach($bus_z as $item) $c =$c.$item;if (preg_match(/END_STATION/, $item) break;if ($hint = ) $response=沒有這個(gè)公交車; else $response=$hint; 4.2.5 Library_serach包含圖書查詢。 $content = $_GETcontent;$login_url=8:8080/opac/search?tag=search&subtag=searchresult&gcbook=yes&viewtype=view&viewtype=view&q=.$content.&corename=GcAll&aliasname=%E5%85%A8%E9%83%A8%E9%A6%86%E8%97%8F&search=&q3=%E8%AE%BA%E8%AF%AD%2B%2B&su=&field=title;趕輾雛紈顆鋝討躍滿賺。$HTML = file_get_contents($login_url); echo $HTML; 4.2.6 前端設(shè)計(jì)主要技術(shù)公交提醒功能輸入部分的AJAX代碼(部分):function change(vae) while (div.hasChildNodes() div.removeChild(div.firstChild);if (window.XMLHttpRequest) xmlhttp = new XMLHttpRequest(); else xmlhttp = new ActiveXObject(Microsoft.XMLHTTP);xmlhttp.onreadystatechange = function() if (xmlhttp.readyState = 4 & xmlhttp.status = 200) 夾覡閭輇駁檔驀遷錟減。var strs = new Array();strs = xmlhttp.responseText.split( );document.getElementById(fang).innerHTML = strs0 + 開往 + strsstrs.length - 2;視絀鏝鴯鱭鐘腦鈞欖糲。for (var i = 0; i strs.length; i+) var para = document.createElement(option);var node = document.createTextNode(strsi);para.appendChild(node);var element = document.getElementById(bus_wait);element.appendChild(para);xmlhttp.open(GET,./return.PHP?q= + vv + &a= + vae,true);xmlhttp.send();4.2.6響應(yīng)設(shè)計(jì)判斷代碼(部分):A.加入一行viewport元標(biāo)簽偽澀錕攢鴛擋緬鐒鈞錠。緦徑銚膾齲轎級鏜撟廟。B.不使用絕對寬度(使用百分比或者自動(dòng)即auto)width: xx%;或者width:auto;C.相對字體大小body font: normal 100% Helvetica, Arial, sans-serif;騅憑鈳銘僥張礫陣軫藹。D.布局流動(dòng)處理(即使用float).main float: right;width: 70%;.leftBar float: left;width: 25%;4.2.7 Send_Message提醒功能(僅限微信或者郵箱提醒,使用緩存設(shè)置)。public function sendMessage($touser,$content) /$content = hello world;$APPID = wxd30dacc154b2816c;$APPSECRET = 004626b95896fc7c0b14b2bb224a416b;$mmc = memcache_init();$va = $mmc - get(ACC_TOKEN);if ($va = null) $TOKEN_URL = https
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 物流運(yùn)輸行業(yè)假期旅游證明(5篇)
- 農(nóng)村社區(qū)小區(qū)土地合作開發(fā)協(xié)議
- 餐飲業(yè)智能點(diǎn)餐與外賣服務(wù)平臺(tái)構(gòu)建方案
- 行政管理中市政學(xué)的關(guān)鍵試題及答案
- 商場營業(yè)外包服務(wù)協(xié)議
- 市政學(xué)綜合復(fù)習(xí)試題及答案
- 行政管理自考考試形式試題及答案講解
- 行政管理困境與策略試題及答案
- 2025產(chǎn)權(quán)合同專利權(quán)轉(zhuǎn)讓合同
- 代際差異對團(tuán)隊(duì)管理的影響試題及答案
- 《華能企業(yè)文化建設(shè)》課件
- 陜西延安通和電業(yè)有限責(zé)任公司招聘筆試真題2024
- 2025年醫(yī)院管理專業(yè)研究生入學(xué)考試試卷及答案
- 2025年江蘇高處安裝、維護(hù)、拆除作業(yè)-特種作業(yè)證考試復(fù)習(xí)題庫(含答案)
- 2025年湖北省黃岡市中考數(shù)學(xué)調(diào)研試卷(4月份)
- Unit7OutdoorfunIntegration(課件)-譯林版(2024)英語七年級下冊
- 2023年船員培訓(xùn)計(jì)劃
- 2025中國鐵路鄭州局集團(tuán)招聘614人(河南)筆試參考題庫附帶答案詳解
- 陪玩店合同協(xié)議
- 貨運(yùn)司機(jī)雇傭合同協(xié)議
- 超合同30簽補(bǔ)充協(xié)議
評論
0/150
提交評論