“微生活”網站設計與開發畢業論文_第1頁
“微生活”網站設計與開發畢業論文_第2頁
“微生活”網站設計與開發畢業論文_第3頁
“微生活”網站設計與開發畢業論文_第4頁
“微生活”網站設計與開發畢業論文_第5頁
已閱讀5頁,還剩29頁未讀 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、 . 畢 業 設 計(論 文)設計(論文)題目: 寧工“微生活”設計與開發 29 / 34摘要當手機、平板等移動設備變得日益流行,在這些設備上的運行的應用程序也隨之變得越來越重要,更多的同學也得力于此可以隨時隨地的學習、娛樂和工作,然而,由于傳統互聯網技術的限制,這些卻在這些移動設備上不能很好的呈現,嚴重的阻礙了校園信息的傳遞,很難適應當前這個以“用戶為中心”、“面向資源共享”、“變化快速”的信息時代。因此,本文在此基礎上建立一個面向廣大師生與高校部使用的信息系統微,把傳統的校園網發展為“人性化”的產物,以師生需求為核心,運用最新的互聯網技術,實現支持多終端應用的高校和校園生活服務的完美結合,

2、把學生切身實際的如教務信息,圖書查詢,以與課表查詢等,娛樂學生的功能例如匿名交友,出行功能例如拼車,實時公交等。本次程序設計是基于SAE的服務器,集成了Apache-2.2和PHP-5.3以與mysql的數據庫,而主要函數庫用到了Curl和Ereg,微信開發接口,采用面向對象的設計思想,功能間采用低耦合設計。在本地測試則采用wamp的集成環境,即windows、apache、mysql、PHP的集成,更加有效的,方便的在安裝和測試體現出來。整篇文檔通過技術理論分析,系統設計,總體架構,數據庫設計,以與關鍵代碼編寫等流程,最終實現了用戶體驗良好、界面設計美觀、功能完善的寧工微生活的基本功能,以與

3、通過微信實現更多實用性極強的功能。 關鍵詞:;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 數據庫

10、技術32.2 AJAX技術32.3 響應式布局42.4前端技術:Div+CSS等53. 基本系統設計63.1 需求分析63.2系統總體架構設計圖73.3 功能設計93.4數據庫設計144. 系統實現與測試174.1 主要類設計174.2 關鍵功能的實現代碼174.3 系統運行實例(手機端)274.4測試分析30結論31致32參考文獻331. 引 言1.1 研究背景Internet的迅速發展,使得人與人之間的交流已經不再局限于面對面的語言交流,可以開始利用Internet上各種快捷的方式進行隨時隨地的交流。這一點在校園里的表現尤為明顯。而大學生所活躍的,貼吧,教務網等在互聯網的活躍度上所占比例越

11、來越大,校園網在互聯網的地位也已經越來越重要。但國外的高校也也存在單一的模式,即主要是辦公類,教育類,以與生活咨詢類,而各個之間也并沒有很多的功能交錯在一起,存在相互交獨立的關系,而學校官網則比較雜而亂,不能很好的適應同學的生活,在現實生活中不能隨時隨地的去應用,也不能快速的獲取信息反饋,即存在兼容性差,反饋時間長,信息錯亂等多方面的不便。目前在前端設計方面,HTML5 的興起,使得響應式設計能夠很好的去兼容多個移動設備,配合著DIV+CSS設計以與傳統AJAX和Jquery等JS庫,能夠很好的使得去切身實際的去滿足廣大用戶的使用。而MYSQL數據庫的分布式存儲以與優化的SQL查詢算法,有效地

12、提高查詢速度。在PHP5方面,則可以更加支持更多函數應用等。1.2 研究目的與意義本文主要研究如何簡單實用H5;結合PHP技術去實現校園的資源整合與重構;需研究如何快速,深化的去使用mysql去查詢數據;對服務器的功能的基本了解,包括的自帶的功能如Memcache,Storage等的應用;研究如何結合微信公共平臺,更加快捷方便的使用微生活的各個功能。而通過各個功能的實現,以與多個方面的結合,能夠使用戶在微信上方便,快捷,高校的使用微生活的功能,可以更加完善的結合學校所有的功能,而在此基礎上,同學們對學校文化,活動,教務以與生活各個方面有個更好的體驗和參與,使得信息更加與時,高效,快速的進入同學

13、生活中。1.3 研究容本文通過研究當前高校的校網的情況,并做出基本功能需求分析。在方面,主要包括以下容:(1) 功能模塊設計:包括功能設計,模塊劃分,系統框架設計,數據庫設計和用戶操作流程設計等。(2) 系統實現:基于PHP與mysql數據,在linux的環境下進行開發,實現各功能模塊,包括在校基本的信息查詢,個人信息管理,校文件分享以與生活服務等。擬解決的主要問題微生活系統的功能設計與實現:通過對工程學院學生用戶群體的生活、學習的實際需求進行調研,并結合學校各類信息系統建設的現狀,探討寧工“微生活”的功能設計,并基于PHP技術予以實現。在網頁設計方面,通過簡單應用響應式設計,簡單實現對移動設

14、備不兼容 的問題,以與在對CSS+JavaScript在進入深一步的研究。2. 基本技術和理論2.1 數據庫技術Mysql是一個關系型數據庫管理系統,但是目前用的最多的數據庫管理系統,其中mysql是web應用中最好的RDBMS (Relational Database Management System,關系數據庫管理系統) 應用軟件之一,具有分布式數據庫和數據倉庫功能,將數據庫中數據保存到不同的表中,而不是放在一個大倉庫中,更好的提高了靈活性,而其所使用的sql語言是用于訪問數據庫的最常用標準化語言。由于體積小,速度快,總體擁有成本低,又開放源碼等特點,因此,一般中小型開發都選擇mysql

15、作為數據庫,而搭配PHP,apache可組成良好的開發環境。圖2-1為mysql的可視化圖形界面圖:圖2-1 數據庫可視化圖2.2 AJAX技術AJAX = Asynchronous JavaScript and XML即異步操作的javascript和xml。能夠是網頁在整個頁面不重新加載的情況下能夠和服務器交換數據,更新網頁部分技術。主要就是創建請求對象,發送請求,獲取響應等步驟,從而與服務器交互,包括get和post兩種方法去對接。瀏覽器中添加了負責發送請求的AJAX對象,該對象事先會綁定一段事件(js調用)處理函數。用戶填寫信息點擊注冊時,會調用AJAX對象的方法,發送請求,AJAX對

16、象發請求并不會影響頁面的存在,所以在AJAX對象發送請求的同時,表單頁面還可以進行其他的工作。服務器接收到請求后獲取數據,處理判斷,響應時的數據不再是完整的頁面,而是部分數據。當響應提供的部分數據到達客戶端時,并不是直接由瀏覽器展示,事先準備好的事件處理函數接收、解析。部分數據取出來后由JavaScript代碼控制這些數據,更新至頁面的某位置。整個過程中,AJAX負責發送請求,也負責接受返回的響應,并將響應中的數據更新至頁面中主要流程圖如圖2-2所示圖2-2 AJAX工作示意圖2.3 響應式布局Div+Css是在靜態頁面中最常用的前段技術,是WEB設計的標準,一種網頁布局,與之前的表格布局可以

17、完美的實現頁面容與表現相分離。而本文用了簡單的響應式設計,集中創建頁面的圖片排版,智能的根據使用設備進行相應的布局。響應式布局是在2010年提出的,主要是為了適應不同終端,為用戶提供一個更加舒適的界面,提高用戶體驗。因為代碼編寫需要使網頁適應多個終端設備,因此會出現代碼量大,加載時間長,又因為涉與到多方面設計,因此很多效果達不到最佳效果。主要的設計思路是通過javascript語句去判斷設備的分辨率,從而去加載不同的css樣式效果,而與此同時在設定各個參數的時候,采用百分比,或者自動(auto)等參數,能夠充分適應界面。主要樣式圖如圖2-3所示。圖2-3 自適應樣式圖3. 基本系統設計3.1

18、需求分析3.1.1 系統基本功能需求1. 基本教務系統查詢:對接教務系統,結合網頁,微信,實現功能主要包括學生成績,課表等教務信息的一鍵查詢和在線查詢。2. 圖書信息查詢對接學校圖書館系統,獲取主要包括個人借書信息,還書時間提醒,以與書籍查詢,包括館藏,等基本信息。3. 無線公交查詢和通、市公交系統對接,實現公交實時查詢,公交到站提醒登錄和匹配對接提醒功能。4. 寧工出行拼車(修改案)拼車信息填寫與查詢,主要解決學校出行問題,例如東校區來回拼車,市區來回拼車等5. 匿名交友微信平臺上學生的匿名交友功能,快速回復等,主要豐富平臺的娛樂功能。3.1.2 系統性能需求1.時間特性:系統響應時間足夠迅

19、速(5 s),能夠滿足用戶要求。2.適應性:在操作方式、運行環境、使用設備改變以與接口改變的場景下,系統需要能夠自動適應,有相應的布局調整。3.可使用性: 操作界面簡單明了,但對格式和數據類型進行驗證,包括對客戶端驗證和服務端驗證,并采用錯誤友好提醒,提示用戶輸入正確數據和使用正確的操作方式。4.安全性只有合法用戶才能登錄使用系統,因此對每個用戶都有不同等級的設置。對用戶名、密碼、以與用戶相關信息進行加密處理,保證賬號信息安全。5.可維護性 采用功能間的低耦合連接,相互之間的數據庫主外鍵連接,使用面向對象進行調用,方便修改操作。系統采用了記錄日志,用于記錄用戶的操作與故障信息,同時本系統采用的

20、B /S模式,結構清晰,便于維護人員進行維護。3.1.3 系統運行環境需求云端架構的環境是sae,其中運行環境已經集成配置好,主要SAE平臺目前的Web服務器使用的是:CentOS-6.x;Apache-2.2.x;PHP-5.3.x。Web服務器運行在64位Linux環境下。Apache運行在Prefork模式下,即每個請求都會對應一個Apache進程,請求結束后該進程才能服務于下一個請求。平臺通過模塊方式擴展了Apache和PHP的相關功能。但也一些函數和類被限制使用例如函數exec,system等,SQLiteDatabase類等。本地測試則使用wamp(windows+apache+m

21、ysql+PHP)環境,而在WampServer安裝完成后,通過localhost/打開后可以看到WampServer自帶的一個簡單的頁面,里面有PHPinfo、PHPmyadmin和sqlitemanager三個工具,能夠圖形化mysql和網頁界面。3.2系統總體架構設計圖3.2.1 設計結構功能圖從首頁登錄之后,可以更具登錄密碼去訪問學校的教務,圖書館系統,以與匿名交友等功能,無線公交功能是在未登錄狀態也可使用,公交提醒功能則需要登錄使用。圖3-1 設計結構功能圖3.2.2 功能界面設計:采用類似win8式風格設計,簡單,明白,易操作,比較明顯,采用HTML和PHP嵌套寫入,結合mysql

22、數據庫顯示部分數據。圖3-2 功能界面設計圖3.2.3 功能流程圖設計圖3-3 功能流程設計圖3.3 功能設計3.3.1 登陸功能表3-1 登陸功能簡介表功能描述登陸,注冊基本功能的實現。關鍵技術表單基本驗證,數據庫賬戶驗證,驗證碼驗證,是否在線判斷,驗證。所需要主要函數與關鍵類所需主要函數與關鍵類:email,check_Session,verification_Code,check_User登錄功能的流程圖如圖3-4所示。圖3-4 登陸功能流程圖3.3.2 基本教務系統的查詢功能描述教務系統的成績課表查詢等(本學期和所有課表)。關鍵技術密碼驗證,模擬登錄,正則表達式匹配,放入緩存。所需要主

23、要函數與關鍵類check_Uesr_Edu,curl,ereg(pattern, string)等設計思路使用curl模擬登錄教務系統,返回到微信和網頁端,學生的密碼根據openid從數據庫查找獲取。表3-1 教務系統查詢功能介紹從教務系統模擬登錄獲取教務系統獲取cookie如圖3-5所示,而整個系統走向如圖3-6所示。圖3-5 抓取教務系統cookie圖圖3-6 教務系統模擬登陸示意圖3.3.3 圖書信息的查詢表3-3 圖書信息功能介紹功能描述包括個人借書信息,還書時間提醒,書籍查詢關鍵技術圖書館密碼驗證,模擬(post)登錄,正則表達式匹配,放入緩存,模擬get查詢。所需要主要函數與關鍵類

24、Memcache,Bus,Send_Message等。設計思路check_Uesr_Lib,curl,ereg(pattern, string),email等(ps:還書提醒應用于微信,需要微信的api)服務器,客戶端,圖書館系統之間的相互調用如圖3-7所示。圖3-7 圖書館模擬查詢示意圖3.3.4 無線公交查詢表3-4 無線公交功能介紹功能描述獲取實時公交,加入到站提醒功能關鍵技術h5的自適應網頁,get獲取公交信息,解析json,AJAX技術以與配合微信api的到站提醒功能。所需要主要函數與關鍵類Memcache,Bus,Send_Message等。設計思路發送路線(523)get請求,在

25、獲取參數后返回json數據,通過解析用AJAX修改站點選項框,通過PHP語言把所提交的信息寫入數據庫,帶著時間參數整個設計流程圖如圖3-8所示。圖3-8 無線公交提醒信息流程圖3.3.5 匿名交友(僅限微信)表3-5 匿名交友功能介紹功能描述在平臺匿名交友關鍵技術微信api,sae緩存所需要主要函數與關鍵類Memcache,ACCESS_TOKEN接口等設計思路主要利用微信平臺做為一個類似的中轉站,客服功能,使得發送過來的消息能夠通過平臺去發送到指定同學圖3-9 微信匿名交友流程圖3.4數據庫設計3.4.1 數據庫關系圖圖3-10 數據庫關系圖3.4.2 數據庫設計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否注冊時間教務系統密碼設計主要存放用戶的教務系統賬號和密碼,以與主鍵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. 匿名交友數據庫設計其中主鍵是id,與其他表對接的鍵是openid,time是存儲

28、用戶參與活動的時間,用在判斷用戶是否已經過了四十八小時互動,在這里設定是18小時,black是判斷是被拉黑,0是被拉黑,1是未被拉黑,默認是1;表3-9Maker_friend字段類型默認注釋idint(11)主鍵idopenidvarchar(200) 用戶idtimevarchar(200)發送時間blackint(1)0是否被拉黑4. 系統實現與測試4.1 主要類設計主要設計如下幾個類:Check_User,User_Edu,User_Lib,Bus,Library_serach,Send_Message,Maker_Friend。每個類都有各自的功能,查詢課表成績,查詢公交車等,但 在

29、登錄教務系統和圖書館的時候調用Check_User類去檢驗用戶的賬號密碼的正確與否,而設計到要發送消息的時候即調用Send_Mseeage。關系如下圖4-1所示。圖4-1 類關系圖下面對這幾個類進行簡要說明:1. User_Edu:用戶可以通過登陸之后,直接獲取自己的教務系統成績課表信息,如果未登陸狀態,可以直接使用賬號密碼登陸,調用Check_User驗證信息,在線查詢信息。包含成績獲取,課表獲取,用戶驗證以與成績課表匹配等功能。2. User_Lib:圖書館用戶功能在登陸的時候調用Check_User_Lib驗證圖書個人信息,查詢個人圖書借閱情況,設置圖書還書提醒信息,但是圖書信息查詢不需

30、要登陸,使用AJAX去顯示反饋的信息。包含圖書信息查詢,還書提醒。3. Bus:公交車查詢實時公交,反饋到微信客戶端,并讓用戶可以設置自己的到站提醒功能,到站提醒功能包含公交車查詢,公交車到站提醒。4. Library_serach包含圖書查詢。5. Check_User主要是調用圖書館和教務系統信息的驗證,通過返回值去說明賬號密碼是否正確,即模擬登陸是否成功。4.2 關鍵功能的實現代碼4.2.1User_Edu包含成績獲取,課表獲取以與成績課表匹配等功能。成績獲取:private 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; 此處省略正則表達式和返回值課表獲取:private 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) /拿圖書系統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);/顯示圖書系統主頁$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/ 用名字來填充數組$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 系統運行實例(手機端)4.3.1 登錄/注冊如果沒有填寫東西或者填寫不合理,就會彈出alert對話框。圖5-1 用戶登錄圖 圖5-2 用戶注冊圖4.3.2課表成績查詢頁面:圖5-

47、3 用戶教務系統密碼輸入圖4.3.3課表顯示頁面:圖5-4 用戶課表顯示圖4.3.4成績顯示圖5-4 用戶成績顯示圖(網頁版)圖5-5 用戶成績顯示圖(手機版)4.3.5公交車到站提醒頁面(結合微信):圖5-6 用戶公交到站提醒信息輸入圖4.3.6 匿名交友(微信交友):圖5-7 用戶發送信息圖 5-8 用戶獲取交友對象圖4.3.7圖書館信息提交圖5-9 用戶圖書館信息輸入圖4.4測試分析1. 其中當涉與到運行查詢寧工圖書的時候,系統運行的特別慢,可能是設計到系統本身的模擬查詢是建立在圖書館系統上的,使得運行步驟增加導致程序的變慢。2. 數據庫的設計在幾個表之間主鍵的利用不是很大,其中對表的查

48、詢未加入索引,因為本身的數據量不是很大,而在教務系統查詢的時候,如果數量到達一定程度之后,加入索引數據庫訪問會提高很多。3. 在使用自適應技術上,時間和精力有限,本頁面在該技術上還有很大的提高空間,所以在CSS的效果上做的不是很好,在本文也只是簡單實用JS判斷設備改變分辨率大小,所以很多地方還不夠完美結 論本次開發最大的享受就是在邊開發邊應用的過程,基本所有的開發都應用在寧工小助手的微信平臺中,粉絲以近4000,而在線課表完成時一星期的點擊量在1.8萬左右,在匿名交友的功能更是受到同學的青睞,在開發無線公交的時候,中間停頓了一星期左右,一直在設計思路,也由此明白開發前的設計是多么的重要,在實踐

49、中,這些功能也有些弊端,比如交友的拉黑功能還有待改進,公交提醒功能還不夠細致等等,但也會在以后的開發中繼續完善。在程序開發過程中,用微信開發,使用微信客服的API去使用微信獨有的功能,能夠在開發使用中更加人性化和娛樂化,不斷和用戶交互;而其獨一無二的openid,可以作為網頁中的唯一標識,無論在登陸或者校驗,都比較方便;使用AJAX改善用戶體驗的過程中,響應事件最好可以寫在JS中,HTML中可以使用ID選擇器,便于維護。當然,很多地方也由于時間和精力的有限,確實沒有盡善盡美,也希望能在以后實踐應用中多多改正。致至此,寧工微生活的設計與開發就基本完成了。此次畢業設計歷時三個月,短短三個月中,我把

50、自己大學期間所有的知識第一次連貫了起來,從最初的生疏到后來的靈活運用,我真正的體驗到了學以致用的樂趣。在這次的開發中,歷時三個多月,在三個多月的時間中,前兩個多月一直致力于開發程序,使得論文的攥寫一直到第三個月底才開展,而在開發過程中我學習了PHP開發,B/S框架,MySQL數據庫管理系統,以與一些有利于軟件開發的相關技術,例如AJAX,CSS,Javascript,以與其他網絡知識。此次畢業設計過程中,特別要感的是天鶴老師對我的幫助,無論是在人生選擇還是技術上,都給了我莫大的幫助,從最初畢業論文的選題到最后論文的撰寫,老師都一直耐心細致的指導我。尤其在系統的開發過程中,老師豐富的知識和經驗叫

51、我軟件開發等基本知識,讓我能夠更加熟悉整個流程,在論文攥寫過程中,也不斷對我提出建設性的批評。整個過程中,還要改寫在完成中給我提供技術指導的小伙伴,無論是本校的學長,還是其他高校的同學,對自己的技術進步有很大的幫住,而在其中,我們的人際交往能力也隨之提高,很多設計考慮到整個規劃,需要同學的參與,因此也結交了很多好朋友。最后也感工程學院對我的栽培,四年是我人生中最寶貴的財富,從一開始的學生會工作,到對軟件編程的基本憧憬到現在真正接觸軟件,我也從老師那里接受了專業的學科知識,包括數學,編程,算法,運籌,統計,經濟等一些非常有意義的課時,也學習了各項技能,同時我也點燃了對這個行業的熱情,養成了良好的

52、能力和素養,四年讓我成長為一個更加成熟,自信的自己,也讓我能夠在未來以寧工學子的身份,走的更遠。參考文獻1 凱華,中華等著. PHP從入門到精通M. :清華大學,2010:23-37.2 于菏云著. PHP+MySQL開發全程實例M. :清華大學,2012:73-82.3 孔祥盛著. PHP編程基礎與實例教程M. :人民郵電,2011:45-67.4 列旭松,文著. PHP核心技術與最佳實踐M. :機械工業,2012:56-78.5 承堯著. MySQL技術幕:SQL編程M. :機械工業,2012:46-67.6 戴一平. 計算機與現代化:MVC設計模式在PHP開發中的應用J. 中國出版,2011(3):34-43.7 譚貞軍著. 深入體驗PHP項目開發M. :清華大學,2011:78-98.8 賈素玲等. XML技術應用.清華大學M.

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論