




版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
1、 . 畢 業(yè) 設 計(論 文)設計(論文)題目: 寧工“微生活”設計與開發(fā) 29 / 34摘要當手機、平板等移動設備變得日益流行,在這些設備上的運行的應用程序也隨之變得越來越重要,更多的同學也得力于此可以隨時隨地的學習、娛樂和工作,然而,由于傳統(tǒng)互聯(lián)網(wǎng)技術的限制,這些卻在這些移動設備上不能很好的呈現(xiàn),嚴重的阻礙了校園信息的傳遞,很難適應當前這個以“用戶為中心”、“面向資源共享”、“變化快速”的信息時代。因此,本文在此基礎上建立一個面向廣大師生與高校部使用的信息系統(tǒng)微,把傳統(tǒng)的校園網(wǎng)發(fā)展為“人性化”的產(chǎn)物,以師生需求為核心,運用最新的互聯(lián)網(wǎng)技術,實現(xiàn)支持多終端應用的高校和校園生活服務的完美結合,
2、把學生切身實際的如教務信息,圖書查詢,以與課表查詢等,娛樂學生的功能例如匿名交友,出行功能例如拼車,實時公交等。本次程序設計是基于SAE的服務器,集成了Apache-2.2和PHP-5.3以與mysql的數(shù)據(jù)庫,而主要函數(shù)庫用到了Curl和Ereg,微信開發(fā)接口,采用面向對象的設計思想,功能間采用低耦合設計。在本地測試則采用wamp的集成環(huán)境,即windows、apache、mysql、PHP的集成,更加有效的,方便的在安裝和測試體現(xiàn)出來。整篇文檔通過技術理論分析,系統(tǒng)設計,總體架構,數(shù)據(jù)庫設計,以與關鍵代碼編寫等流程,最終實現(xiàn)了用戶體驗良好、界面設計美觀、功能完善的寧工微生活的基本功能,以與
3、通過微信實現(xiàn)更多實用性極強的功能。 關鍵詞:;PHP;微信;Curl;面向對象;AJAXABSTRACTWhen 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 t
4、o 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 ageSo, based on this,
5、 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 technol
6、ogy, 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 fu
7、nction 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 couplin
8、g 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.The entire document through theory analysis, system design, architecture, database design, and key code compilation process, and ultimately ach
9、ieve 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.Key Words:Web site;PHP;WeChat;oop;AJAX;目 錄1. 引 言11.1 研究背景11.2 研究目的與意義11.3 研究容12. 基本技術和理論32.1 數(shù)據(jù)庫
10、技術32.2 AJAX技術32.3 響應式布局42.4前端技術:Div+CSS等53. 基本系統(tǒng)設計63.1 需求分析63.2系統(tǒng)總體架構設計圖73.3 功能設計93.4數(shù)據(jù)庫設計144. 系統(tǒng)實現(xiàn)與測試174.1 主要類設計174.2 關鍵功能的實現(xiàn)代碼174.3 系統(tǒng)運行實例(手機端)274.4測試分析30結論31致32參考文獻331. 引 言1.1 研究背景Internet的迅速發(fā)展,使得人與人之間的交流已經(jīng)不再局限于面對面的語言交流,可以開始利用Internet上各種快捷的方式進行隨時隨地的交流。這一點在校園里的表現(xiàn)尤為明顯。而大學生所活躍的,貼吧,教務網(wǎng)等在互聯(lián)網(wǎng)的活躍度上所占比例越
11、來越大,校園網(wǎng)在互聯(lián)網(wǎng)的地位也已經(jīng)越來越重要。但國外的高校也也存在單一的模式,即主要是辦公類,教育類,以與生活咨詢類,而各個之間也并沒有很多的功能交錯在一起,存在相互交獨立的關系,而學校官網(wǎng)則比較雜而亂,不能很好的適應同學的生活,在現(xiàn)實生活中不能隨時隨地的去應用,也不能快速的獲取信息反饋,即存在兼容性差,反饋時間長,信息錯亂等多方面的不便。目前在前端設計方面,HTML5 的興起,使得響應式設計能夠很好的去兼容多個移動設備,配合著DIV+CSS設計以與傳統(tǒng)AJAX和Jquery等JS庫,能夠很好的使得去切身實際的去滿足廣大用戶的使用。而MYSQL數(shù)據(jù)庫的分布式存儲以與優(yōu)化的SQL查詢算法,有效地
12、提高查詢速度。在PHP5方面,則可以更加支持更多函數(shù)應用等。1.2 研究目的與意義本文主要研究如何簡單實用H5;結合PHP技術去實現(xiàn)校園的資源整合與重構;需研究如何快速,深化的去使用mysql去查詢數(shù)據(jù);對服務器的功能的基本了解,包括的自帶的功能如Memcache,Storage等的應用;研究如何結合微信公共平臺,更加快捷方便的使用微生活的各個功能。而通過各個功能的實現(xiàn),以與多個方面的結合,能夠使用戶在微信上方便,快捷,高校的使用微生活的功能,可以更加完善的結合學校所有的功能,而在此基礎上,同學們對學校文化,活動,教務以與生活各個方面有個更好的體驗和參與,使得信息更加與時,高效,快速的進入同學
13、生活中。1.3 研究容本文通過研究當前高校的校網(wǎng)的情況,并做出基本功能需求分析。在方面,主要包括以下容:(1) 功能模塊設計:包括功能設計,模塊劃分,系統(tǒng)框架設計,數(shù)據(jù)庫設計和用戶操作流程設計等。(2) 系統(tǒng)實現(xiàn):基于PHP與mysql數(shù)據(jù),在linux的環(huán)境下進行開發(fā),實現(xiàn)各功能模塊,包括在?;镜男畔⒉樵儯瑐€人信息管理,校文件分享以與生活服務等。擬解決的主要問題微生活系統(tǒng)的功能設計與實現(xiàn):通過對工程學院學生用戶群體的生活、學習的實際需求進行調研,并結合學校各類信息系統(tǒng)建設的現(xiàn)狀,探討寧工“微生活”的功能設計,并基于PHP技術予以實現(xiàn)。在網(wǎng)頁設計方面,通過簡單應用響應式設計,簡單實現(xiàn)對移動設
14、備不兼容 的問題,以與在對CSS+JavaScript在進入深一步的研究。2. 基本技術和理論2.1 數(shù)據(jù)庫技術Mysql是一個關系型數(shù)據(jù)庫管理系統(tǒng),但是目前用的最多的數(shù)據(jù)庫管理系統(tǒng),其中mysql是web應用中最好的RDBMS (Relational Database Management System,關系數(shù)據(jù)庫管理系統(tǒng)) 應用軟件之一,具有分布式數(shù)據(jù)庫和數(shù)據(jù)倉庫功能,將數(shù)據(jù)庫中數(shù)據(jù)保存到不同的表中,而不是放在一個大倉庫中,更好的提高了靈活性,而其所使用的sql語言是用于訪問數(shù)據(jù)庫的最常用標準化語言。由于體積小,速度快,總體擁有成本低,又開放源碼等特點,因此,一般中小型開發(fā)都選擇mysql
15、作為數(shù)據(jù)庫,而搭配PHP,apache可組成良好的開發(fā)環(huán)境。圖2-1為mysql的可視化圖形界面圖:圖2-1 數(shù)據(jù)庫可視化圖2.2 AJAX技術AJAX = Asynchronous JavaScript and XML即異步操作的javascript和xml。能夠是網(wǎng)頁在整個頁面不重新加載的情況下能夠和服務器交換數(shù)據(jù),更新網(wǎng)頁部分技術。主要就是創(chuàng)建請求對象,發(fā)送請求,獲取響應等步驟,從而與服務器交互,包括get和post兩種方法去對接。瀏覽器中添加了負責發(fā)送請求的AJAX對象,該對象事先會綁定一段事件(js調用)處理函數(shù)。用戶填寫信息點擊注冊時,會調用AJAX對象的方法,發(fā)送請求,AJAX對
16、象發(fā)請求并不會影響頁面的存在,所以在AJAX對象發(fā)送請求的同時,表單頁面還可以進行其他的工作。服務器接收到請求后獲取數(shù)據(jù),處理判斷,響應時的數(shù)據(jù)不再是完整的頁面,而是部分數(shù)據(jù)。當響應提供的部分數(shù)據(jù)到達客戶端時,并不是直接由瀏覽器展示,事先準備好的事件處理函數(shù)接收、解析。部分數(shù)據(jù)取出來后由JavaScript代碼控制這些數(shù)據(jù),更新至頁面的某位置。整個過程中,AJAX負責發(fā)送請求,也負責接受返回的響應,并將響應中的數(shù)據(jù)更新至頁面中主要流程圖如圖2-2所示圖2-2 AJAX工作示意圖2.3 響應式布局Div+Css是在靜態(tài)頁面中最常用的前段技術,是WEB設計的標準,一種網(wǎng)頁布局,與之前的表格布局可以
17、完美的實現(xiàn)頁面容與表現(xiàn)相分離。而本文用了簡單的響應式設計,集中創(chuàng)建頁面的圖片排版,智能的根據(jù)使用設備進行相應的布局。響應式布局是在2010年提出的,主要是為了適應不同終端,為用戶提供一個更加舒適的界面,提高用戶體驗。因為代碼編寫需要使網(wǎng)頁適應多個終端設備,因此會出現(xiàn)代碼量大,加載時間長,又因為涉與到多方面設計,因此很多效果達不到最佳效果。主要的設計思路是通過javascript語句去判斷設備的分辨率,從而去加載不同的css樣式效果,而與此同時在設定各個參數(shù)的時候,采用百分比,或者自動(auto)等參數(shù),能夠充分適應界面。主要樣式圖如圖2-3所示。圖2-3 自適應樣式圖3. 基本系統(tǒng)設計3.1
18、需求分析3.1.1 系統(tǒng)基本功能需求1. 基本教務系統(tǒng)查詢:對接教務系統(tǒng),結合網(wǎng)頁,微信,實現(xiàn)功能主要包括學生成績,課表等教務信息的一鍵查詢和在線查詢。2. 圖書信息查詢對接學校圖書館系統(tǒng),獲取主要包括個人借書信息,還書時間提醒,以與書籍查詢,包括館藏,等基本信息。3. 無線公交查詢和通、市公交系統(tǒng)對接,實現(xiàn)公交實時查詢,公交到站提醒登錄和匹配對接提醒功能。4. 寧工出行拼車(修改案)拼車信息填寫與查詢,主要解決學校出行問題,例如東校區(qū)來回拼車,市區(qū)來回拼車等5. 匿名交友微信平臺上學生的匿名交友功能,快速回復等,主要豐富平臺的娛樂功能。3.1.2 系統(tǒng)性能需求1.時間特性:系統(tǒng)響應時間足夠迅
19、速(5 s),能夠滿足用戶要求。2.適應性:在操作方式、運行環(huán)境、使用設備改變以與接口改變的場景下,系統(tǒng)需要能夠自動適應,有相應的布局調整。3.可使用性: 操作界面簡單明了,但對格式和數(shù)據(jù)類型進行驗證,包括對客戶端驗證和服務端驗證,并采用錯誤友好提醒,提示用戶輸入正確數(shù)據(jù)和使用正確的操作方式。4.安全性只有合法用戶才能登錄使用系統(tǒng),因此對每個用戶都有不同等級的設置。對用戶名、密碼、以與用戶相關信息進行加密處理,保證賬號信息安全。5.可維護性 采用功能間的低耦合連接,相互之間的數(shù)據(jù)庫主外鍵連接,使用面向對象進行調用,方便修改操作。系統(tǒng)采用了記錄日志,用于記錄用戶的操作與故障信息,同時本系統(tǒng)采用的
20、B /S模式,結構清晰,便于維護人員進行維護。3.1.3 系統(tǒng)運行環(huán)境需求云端架構的環(huán)境是sae,其中運行環(huán)境已經(jīng)集成配置好,主要SAE平臺目前的Web服務器使用的是:CentOS-6.x;Apache-2.2.x;PHP-5.3.x。Web服務器運行在64位Linux環(huán)境下。Apache運行在Prefork模式下,即每個請求都會對應一個Apache進程,請求結束后該進程才能服務于下一個請求。平臺通過模塊方式擴展了Apache和PHP的相關功能。但也一些函數(shù)和類被限制使用例如函數(shù)exec,system等,SQLiteDatabase類等。本地測試則使用wamp(windows+apache+m
21、ysql+PHP)環(huán)境,而在WampServer安裝完成后,通過localhost/打開后可以看到WampServer自帶的一個簡單的頁面,里面有PHPinfo、PHPmyadmin和sqlitemanager三個工具,能夠圖形化mysql和網(wǎng)頁界面。3.2系統(tǒng)總體架構設計圖3.2.1 設計結構功能圖從首頁登錄之后,可以更具登錄密碼去訪問學校的教務,圖書館系統(tǒng),以與匿名交友等功能,無線公交功能是在未登錄狀態(tài)也可使用,公交提醒功能則需要登錄使用。圖3-1 設計結構功能圖3.2.2 功能界面設計:采用類似win8式風格設計,簡單,明白,易操作,比較明顯,采用HTML和PHP嵌套寫入,結合mysql
22、數(shù)據(jù)庫顯示部分數(shù)據(jù)。圖3-2 功能界面設計圖3.2.3 功能流程圖設計圖3-3 功能流程設計圖3.3 功能設計3.3.1 登陸功能表3-1 登陸功能簡介表功能描述登陸,注冊基本功能的實現(xiàn)。關鍵技術表單基本驗證,數(shù)據(jù)庫賬戶驗證,驗證碼驗證,是否在線判斷,驗證。所需要主要函數(shù)與關鍵類所需主要函數(shù)與關鍵類:email,check_Session,verification_Code,check_User登錄功能的流程圖如圖3-4所示。圖3-4 登陸功能流程圖3.3.2 基本教務系統(tǒng)的查詢功能描述教務系統(tǒng)的成績課表查詢等(本學期和所有課表)。關鍵技術密碼驗證,模擬登錄,正則表達式匹配,放入緩存。所需要主
23、要函數(shù)與關鍵類check_Uesr_Edu,curl,ereg(pattern, string)等設計思路使用curl模擬登錄教務系統(tǒng),返回到微信和網(wǎng)頁端,學生的密碼根據(jù)openid從數(shù)據(jù)庫查找獲取。表3-1 教務系統(tǒng)查詢功能介紹從教務系統(tǒng)模擬登錄獲取教務系統(tǒng)獲取cookie如圖3-5所示,而整個系統(tǒng)走向如圖3-6所示。圖3-5 抓取教務系統(tǒng)cookie圖圖3-6 教務系統(tǒng)模擬登陸示意圖3.3.3 圖書信息的查詢表3-3 圖書信息功能介紹功能描述包括個人借書信息,還書時間提醒,書籍查詢關鍵技術圖書館密碼驗證,模擬(post)登錄,正則表達式匹配,放入緩存,模擬get查詢。所需要主要函數(shù)與關鍵類
24、Memcache,Bus,Send_Message等。設計思路check_Uesr_Lib,curl,ereg(pattern, string),email等(ps:還書提醒應用于微信,需要微信的api)服務器,客戶端,圖書館系統(tǒng)之間的相互調用如圖3-7所示。圖3-7 圖書館模擬查詢示意圖3.3.4 無線公交查詢表3-4 無線公交功能介紹功能描述獲取實時公交,加入到站提醒功能關鍵技術h5的自適應網(wǎng)頁,get獲取公交信息,解析json,AJAX技術以與配合微信api的到站提醒功能。所需要主要函數(shù)與關鍵類Memcache,Bus,Send_Message等。設計思路發(fā)送路線(523)get請求,在
25、獲取參數(shù)后返回json數(shù)據(jù),通過解析用AJAX修改站點選項框,通過PHP語言把所提交的信息寫入數(shù)據(jù)庫,帶著時間參數(shù)整個設計流程圖如圖3-8所示。圖3-8 無線公交提醒信息流程圖3.3.5 匿名交友(僅限微信)表3-5 匿名交友功能介紹功能描述在平臺匿名交友關鍵技術微信api,sae緩存所需要主要函數(shù)與關鍵類Memcache,ACCESS_TOKEN接口等設計思路主要利用微信平臺做為一個類似的中轉站,客服功能,使得發(fā)送過來的消息能夠通過平臺去發(fā)送到指定同學圖3-9 微信匿名交友流程圖3.4數(shù)據(jù)庫設計3.4.1 數(shù)據(jù)庫關系圖圖3-10 數(shù)據(jù)庫關系圖3.4.2 數(shù)據(jù)庫設計1.用戶密碼設計userfo
26、rm存放用戶信息,id是用戶的編號為主鍵,自動生成。username是用戶稱呼,password是用戶的密碼,email是用戶的,realname是用戶的真實, 這幾行的容在注冊時必須填寫不能為空。regedate是用戶注冊日期,格式為年-月-日,是自動添加,openid是微信fromusername(具有唯一標識)。表3-6userform字段類型Null注釋idint(11)否主鍵usernamevarchar(255)否用戶passwordvarchar(255)否密碼emailvarchar(24)否realnamevarchar(255)否真實openidvarchar(255)否用
27、戶idregedatedate否注冊時間教務系統(tǒng)密碼設計主要存放用戶的教務系統(tǒng)賬號和密碼,以與主鍵id和用戶的唯一標識openid,表格3-7User_edu字段類型注釋idint(11)主鍵Iduservarchar(200)用戶名passwordvarchar(200)密碼Openidvarchar(200)用戶id2. 圖書館密碼設計表3-8User_lib字段類型空idint(11)否uservarchar(200)否passwordvarchar(200)否usernamevarchar(200)否3. 匿名交友數(shù)據(jù)庫設計其中主鍵是id,與其他表對接的鍵是openid,time是存儲
28、用戶參與活動的時間,用在判斷用戶是否已經(jīng)過了四十八小時互動,在這里設定是18小時,black是判斷是被拉黑,0是被拉黑,1是未被拉黑,默認是1;表3-9Maker_friend字段類型默認注釋idint(11)主鍵idopenidvarchar(200) 用戶idtimevarchar(200)發(fā)送時間blackint(1)0是否被拉黑4. 系統(tǒng)實現(xiàn)與測試4.1 主要類設計主要設計如下幾個類:Check_User,User_Edu,User_Lib,Bus,Library_serach,Send_Message,Maker_Friend。每個類都有各自的功能,查詢課表成績,查詢公交車等,但 在
29、登錄教務系統(tǒng)和圖書館的時候調用Check_User類去檢驗用戶的賬號密碼的正確與否,而設計到要發(fā)送消息的時候即調用Send_Mseeage。關系如下圖4-1所示。圖4-1 類關系圖下面對這幾個類進行簡要說明:1. User_Edu:用戶可以通過登陸之后,直接獲取自己的教務系統(tǒng)成績課表信息,如果未登陸狀態(tài),可以直接使用賬號密碼登陸,調用Check_User驗證信息,在線查詢信息。包含成績獲取,課表獲取,用戶驗證以與成績課表匹配等功能。2. User_Lib:圖書館用戶功能在登陸的時候調用Check_User_Lib驗證圖書個人信息,查詢個人圖書借閱情況,設置圖書還書提醒信息,但是圖書信息查詢不需
30、要登陸,使用AJAX去顯示反饋的信息。包含圖書信息查詢,還書提醒。3. Bus:公交車查詢實時公交,反饋到微信客戶端,并讓用戶可以設置自己的到站提醒功能,到站提醒功能包含公交車查詢,公交車到站提醒。4. Library_serach包含圖書查詢。5. Check_User主要是調用圖書館和教務系統(tǒng)信息的驗證,通過返回值去說明賬號密碼是否正確,即模擬登陸是否成功。4.2 關鍵功能的實現(xiàn)代碼4.2.1User_Edu包含成績獲取,課表獲取以與成績課表匹配等功能。成績獲?。簆rivate function grade($jwid,$jwpwd)$cookie_file = tempnam(./tem
31、p, cookie);$ch=curl_init(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; 此處省略正則表達式和返回值課表獲?。簆rivate function kebiao($key) 此處省略模擬登陸過程$key=s
32、tr_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=星期日);$arr=array($td2$j,$td4$i,$td6$j,$td8$i,$td10$j);foreach($arr as $v)if(!empty($v)$kebiao .= $vn-n;$kebiao=trim($kebiao);$w=$week$i;4.2.2 Check_User:private function che
33、kc_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
34、, 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:包含圖書信息查詢,還書提醒。個人借閱信息:private function library_info($login_url,$user
35、name,$password) /拿圖書系統(tǒng)cookie$post1= referer=.$login_url.&loginType=callNo&username=.$username.&password=.$password;/._VIEWSTATE=dDw1MjQ2ODMxNzY7Oz5HsX7I9BoUKtX%2Fpf18wOU9LWttww%3D%3D&TextBox1=4&TextBox2=3187116&RadioButtonList1=%D1%A7%C9%FA&Button1=+%B5%C7%C2%BC+$ch=curl_init(10.23.4.28:8080/pages/u
36、center/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);curl_setopt($ch1
37、,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:包含公交車查詢,公交車到站提醒,公交車查詢(已正向為例)。此處是一個bus的PHP文件,已json格式傳遞值需要解析。?PHP/ 用名字來填充數(shù)組$bus_line=$_GETq;$desc=$_GETa;if($desc=1)$transtr2=file_get_contents($url);/讀入文件$bus_z = ex
38、plode(GEO_LAT,$transtr2);foreach($bus_z as $item) $c =$c.$item;if (preg_match(/END_STATION/, $item) break;if ($hint = ) $response=沒有這個公交車; else $response=$hint; 4.2.5 Library_serach包含圖書查詢。 $content = $_GETcontent;$login_url=10.23.4.28:8080/opac/search?tag=search&subtag=searchresult&gcbook=yes&viewty
39、pe=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 前端設計主要技術公交提醒功能輸入部分的AJAX代碼(部分):function change(vae) while (div.hasChildNodes() div.removeChild(
40、div.firstChild);if (window.XML Request) xml = new XML Request(); else xml = new ActiveXObject(Microsoft.XML );xml .onreadystatechange = function() if (xml .readyState = 4 & xml .status = 200) var strs = new Array();strs = xml .responseText.split( );document.getElementById(fang).innerHTML = strs0 + 開
41、往 + 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);xml .open(GET,./return.PHP?q= + vv + &a= + vae,true);xml .se
42、nd();4.2.6響應設計判斷代碼(部分):A.加入一行viewport元標簽B.不使用絕對寬度(使用百分比或者自動即auto)width: xx%;或者width:auto;C.相對字體大小body font: normal 100% Helvetica, Arial, sans-serif;D.布局流動處理(即使用float).main float: right;width: 70%;.leftBar float: left;width: 25%;4.2.7 Send_Message提醒功能(僅限微信或者提醒,使用緩存設置)。public function sendMessage($to
43、user,$content) /$content = hello world;$APPID = wxd30dacc154b2816c;$APPSECRET = 004626b95896fc7c0b14b2bb224a416b;$mmc = memcache_init();$va = $mmc - get(ACC_TOKEN);if ($va = null) $TOKEN_URL = s:/api.weixin. ./cgi-bin/token?grant_type=client_credential&appid= . $APPID . &secret= . $APPSECRET;$json =
44、 file_get_contents($TOKEN_URL);$result = json_decode($json);$ACC_TOKEN = $result - access_token;$mmc = memcache_init();$mmc - set(ACC_TOKEN, $ACC_TOKEN, 0, 3000); else $ACC_TOKEN = $va;/echo $ACC_TOKEN.n;$data = touser: . $touser . , msgtype:text, text: content: . $content . ;$url = s:/api.weixin. .
45、/cgi-bin/message/custom/send?access_token= . $ACC_TOKEN;$curl = curl_init();curl_setopt($curl, CURLOPT_URL, $url);curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, FALSE);curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, FALSE);curl_setopt($curl, CURLOPT_POST, 1);curl_setopt($curl, CURLOPT_POSTFIELDS, $data);curl
46、_setopt($curl, CURLOPT_RETURNTRANSFER, 1);$result = curl_exec($curl);if (curl_errno($curl) return Errno . curl_error($curl);curl_close($curl);$final = json_decode($result);$msg = $final - errmsg;return $msg;4.3 系統(tǒng)運行實例(手機端)4.3.1 登錄/注冊如果沒有填寫東西或者填寫不合理,就會彈出alert對話框。圖5-1 用戶登錄圖 圖5-2 用戶注冊圖4.3.2課表成績查詢頁面:圖5-
47、3 用戶教務系統(tǒng)密碼輸入圖4.3.3課表顯示頁面:圖5-4 用戶課表顯示圖4.3.4成績顯示圖5-4 用戶成績顯示圖(網(wǎng)頁版)圖5-5 用戶成績顯示圖(手機版)4.3.5公交車到站提醒頁面(結合微信):圖5-6 用戶公交到站提醒信息輸入圖4.3.6 匿名交友(微信交友):圖5-7 用戶發(fā)送信息圖 5-8 用戶獲取交友對象圖4.3.7圖書館信息提交圖5-9 用戶圖書館信息輸入圖4.4測試分析1. 其中當涉與到運行查詢寧工圖書的時候,系統(tǒng)運行的特別慢,可能是設計到系統(tǒng)本身的模擬查詢是建立在圖書館系統(tǒng)上的,使得運行步驟增加導致程序的變慢。2. 數(shù)據(jù)庫的設計在幾個表之間主鍵的利用不是很大,其中對表的查
48、詢未加入索引,因為本身的數(shù)據(jù)量不是很大,而在教務系統(tǒng)查詢的時候,如果數(shù)量到達一定程度之后,加入索引數(shù)據(jù)庫訪問會提高很多。3. 在使用自適應技術上,時間和精力有限,本頁面在該技術上還有很大的提高空間,所以在CSS的效果上做的不是很好,在本文也只是簡單實用JS判斷設備改變分辨率大小,所以很多地方還不夠完美結 論本次開發(fā)最大的享受就是在邊開發(fā)邊應用的過程,基本所有的開發(fā)都應用在寧工小助手的微信平臺中,粉絲以近4000,而在線課表完成時一星期的點擊量在1.8萬左右,在匿名交友的功能更是受到同學的青睞,在開發(fā)無線公交的時候,中間停頓了一星期左右,一直在設計思路,也由此明白開發(fā)前的設計是多么的重要,在實踐
49、中,這些功能也有些弊端,比如交友的拉黑功能還有待改進,公交提醒功能還不夠細致等等,但也會在以后的開發(fā)中繼續(xù)完善。在程序開發(fā)過程中,用微信開發(fā),使用微信客服的API去使用微信獨有的功能,能夠在開發(fā)使用中更加人性化和娛樂化,不斷和用戶交互;而其獨一無二的openid,可以作為網(wǎng)頁中的唯一標識,無論在登陸或者校驗,都比較方便;使用AJAX改善用戶體驗的過程中,響應事件最好可以寫在JS中,HTML中可以使用ID選擇器,便于維護。當然,很多地方也由于時間和精力的有限,確實沒有盡善盡美,也希望能在以后實踐應用中多多改正。致至此,寧工微生活的設計與開發(fā)就基本完成了。此次畢業(yè)設計歷時三個月,短短三個月中,我把
50、自己大學期間所有的知識第一次連貫了起來,從最初的生疏到后來的靈活運用,我真正的體驗到了學以致用的樂趣。在這次的開發(fā)中,歷時三個多月,在三個多月的時間中,前兩個多月一直致力于開發(fā)程序,使得論文的攥寫一直到第三個月底才開展,而在開發(fā)過程中我學習了PHP開發(fā),B/S框架,MySQL數(shù)據(jù)庫管理系統(tǒng),以與一些有利于軟件開發(fā)的相關技術,例如AJAX,CSS,Javascript,以與其他網(wǎng)絡知識。此次畢業(yè)設計過程中,特別要感的是天鶴老師對我的幫助,無論是在人生選擇還是技術上,都給了我莫大的幫助,從最初畢業(yè)論文的選題到最后論文的撰寫,老師都一直耐心細致的指導我。尤其在系統(tǒng)的開發(fā)過程中,老師豐富的知識和經(jīng)驗叫
51、我軟件開發(fā)等基本知識,讓我能夠更加熟悉整個流程,在論文攥寫過程中,也不斷對我提出建設性的批評。整個過程中,還要改寫在完成中給我提供技術指導的小伙伴,無論是本校的學長,還是其他高校的同學,對自己的技術進步有很大的幫住,而在其中,我們的人際交往能力也隨之提高,很多設計考慮到整個規(guī)劃,需要同學的參與,因此也結交了很多好朋友。最后也感工程學院對我的栽培,四年是我人生中最寶貴的財富,從一開始的學生會工作,到對軟件編程的基本憧憬到現(xiàn)在真正接觸軟件,我也從老師那里接受了專業(yè)的學科知識,包括數(shù)學,編程,算法,運籌,統(tǒng)計,經(jīng)濟等一些非常有意義的課時,也學習了各項技能,同時我也點燃了對這個行業(yè)的熱情,養(yǎng)成了良好的
52、能力和素養(yǎng),四年讓我成長為一個更加成熟,自信的自己,也讓我能夠在未來以寧工學子的身份,走的更遠。參考文獻1 凱華,中華等著. PHP從入門到精通M. :清華大學,2010:23-37.2 于菏云著. PHP+MySQL開發(fā)全程實例M. :清華大學,2012:73-82.3 孔祥盛著. PHP編程基礎與實例教程M. :人民郵電,2011:45-67.4 列旭松,文著. PHP核心技術與最佳實踐M. :機械工業(yè),2012:56-78.5 承堯著. MySQL技術幕:SQL編程M. :機械工業(yè),2012:46-67.6 戴一平. 計算機與現(xiàn)代化:MVC設計模式在PHP開發(fā)中的應用J. 中國出版,2011(3):34-43.7 譚貞軍著. 深入體驗PHP項目開發(fā)M. :清華大學,2011:78-98.8 賈素玲等. XML技術應用.清華大學M.
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025實驗室設備租賃合同實驗室設備租賃合同范本
- 2025委托貸款借款合同書
- 2025關于房產(chǎn)轉讓的合同
- 2025年個人房屋租賃合同
- 商務往來合同審批流程說明
- 公司辦理勞務派遣合同
- 實習期簽訂勞動合同
- 健康教育實施技巧試題及答案
- 中級審計師重要考點復習試題及答案
- 航空器清洗保養(yǎng)試題及答案
- 危重病人的搶救與配合 2
- 2025-2030中國CAD-CAM牙科系統(tǒng)行業(yè)市場發(fā)展趨勢與前景展望戰(zhàn)略研究報告
- 【9數(shù)一?!?025年安徽省合肥市第四十五中學九年級中考數(shù)學一模試卷
- 食堂承包餐飲管理制度
- 礦山地質安全培訓課件
- 專題20 尺規(guī)作圖-備戰(zhàn)2025年中考數(shù)學真題題源解密(山東專用)
- 基金職業(yè)道德試題及答案
- 娛樂場所管理條例
- 體育協(xié)會的“三會一課”制度建設經(jīng)驗
- 中考道法萬能答題模板(32大類)
- 《濕地生態(tài)系統(tǒng)》課件
評論
0/150
提交評論