目 ?錄
第 1 章 引 ?言
1.1 選題背景與意義
1.2 國內外研究現狀
1.3 論文結構安排
第 2 章 系統的需求分析
2.1 系統可行性分析
2.1.1 技術方面可行性分析
2.1.2 經濟方面可行性分析
2.1.3 法律方面可行性分析
2.1.4 操作方面可行性分析
2.2 系統功能需求分析
2.3 系統性需求分析
2.4 系統用例分析
2.5 系統流程分析
2.5.1 增加數據流程
2.5.2 修改數據流程
2.5.3 刪除數據流程
第 3 章 系統總體設計
3.1 系統功能模塊設計
3.2 數據庫設計
3.2.1 數據庫概念結構設計
3.2.2 數據庫表設計
第 4 章 關鍵模塊的設計與實現
4.1 登錄模塊
4.2 注冊模塊
4.3 普通用戶功能模塊
4.3.1 交流論壇模塊
4.3.2 旅游攻略模塊
4.3.3 景點信息模塊
4.3.4 酒店信息模塊
4.3.5 美食信息模塊
4.3.6 個人中心模塊
4.4 管理員功能模塊
4.4.1 系統用戶模塊
4.4.2 旅游攻略管理模塊
4.4.3 景點信息管理模塊
4.4.4 景點訂單管理模塊
4.4.5 酒店信息管理模塊
4.4.6 美食信息管理模塊
4.4.7 交流管理模塊
第 5 章 系統實驗與結果分析
5.1 測試方法
5.2 系統的測試用例
5.3 系統測試結果
第 6 章 結論
參考文獻
致 ?謝
基于Web貴州旅游攻略系統的設計與實現
摘 ?要
PHP貴州旅游攻略系統是一個基于PHP語言開發的旅游信息服務平臺,旨在為游客提供全面的貴州旅游信息。該系統利用PHP的強大功能和靈活性,結合數據庫技術,實現了旅游信息的整合、分類、查詢和展示等功能,為游客提供了便捷的旅游信息獲取方式。
該系統涵蓋了貴州的各大旅游景點、酒店、餐飲、交通等方面的信息,游客可以通過系統查詢景點的詳細介紹、開放時間、門票價格、交通路線等信息,還可以查看酒店、餐飲等旅游服務的相關信息,從而更好地了解旅游目的地,規劃行程,提高旅游體驗。
該系統還具有用戶友好的界面設計和交互性強的功能,游客可以通過簡單的操作即可獲取所需信息,并且可以通過留言板等交互功能與其他游客分享旅游心得和建議,增加旅游的趣味性和互動性。
總之,PHP貴州旅游攻略系統是一個集旅游信息查詢、規劃、分享于一體的綜合性服務平臺,旨在為游客提供更加便捷、高效、全面的旅游信息服務,讓游客更好地了解貴州旅游,享受旅游的樂趣。
關鍵詞:貴州旅游攻略系統;PHP語言;Thinkphp框架;MYSQL數據庫
Design and implementation of Web Guizhou tourism strategy system
Abstract
PHP Guizhou Tourism Guide system is a tourism information service platform developed based on PHP language, aiming to provide tourists with comprehensive tourism information for Guizhou. The system uses the powerful function and flexibility of PHP, combined with the database technology, realizes the integration, classification, query and display of tourism information, and provides a convenient way for tourists to obtain tourism information.
The system covers the major tourist attractions in Guizhou, hotels, catering, transportation of information, visitors can through the system query attractions, open time, ticket prices, traffic route information, can also check the hotel, catering and other tourism service information, so as to better understand the tourist destination, planning, improve the tourism experience.
The system also has a user-friendly interface design and interactive functions. Tourists can obtain the required information through simple operation, and can share travel tips and suggestions with other tourists through interactive functions such as message board, so as to increase the interest and interactivity of tourism.
In short, PHP Guizhou Tourism Strategy System is a comprehensive service platform integrating tourism information inquiry, planning and sharing, aiming to provide tourists with more convenient, efficient and comprehensive tourism information services, so that tourists can better understand Guizhou tourism and enjoy the fun of tourism.
Key words:?Guizhou tourism strategy system; PHP language; Thinkphp framework; MYSQL database
- 1 章 引 ?言
- 選題背景與意義
貴州,這片神秘而美麗的土地,位于中國西南的喀斯特地貌區,被譽為“喀斯特王國”。這里山水相連,風景如畫,民族風情獨特,旅游資源豐富。然而,由于地理位置、交通不便、信息不透明等多種原因,許多游客對貴州的了解僅限于表面的山水風光,而未能深入體驗其獨特的民族文化、美食和風情。因此,開發一款全面、便捷、實用的貴州旅游攻略系統,對于推動貴州旅游業的發展,提升貴州旅游形象,具有重要意義。
隨著科技的不斷進步和人們生活水平的提高,越來越多的人開始追求高品質、個性化的旅游體驗。傳統的旅游攻略已經無法滿足現代游客的需求,他們需要更加全面、詳細、實時的旅游信息和服務。而貴州旅游攻略系統正是基于這一需求而設計的,旨在為游客提供一站式的旅游服務解決方案。
該系統將整合貴州的旅游資源,包括景點介紹、交通信息、酒店預訂、餐飲推薦、民族文化體驗等各個方面。通過自然語言處理技術,系統能夠理解游客的需求,提供個性化的旅游建議。同時,系統還將引入虛擬現實技術,讓游客在出發前就能預覽貴州的美景,增強旅游的期待感。此外,該系統還將提供實時的天氣預報、旅游安全提示等信息,確保游客的旅行安全順利。
貴州旅游攻略系統的開發不僅將為游客帶來更加便捷、個性化的旅游體驗,也將為貴州旅游業的發展注入新的活力。通過該系統,游客將更加深入地了解貴州的多元文化、風土人情和旅游資源,促進貴州旅游業的可持續發展。同時,該系統還將為貴州的旅游企業提供更廣闊的市場空間和更多的商業機會,推動貴州經濟的快速增長。因此,貴州旅游攻略系統的選題具有重要的現實意義和深遠的社會影響。
在國內外研究現狀方面,貴州旅游攻略系統的發展呈現出積極向上的態勢。隨著信息技術的快速發展和旅游業的繁榮,越來越多的學者和業界人士開始關注并投入到這一領域的研究與實踐中。
在國外,旅游攻略系統的研究已經相對成熟,一些知名的旅游網站和APP提供了豐富的旅游攻略信息,包括景點介紹、交通指南、住宿推薦、美食攻略等。這些系統不僅提供了詳盡的旅游信息,還結合用戶的行為和喜好,為用戶提供個性化的推薦服務。此外,國外的研究者還從旅游心理學、旅游行為學等角度出發,對旅游攻略系統的設計和優化進行了深入探討,為系統的進一步完善提供了理論支持。
相比之下,國內的旅游攻略系統研究與實踐起步較晚,但發展迅速。近年來,隨著國內旅游市場的不斷擴大和互聯網技術的快速發展,越來越多的企業和研究機構開始投入到旅游攻略系統的研發中。一些知名的旅游平臺如攜程、去哪兒等已經推出了自己的旅游攻略系統,為用戶提供了一站式的旅游信息服務。同時,國內的研究者也在不斷探索和創新,從用戶需求、數據分析、智能推薦等方面對旅游攻略系統進行深入研究,為系統的優化和發展提供了有力支持。
總體而言,貴州旅游攻略系統的研究與實踐在國內外都呈現出良好的發展態勢。未來,隨著技術的不斷進步和市場的不斷變化,貴州旅游攻略系統有望在提供更加豐富、個性化的旅游信息服務方面取得更大的突破。同時,也需要不斷關注用戶需求的變化和市場的發展動態,及時調整和優化系統設計和功能,以更好地滿足廣大游客的旅游需求。
論文將分層次經行編排,除去論文摘要致謝文獻參考部分,正文部分還會對系統需求做出分析,以及闡述大體的設計和實現的功能,最后羅列部分調測記錄,論文主要架構如下:
第1章 交代項目的背景、開發這個系統的國內外現狀以及論文的章節安排情況。
第2章 對系統的具體需求展開分析。
第3章 闡述了系統的設計,其中涵蓋了功能設計以及數據庫的設計。
第4章 闡明了貴州旅游攻略系統各個功能模塊的實現,以圖文的形式進行展示。
第5章 羅列了部分系統調試與測試的記錄。
需求分析是開發一個系統之前首先要做的,如果一個系統不值得開發或者違反了相關法律法規,那么開發出來的系統將一文不值,所以在開發之前,我們首先要對系統的需求進行分析,分析系統開發是否可行,如果可行的話,再具體分析用戶的需求,分析出系統的功能以及對系統的性能進行分析。
技術方面的可行性主要是考慮開發貴州旅游攻略系統的時候采用的開發語言、數據庫等是否可行,本系統在語言上選擇PHP,采用的是Thinkphp框架以及MYSQL數據庫,這些技術目前都很成熟,而且PHP語言不僅僅支持面向過程,而且還支持面向對象,所以在使用的時候會更加的靈活,在技術選擇上完全沒有問題。
經濟方面的可行性主要考慮的是成本以及效益,從成本方面看,開發過程中使用的PHP、Thinkphp、MYSQL等都可以通過網上搜索下載,沒有任何費用,開發的成本幾乎不存在;從效益方面看,系統的完成能夠給用戶提供支持,降低企業的成本,提高管理的效率,因此在經濟上也是沒有問題的。
法律方面主要考慮的是系統的開發是否違法,開發的貴州旅游攻略系統嚴格按照《中華人民共和國計算機軟件保護條例》、《中華人民共和國著作權法》等法律法規,系統的開發可以為企業帶來效益,不存在違法行為,因此在法律上是可行的。
操作方面主要考慮的是用戶在使用以及管理人員在管理的時候,是否簡單可行,沒有任何計算機基礎的用戶能否使用,開發的貴州旅游攻略系統在設計的時候秉承簡單易學的理念,在用戶進入系統后都會有固定的導航按鈕,只要認字就可以操作完成,而且管理員也只需簡單的增刪改查即可完成,因此在操作上也是可行的。
總的來看,開發的貴州旅游攻略系統在可行性方面是沒有問題的,值得開發,而且其他的完成對行業發展來說具有重大意義。
貴州旅游攻略系統將實現用戶注冊與登錄、景點和酒店信息管理、美食信息和預訂、訂單管理、出行工具等核心功能。系統操作簡單直觀,引入數據分析和推薦算法提供個性化的旅游攻略推薦。通過軟件工程的開發方法,確保系統的穩定性和可靠性,提供高效、便捷、個性化的旅游服務,滿足日益增長的旅游需求。
普通用戶主要功能如下:
- 注冊登錄:注冊登錄功能允許用戶創建個人賬戶或使用已有賬戶登錄,以確保用戶信息的安全性和個性化服務的提供。通過注冊登錄,用戶可以享受到更多專屬服務和個性化推薦。
- 首頁:首頁是用戶進入網站后首先看到的頁面,我們特設了旅游攻略板塊,旨在為用戶提供豐富多樣的旅行建議和信息,幫助他們更好地規劃旅程。
- 通知公告:通知公告模塊集中展示了網站的重要信息,包括網站公告、關于我們、聯系方式和網站介紹等。用戶可以在這里了解網站的最新動態和相關信息。
- 交流論壇:交流論壇是一個用戶互動的平臺,用戶可以在這里發布自己的旅行經驗、心得和建議,同時也可以點贊、收藏和評論其他用戶的帖子,分享和交流旅行的樂趣。
- 旅游攻略:旅游攻略模塊提供了大量實用的旅行指南和建議,用戶可以根據自己的需求瀏覽和選擇,同時也可以通過點贊、收藏和評論與其他用戶互動。
- 景點信息:景點信息模塊詳細介紹了各個景點的特色和亮點,用戶可以在這里了解景點的詳細信息,并可以通過點贊、收藏、評論和購票等功能與景點進行互動。
- 酒店信息:酒店信息模塊提供了豐富的酒店選擇,用戶可以根據自己的需求搜索和預訂合適的酒店,同時也可以通過點贊、收藏和評論等方式與其他用戶分享酒店的使用體驗。
- 美食信息:美食信息模塊展示了當地的美食特色和推薦餐廳,用戶可以在這里了解美食信息,并通過點贊、收藏和評論等功能與美食愛好者互動。
- 出行工具:出行工具模塊提供了各種交通工具的信息和建議,幫助用戶更好地規劃出行方式,同時也可以通過點贊、收藏和評論等功能與其他用戶分享出行經驗。
- 我的賬戶:我的賬戶模塊允許用戶查看和修改自己的個人資料,以及管理賬戶密碼,確保賬戶的安全性和個性化設置。
- 個人中心:個人中心是用戶的私人空間,用戶可以在這里查看和管理自己的景點訂單、酒店訂單以及收藏的內容,方便隨時查看和回顧自己的旅行經歷。
管理員端:
- 登錄:管理員通過特定的賬號和密碼登錄系統,確保只有授權人員能夠訪問管理后臺,保障系統數據的安全性和準確性。
- 后臺首頁:后臺首頁為管理員提供了一個概覽,展示了系統的主要功能和最新動態,如用戶統計、訂單數量、最新評論等,幫助管理員快速了解系統狀態。
- 系統用戶:系統用戶分為管理員和普通用戶兩種角色。管理員擁有更高的權限,可以執行更多的操作,而普通用戶則只能訪問其權限范圍內的功能。
- 旅游攻略管理:管理員可以添加、刪除、查詢和編輯旅游攻略,同時查看相關的評論和用戶反饋,以確保信息的準確性和完整性。
- 景點信息管理:管理員可以添加、刪除、查詢和編輯景點信息,包括景點的詳細介紹、圖片、位置等,同時查看用戶對景點的評論和反饋。
- 景點訂單管理:管理員可以查詢和編輯景點的訂單信息,包括訂單詳情、支付狀態等,同時也可以處理用戶的支付請求。
- 酒店信息管理:管理員可以添加、刪除、查詢和編輯酒店信息,包括酒店的介紹、房型、價格等,同時查看用戶對酒店的評論和反饋。
- 酒店訂單管理:管理員可以查詢和編輯酒店的訂單信息,包括訂單詳情、支付狀態等,處理用戶的支付請求和訂單問題。
- 美食信息管理:管理員可以添加、刪除、查詢和編輯美食信息,包括餐廳介紹、菜品列表、價格等,同時查看用戶對美食的評論和反饋。
- 出行工具管理:管理員可以添加、刪除、查詢和編輯出行工具信息,如交通工具的類型、價格、時間表等,以便用戶更好地規劃出行。
- 系統管理:管理員可以管理系統輪播圖管理,用于設置和更新網站首頁的輪播圖內容。
- 通知公告管理:管理員可以發布和編輯通知公告,以便向所有用戶傳達重要信息,如系統更新、活動通知等。
- 交流管理:管理員可以管理交流論壇,包括論壇的分類、帖子的發布和編輯等,以促進用戶之間的交流和互動。
貴州旅游攻略系統的性能性需求分析主要是分析本系統的安全性怎么樣(是否會泄露用戶個人信息),可靠性怎么樣(用戶操作的時候是不是能夠根據實際操作顯示信息),性能怎么樣(運行是否操作流暢),可拓展性怎么樣(功能能否繼續拓展)等。具體可以表示在如下2.1表格中:
安全性 | 主要指貴州旅游攻略系統數據庫的安裝,數據庫的使用和密碼的設定必須合乎規范。 |
可靠性 | 可靠性是指貴州旅游攻略系統能夠按照用戶的指示進行操作,經過測試,可靠性90%以上。 |
性能 | 性能是影響貴州旅游攻略系統占據市場的必要條件,所以性能最好要佳才好。 |
可擴展性 | 比如數據庫預留多個屬性,比如接口的使用等確保了系統的非功能性需求。 |
易用性 | 用戶只要跟著貴州旅游攻略系統的頁面展示內容進行操作,就可以了。 |
可維護性 | 貴州旅游攻略系統開發的可維護性是非常重要的,經過測試,可維護性沒有問題 |
貴州旅游攻略系統為普通用戶提供了全面的旅游信息查詢、景點購票和酒店預訂等功能。用戶的用例圖如下圖所示:
圖2.1 用戶角色用例圖
圖2.2 管理員角色用例圖
系統中的所有用戶(管理員和用戶)都可以實現增加數據功能,圖2.3顯示的就是在增加數據時的流程。
圖2.3增加數據流程圖
人無完人,每個人都有出錯的時候,在錄入系統信息的時候如果信息有錯,可以對系統中的數據進行編輯。圖2.4顯示的就是修改數據的流程。
圖2.4修改數據流程圖
在系統中經常會出現一些過期的數據,比如用戶注銷等,那就可以直接刪除這些數據,圖2.5就是刪除數據時的流程圖。
圖2.5刪除數據流程圖
分析完系統的可行性以及功能,接下來就是對系統具體的設計,通過可行性分析我們得出系統是值得開發的,通過功能分析我們可以得出系統具體實現了哪些功能,然后根據功能需求完成系統的功能設計,本章從功能模塊以及系統的數據庫兩個方面進行介紹。
通過上一章節的功能需求分析,可以得出本貴州旅游攻略系統的功能結構圖,圖3.1就是系統的功能模塊圖。
圖3.1 貴州旅游攻略系統的設計與實現功能模塊圖
數據庫的設計是一個系統的基礎,不管什么系統,界面設計的再美觀,如果沒有一個強大的數據庫進行支撐,那也沒有辦法運行,在設計數據庫的時候我們首先對數據庫進行分析,然后進行概念模型設計,最后建立數據庫表,具體展示如下。
在數據庫概念模型設計的時候,一般都采用E-R實體圖進行展示,在實體圖中可以展示出數據庫表中的所有字段名稱,本系統中的總E-R圖如下圖所示。
圖3.2 總E-R關系圖
在數據庫表中我們會看到系統的表名、主鍵、外鍵等信息,我們通過數據庫表的主鍵、外鍵把每個表關聯起來,然后在界面中展示,本貴州旅游攻略系統的主要的數據庫表如下:
表access_token (登陸訪問時長)
編號 | 名稱 | 數據類型 | 長度 | 小數位 | 允許空值 | 主鍵 | 默認值 | 說明 |
1 | token_id | int | 10 | 0 | N | Y | 臨時訪問牌ID | |
2 | token | varchar | 64 | 0 | Y | N | 臨時訪問牌 | |
3 | info | text | 65535 | 0 | Y | N | ||
4 | maxage | int | 10 | 0 | N | N | 2 | 最大壽命:默認2小時 |
5 | create_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 創建時間: |
6 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新時間: |
7 | user_id | int | 10 | 0 | N | N | 0 | 用戶編號: |
表attraction_information (景點信息)
編號 | 名稱 | 數據類型 | 長度 | 小數位 | 允許空值 | 主鍵 | 默認值 | 說明 |
1 | attraction_information_id | int | 10 | 0 | N | Y | 景點信息ID | |
2 | attraction_name | varchar | 64 | 0 | Y | N | 景點名稱 | |
3 | attraction_tickets | int | 10 | 0 | Y | N | 0 | 景點門票 |
4 | tourist_attraction_phone_number | varchar | 64 | 0 | Y | N | 景點電話 | |
5 | opening_hours | varchar | 64 | 0 | Y | N | 開放時間 | |
6 | attraction_address | varchar | 64 | 0 | Y | N | 景點地址 | |
7 | scenic_spot_pictures | varchar | 255 | 0 | Y | N | 景點圖片 | |
8 | introduction_to_scenic_spots | longtext | 2147483647 | 0 | Y | N | 景點介紹 | |
9 | praise_len | int | 10 | 0 | N | N | 0 | 點贊數 |
10 | create_time | datetime | 19 | 0 | N | N | CURRENT_TIMESTAMP | 創建時間 |
11 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新時間 |
編號 | 名稱 | 數據類型 | 長度 | 小數位 | 允許空值 | 主鍵 | 默認值 | 說明 |
1 | attraction_orders_id | int | 10 | 0 | N | Y | 景點訂單ID | |
2 | order_number | varchar | 64 | 0 | Y | N | 訂單編號 | |
3 | attraction_name | varchar | 64 | 0 | Y | N | 景點名稱 | |
4 | attraction_tickets | varchar | 64 | 0 | Y | N | 景點門票 | |
5 | user_information | int | 10 | 0 | Y | N | 0 | 用戶信息 |
6 | user_name | varchar | 64 | 0 | Y | N | 用戶姓名 | |
7 | contact_phone_number | varchar | 64 | 0 | Y | N | 聯系電話 | |
8 | booking_date | date | 10 | 0 | Y | N | 預訂日期 | |
9 | number_of_tickets_purchased | int | 10 | 0 | Y | N | 0 | 購票數量 |
10 | total_ticket_price | varchar | 64 | 0 | Y | N | 購票總價 | |
11 | ticket_purchase_remarks | text | 65535 | 0 | Y | N | 購票備注 | |
12 | order_status | varchar | 64 | 0 | Y | N | 訂單狀態 | |
13 | pay_state | varchar | 16 | 0 | N | N | 未支付 | 支付狀態 |
14 | pay_type | varchar | 16 | 0 | Y | N | 支付類型: 微信、支付寶、網銀 | |
15 | create_time | datetime | 19 | 0 | N | N | CURRENT_TIMESTAMP | 創建時間 |
16 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新時間 |
編號 | 名稱 | 數據類型 | 長度 | 小數位 | 允許空值 | 主鍵 | 默認值 | 說明 |
1 | auth_id | int | 10 | 0 | N | Y | 授權ID: | |
2 | user_group | varchar | 64 | 0 | Y | N | 用戶組: | |
3 | mod_name | varchar | 64 | 0 | Y | N | 模塊名: | |
4 | table_name | varchar | 64 | 0 | Y | N | 表名: | |
5 | page_title | varchar | 255 | 0 | Y | N | 頁面標題: | |
6 | path | varchar | 255 | 0 | Y | N | 路由路徑: | |
7 | position | varchar | 32 | 0 | Y | N | 位置: | |
8 | mode | varchar | 32 | 0 | N | N | _blank | 跳轉方式: |
9 | add | tinyint | 3 | 0 | N | N | 1 | 是否可增加: |
10 | del | tinyint | 3 | 0 | N | N | 1 | 是否可刪除: |
11 | set | tinyint | 3 | 0 | N | N | 1 | 是否可修改: |
12 | get | tinyint | 3 | 0 | N | N | 1 | 是否可查看: |
13 | field_add | text | 65535 | 0 | Y | N | 添加字段: | |
14 | field_set | text | 65535 | 0 | Y | N | 修改字段: | |
15 | field_get | text | 65535 | 0 | Y | N | 查詢字段: | |
16 | table_nav_name | varchar | 500 | 0 | Y | N | 跨表導航名稱: | |
17 | table_nav | varchar | 500 | 0 | Y | N | 跨表導航: | |
18 | option | text | 65535 | 0 | Y | N | 配置: | |
19 | create_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 創建時間: |
20 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新時間: |
編號 | 名稱 | 數據類型 | 長度 | 小數位 | 允許空值 | 主鍵 | 默認值 | 說明 |
1 | collect_id | int | 10 | 0 | N | Y | 收藏ID: | |
2 | user_id | int | 10 | 0 | N | N | 0 | 收藏人ID: |
3 | source_table | varchar | 255 | 0 | Y | N | 來源表: | |
4 | source_field | varchar | 255 | 0 | Y | N | 來源字段: | |
5 | source_id | int | 10 | 0 | N | N | 0 | 來源ID: |
6 | title | varchar | 255 | 0 | Y | N | 標題: | |
7 | img | varchar | 255 | 0 | Y | N | 封面: | |
8 | create_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 創建時間: |
9 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新時間: |
編號 | 名稱 | 數據類型 | 長度 | 小數位 | 允許空值 | 主鍵 | 默認值 | 說明 |
1 | comment_id | int | 10 | 0 | N | Y | 評論ID: | |
2 | user_id | int | 10 | 0 | N | N | 0 | 評論人ID: |
3 | reply_to_id | int | 10 | 0 | N | N | 0 | 回復評論ID:空為0 |
4 | content | longtext | 2147483647 | 0 | Y | N | 內容: | |
5 | nickname | varchar | 255 | 0 | Y | N | 昵稱: | |
6 | avatar | varchar | 255 | 0 | Y | N | 頭像地址:[0,255] | |
7 | create_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 創建時間: |
8 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新時間: |
9 | source_table | varchar | 255 | 0 | Y | N | 來源表: | |
10 | source_field | varchar | 255 | 0 | Y | N | 來源字段: | |
11 | source_id | int | 10 | 0 | N | N | 0 | 來源ID: |
編號 | 名稱 | 數據類型 | 長度 | 小數位 | 允許空值 | 主鍵 | 默認值 | 說明 |
1 | food_information_id | int | 10 | 0 | N | Y | 美食信息ID | |
2 | food_shop | varchar | 64 | 0 | Y | N | 美食店鋪 | |
3 | food_name | varchar | 64 | 0 | Y | N | 美食名稱 | |
4 | food_ingredients | varchar | 64 | 0 | Y | N | 美食食材 | |
5 | food_flavors | varchar | 64 | 0 | Y | N | 美食口味 | |
6 | per_capita_consumption | varchar | 64 | 0 | Y | N | 人均消費 | |
7 | store_address | varchar | 64 | 0 | Y | N | 店鋪地址 | |
8 | food_pictures | varchar | 255 | 0 | Y | N | 美食圖片 | |
9 | content_introduction | longtext | 2147483647 | 0 | Y | N | 內容介紹 | |
10 | praise_len | int | 10 | 0 | N | N | 0 | 點贊數 |
11 | create_time | datetime | 19 | 0 | N | N | CURRENT_TIMESTAMP | 創建時間 |
12 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新時間 |
編號 | 名稱 | 數據類型 | 長度 | 小數位 | 允許空值 | 主鍵 | 默認值 | 說明 |
1 | forum_id | mediumint | 8 | 0 | N | Y | 論壇id | |
2 | display | smallint | 5 | 0 | N | N | 100 | 排序 |
3 | user_id | mediumint | 8 | 0 | N | N | 0 | 用戶ID |
4 | nickname | varchar | 16 | 0 | Y | N | 昵稱:[0,16] | |
5 | praise_len | int | 10 | 0 | Y | N | 0 | 點贊數 |
6 | hits | int | 10 | 0 | N | N | 0 | 訪問數 |
7 | title | varchar | 125 | 0 | N | N | 標題 | |
8 | keywords | varchar | 125 | 0 | Y | N | 關鍵詞 | |
9 | description | varchar | 255 | 0 | Y | N | 描述 | |
10 | url | varchar | 255 | 0 | Y | N | 來源地址 | |
11 | tag | varchar | 255 | 0 | Y | N | 標簽 | |
12 | img | text | 65535 | 0 | Y | N | 封面圖 | |
13 | content | longtext | 2147483647 | 0 | Y | N | 正文 | |
14 | create_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 創建時間: |
15 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新時間: |
16 | avatar | varchar | 255 | 0 | Y | N | 發帖人頭像: | |
17 | type | varchar | 64 | 0 | N | N | 0 | 論壇分類:[0,1000]用來搜索指定類型的論壇帖 |
編號 | 名稱 | 數據類型 | 長度 | 小數位 | 允許空值 | 主鍵 | 默認值 | 說明 |
1 | type_id | smallint | 5 | 0 | N | Y | 分類ID:[0,10000] | |
2 | name | varchar | 16 | 0 | N | N | 分類名稱:[2,16] | |
3 | description | varchar | 255 | 0 | Y | N | 描述:[0,255]描述該分類的作用 | |
4 | url | varchar | 255 | 0 | Y | N | 外鏈地址:[0,255]如果該分類是跳轉到其他網站的情況下,就在該URL上設置 | |
5 | father_id | smallint | 5 | 0 | N | N | 0 | 上級分類ID:[0,32767] |
6 | icon | varchar | 255 | 0 | Y | N | 分類圖標: | |
7 | create_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 創建時間: |
8 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新時間: |
編號 | 名稱 | 數據類型 | 長度 | 小數位 | 允許空值 | 主鍵 | 默認值 | 說明 |
1 | hits_id | int | 10 | 0 | N | Y | 點贊ID: | |
2 | user_id | int | 10 | 0 | N | N | 0 | 點贊人: |
3 | create_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 創建時間: |
4 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新時間: |
5 | source_table | varchar | 255 | 0 | Y | N | 來源表: | |
6 | source_field | varchar | 255 | 0 | Y | N | 來源字段: | |
7 | source_id | int | 10 | 0 | N | N | 0 | 來源ID: |
編號 | 名稱 | 數據類型 | 長度 | 小數位 | 允許空值 | 主鍵 | 默認值 | 說明 |
1 | hotel_information_id | int | 10 | 0 | N | Y | 酒店信息ID | |
2 | hotel_name | varchar | 64 | 0 | Y | N | 酒店名稱 | |
3 | room_name | varchar | 64 | 0 | Y | N | 房間名稱 | |
4 | room_price | int | 10 | 0 | Y | N | 0 | 房間價格 |
5 | hotel_phone_number | varchar | 64 | 0 | Y | N | 酒店電話 | |
6 | hotel_address | varchar | 64 | 0 | Y | N | 酒店地址 | |
7 | hotel_pictures | varchar | 255 | 0 | Y | N | 酒店圖片 | |
8 | hotel_introduction | longtext | 2147483647 | 0 | Y | N | 酒店介紹 | |
9 | praise_len | int | 10 | 0 | N | N | 0 | 點贊數 |
10 | create_time | datetime | 19 | 0 | N | N | CURRENT_TIMESTAMP | 創建時間 |
11 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新時間 |
編號 | 名稱 | 數據類型 | 長度 | 小數位 | 允許空值 | 主鍵 | 默認值 | 說明 |
1 | hotel_orders_id | int | 10 | 0 | N | Y | 酒店訂單ID | |
2 | order_number | varchar | 64 | 0 | Y | N | 訂單編號 | |
3 | hotel_name | varchar | 64 | 0 | Y | N | 酒店名稱 | |
4 | room_name | varchar | 64 | 0 | Y | N | 房間名稱 | |
5 | room_price | varchar | 64 | 0 | Y | N | 房間價格 | |
6 | user_information | int | 10 | 0 | Y | N | 0 | 用戶信息 |
7 | user_name | varchar | 64 | 0 | Y | N | 用戶姓名 | |
8 | contact_phone_number | varchar | 64 | 0 | Y | N | 聯系電話 | |
9 | booking_date | date | 10 | 0 | Y | N | 預訂日期 | |
10 | booking_days | int | 10 | 0 | Y | N | 0 | 預訂天數 |
11 | total_booking_price | varchar | 64 | 0 | Y | N | 預訂總價 | |
12 | booking_remarks | text | 65535 | 0 | Y | N | 預訂備注 | |
13 | order_status | varchar | 64 | 0 | Y | N | 訂單狀態 | |
14 | order_reply | text | 65535 | 0 | Y | N | 訂單回復 | |
15 | pay_state | varchar | 16 | 0 | N | N | 未支付 | 支付狀態 |
16 | pay_type | varchar | 16 | 0 | Y | N | 支付類型: 微信、支付寶、網銀 | |
17 | create_time | datetime | 19 | 0 | N | N | CURRENT_TIMESTAMP | 創建時間 |
18 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新時間 |
編號 | 名稱 | 數據類型 | 長度 | 小數位 | 允許空值 | 主鍵 | 默認值 | 說明 |
1 | notice_id | mediumint | 8 | 0 | N | Y | 公告id: | |
2 | title | varchar | 125 | 0 | N | N | 標題: | |
3 | content | longtext | 2147483647 | 0 | Y | N | 正文: | |
4 | create_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 創建時間: |
5 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新時間: |
編號 | 名稱 | 數據類型 | 長度 | 小數位 | 允許空值 | 主鍵 | 默認值 | 說明 |
1 | praise_id | int | 10 | 0 | N | Y | 點贊ID: | |
2 | user_id | int | 10 | 0 | N | N | 0 | 點贊人: |
3 | create_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 創建時間: |
4 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新時間: |
5 | source_table | varchar | 255 | 0 | Y | N | 來源表: | |
6 | source_field | varchar | 255 | 0 | Y | N | 來源字段: | |
7 | source_id | int | 10 | 0 | N | N | 0 | 來源ID: |
8 | status | bit | 1 | 0 | N | N | 1 | 點贊狀態:1為點贊,0已取消 |
編號 | 名稱 | 數據類型 | 長度 | 小數位 | 允許空值 | 主鍵 | 默認值 | 說明 |
1 | regular_users_id | int | 10 | 0 | N | Y | 普通用戶ID | |
2 | user_name | varchar | 64 | 0 | Y | N | 用戶姓名 | |
3 | user_gender | varchar | 64 | 0 | Y | N | 用戶性別 | |
4 | contact_phone_number | varchar | 64 | 0 | Y | N | 聯系電話 | |
5 | examine_state | varchar | 16 | 0 | N | N | 已通過 | 審核狀態 |
6 | user_id | int | 10 | 0 | N | N | 0 | 用戶ID |
7 | create_time | datetime | 19 | 0 | N | N | CURRENT_TIMESTAMP | 創建時間 |
8 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新時間 |
編號 | 名稱 | 數據類型 | 長度 | 小數位 | 允許空值 | 主鍵 | 默認值 | 說明 |
1 | slides_id | int | 10 | 0 | N | Y | 輪播圖ID: | |
2 | title | varchar | 64 | 0 | Y | N | 標題: | |
3 | content | varchar | 255 | 0 | Y | N | 內容: | |
4 | url | varchar | 255 | 0 | Y | N | 鏈接: | |
5 | img | varchar | 255 | 0 | Y | N | 輪播圖: | |
6 | hits | int | 10 | 0 | N | N | 0 | 點擊量: |
7 | create_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 創建時間: |
8 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新時間: |
編號 | 名稱 | 數據類型 | 長度 | 小數位 | 允許空值 | 主鍵 | 默認值 | 說明 |
1 | tourism_strategy_id | int | 10 | 0 | N | Y | 旅游攻略ID | |
2 | strategy_title | varchar | 64 | 0 | Y | N | 攻略標題 | |
3 | attraction_name | varchar | 64 | 0 | Y | N | 景點名稱 | |
4 | release_date | date | 10 | 0 | Y | N | 發布日期 | |
5 | strategic_route | varchar | 64 | 0 | Y | N | 攻略路線 | |
6 | cover_photo | varchar | 255 | 0 | Y | N | 封面圖片 | |
7 | strategy_content | longtext | 2147483647 | 0 | Y | N | 攻略內容 | |
8 | hits | int | 10 | 0 | N | N | 0 | 點擊數 |
9 | praise_len | int | 10 | 0 | N | N | 0 | 點贊數 |
10 | recommend | int | 10 | 0 | N | N | 0 | 智能推薦 |
11 | create_time | datetime | 19 | 0 | N | N | CURRENT_TIMESTAMP | 創建時間 |
12 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新時間 |
編號 | 名稱 | 數據類型 | 長度 | 小數位 | 允許空值 | 主鍵 | 默認值 | 說明 |
1 | transportation_tools_id | int | 10 | 0 | N | Y | 出行工具ID | |
2 | recommended_titles | varchar | 64 | 0 | Y | N | 推薦標題 | |
3 | attraction_name | varchar | 64 | 0 | Y | N | 景點名稱 | |
4 | travel_mode | varchar | 64 | 0 | Y | N | 出行方式 | |
5 | release_date | date | 10 | 0 | Y | N | 發布日期 | |
6 | cover_photo | varchar | 255 | 0 | Y | N | 封面圖片 | |
7 | content_details | longtext | 2147483647 | 0 | Y | N | 內容詳情 | |
8 | praise_len | int | 10 | 0 | N | N | 0 | 點贊數 |
9 | create_time | datetime | 19 | 0 | N | N | CURRENT_TIMESTAMP | 創建時間 |
10 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新時間 |
編號 | 名稱 | 數據類型 | 長度 | 小數位 | 允許空值 | 主鍵 | 默認值 | 說明 |
1 | upload_id | int | 10 | 0 | N | Y | 上傳ID | |
2 | name | varchar | 64 | 0 | Y | N | 文件名 | |
3 | path | varchar | 255 | 0 | Y | N | 訪問路徑 | |
4 | file | varchar | 255 | 0 | Y | N | 文件路徑 | |
5 | display | varchar | 255 | 0 | Y | N | 顯示順序 | |
6 | father_id | int | 10 | 0 | Y | N | 0 | 父級ID |
7 | dir | varchar | 255 | 0 | Y | N | 文件夾 | |
8 | type | varchar | 32 | 0 | Y | N | 文件類型 |
編號 | 名稱 | 數據類型 | 長度 | 小數位 | 允許空值 | 主鍵 | 默認值 | 說明 |
1 | user_id | mediumint | 8 | 0 | N | Y | 用戶ID:[0,8388607]用戶獲取其他與用戶相關的數據 | |
2 | state | smallint | 5 | 0 | N | N | 1 | 賬戶狀態:[0,10](1可用|2異常|3已凍結|4已注銷) |
3 | user_group | varchar | 32 | 0 | Y | N | 所在用戶組:[0,32767]決定用戶身份和權限 | |
4 | login_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 上次登錄時間: |
5 | phone | varchar | 11 | 0 | Y | N | 手機號碼:[0,11]用戶的手機號碼,用于找回密碼時或登錄時 | |
6 | phone_state | smallint | 5 | 0 | N | N | 0 | 手機認證:[0,1](0未認證|1審核中|2已認證) |
7 | username | varchar | 16 | 0 | N | N | 用戶名:[0,16]用戶登錄時所用的賬戶名稱 | |
8 | nickname | varchar | 16 | 0 | Y | N | 昵稱:[0,16] | |
9 | password | varchar | 64 | 0 | N | N | 密碼:[0,32]用戶登錄所需的密碼,由6-16位數字或英文組成 | |
10 | | varchar | 64 | 0 | Y | N | 郵箱:[0,64]用戶的郵箱,用于找回密碼時或登錄時 | |
11 | email_state | smallint | 5 | 0 | N | N | 0 | 郵箱認證:[0,1](0未認證|1審核中|2已認證) |
12 | avatar | varchar | 255 | 0 | Y | N | 頭像地址:[0,255] | |
13 | open_id | varchar | 255 | 0 | Y | N | 針對獲取用戶信息字段 | |
14 | create_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 創建時間: |
15 | vip_level | varchar | 255 | 0 | Y | N | 會員等級 | |
16 | vip_discount | double | 11 | 2 | Y | N | 0.00 | 會員折扣 |
編號 | 名稱 | 數據類型 | 長度 | 小數位 | 允許空值 | 主鍵 | 默認值 | 說明 |
1 | group_id | mediumint | 8 | 0 | N | Y | 用戶組ID:[0,8388607] | |
2 | display | smallint | 5 | 0 | N | N | 100 | 顯示順序:[0,1000] |
3 | name | varchar | 16 | 0 | N | N | 名稱:[0,16] | |
4 | description | varchar | 255 | 0 | Y | N | 描述:[0,255]描述該用戶組的特點或權限范圍 | |
5 | source_table | varchar | 255 | 0 | Y | N | 來源表: | |
6 | source_field | varchar | 255 | 0 | Y | N | 來源字段: | |
7 | source_id | int | 10 | 0 | N | N | 0 | 來源ID: |
8 | register | smallint | 5 | 0 | Y | N | 0 | 注冊位置: |
9 | create_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 創建時間: |
10 | update_time | timestamp | 19 | 0 | N | N | CURRENT_TIMESTAMP | 更新時間: |
- 4 章 關鍵模塊的設計與實現
- 登錄模塊
管理員、用戶在登錄界面輸入賬號+密碼,完成驗證,點擊“登錄”按鈕,系統在用戶數據庫表中會對管理員、用戶的賬號進行匹配,賬號+密碼正確的話,就會登錄到系統中各個用戶的主管理界面,否則提示對應的信息,返回到登錄的界面,其主界面展示如下圖4.1所示。
圖4.1 登錄界面圖
登錄代碼如下:
public function login()
????{
????????if (Request::isPost()) {
????????????$request = Request::param();
????????????$result = $this->validate($request, $this->validate);
????????????if (true !== $result) {
????????????????$data['error'] = 30000;
????????????????$data['message'] = $result;
????????????} else {
????????????????$request['password'] = md5($request['password']);
????????????????$result = $this->model->login($request, $this->table);
????????????????$data = $result;
????????????}
????????} else {
????????????$data['error'] = 30000;
????????????$data['message'] = "field的值不能為空!";
????????}
????????return json_encode($data);
????}
public function login($request=[],$table_name = ''){
????????$username = $request['username'];
????????$password = $request['password'];
????????$bol = $this->where(['username'=>$username])->find();
????????if ($bol){
????????????$password = md5($password);
????????????if ($request['password']==$bol['password']) {
????????????????//添加token信息
????????????????$access_token['create_time'] = date('Y-m-d H:i:s');
????????????????$access_token['update_time'] = date('Y-m-d H:i:s');
$access_token['info'] = json_encode($bol);
????????????????// $access_token['info'] = $bol;
????????????????$access_token['token'] = md5(date('Y-m-d H:i:s'));
????????????????$bol_token = Db::name('AccessToken')->insert($access_token);
????????????????if ($bol_token){
????????????????????$data['obj'] = $bol;
????????????????????$data['obj']['token'] = $access_token['token'];
????????????????????return ['result' => $data];
????????????????}else{
????????????????????return ['error' => ['code' => 5000, 'message' => '登錄失敗,token生成失敗']];
????????????????}
????????????} else {
????????????????return ['error' => ['code' => 5000, 'message' => '登錄失敗,密碼不正確']];
????????????}
????????}else{
????????????return ['error' => ['code' => 5000, 'message' => '登錄失敗,賬號不存在']];
????????}
????}
管理員、用戶在登錄界面輸入賬號+密碼,完成驗證,點擊“登錄”按鈕,系統在用戶數據庫表中會對管理員、用戶的賬號進行匹配,賬號+密碼正確的話,就會登錄到系統中各個用戶的主管理界面,否則提示對應的信息,返回到登錄的界面,其主界面展示如下圖4.2所示。
圖4.1 注冊界面圖
注冊代碼如下:
public function register()
????{
????????if (Request::isPost()) {
????????????$request = Request::param();
????????????$request['create_time'] = isset($request['create_time']) ? $request['create_time'] : date('Y-m-d H:i:s');
????????????$request['update_time'] = isset($request['update_time']) ? $request['update_time'] : date('Y-m-d H:i:s');
????????????$result = $this->validate($request, $this->validate);
????????????if (true !== $result) {
????????????????$data['error'] = 30000;
????????????????$data['message'] = $result;
????????????} else {
????????????????$request['password'] = md5($request['password']);
????????????????$result = $this->model->register($request, $this->table);
????????????????$data = $result;
????????????}
????????} else {
????????????$data['error'] = 30000;
????????????$data['message'] = "field的值不能為空!";
????????}
????????return json_encode($data);
????}
public function register($request=[],$table_name = ''){
????????$username = $request['username'];
????????$bol = $this->where(['username'=>$username])->find();
????????if (!$bol){
????????????$result = self::allowField(true)->save($request);
????????????if ($result) {
????????????????return ['result' => 1];
????????????} else {
????????????????return ['error' => ['code' => 3000, 'message' => '注冊失敗']];
????????????}
????????}else{
????????????return ['error' => ['code' => 3000, 'message' => '注冊失敗,賬號已存在']];
????????}
????}??
交流論壇:交流論壇是一個用戶互動的平臺,用戶可以在這里發布自己的旅行經驗、心得和建議,同時也可以點贊、收藏和評論其他用戶的帖子,分享和交流旅行的樂趣。界面如下圖所示。
圖4.3交流論壇界面圖
旅游攻略:旅游攻略模塊提供了大量實用的旅行指南和建議,用戶可以根據自己的需求瀏覽和選擇,同時也可以通過點贊、收藏和評論與其他用戶互動。界面如下圖所示。
圖4.4 旅游攻略界面圖
景點信息:景點信息模塊詳細介紹了各個景點的特色和亮點,用戶可以在這里了解景點的詳細信息,并可以通過點贊、收藏、評論和購票等功能與景點進行互動。界面如下圖所示。
圖4.5 景點信息詳情界面圖
景點購票界面如下圖所示。
圖4.6 景點購票界面圖
酒店信息:酒店信息模塊提供了豐富的酒店選擇,用戶可以根據自己的需求搜索和預訂合適的酒店,同時也可以通過點贊、收藏和評論等方式與其他用戶分享酒店的使用體驗。界面如下圖所示。
圖4.7 酒店信息詳情界面圖
酒店預訂界面如下圖所示:
圖4.8?酒店預訂界面圖
美食信息:美食信息模塊展示了當地的美食特色和推薦餐廳,用戶可以在這里了解美食信息,并通過點贊、收藏和評論等功能與美食愛好者互動。界面如下圖所示。
圖4.8 美食信息界面圖
出行工具:出行工具模塊提供了各種交通工具的信息和建議,幫助用戶更好地規劃出行方式,同時也可以通過點贊、收藏和評論等功能與其他用戶分享出行經驗。界面如下圖所示。

圖4.9出行工具界面圖
個人中心:個人中心是用戶的私人空間,用戶可以在這里查看和管理自己的景點訂單、酒店訂單以及收藏的內容,方便隨時查看和回顧自己的旅行經歷。界面如下圖所示。
圖4.10 個人中心界面圖
系統用戶:系統用戶分為管理員和普通用戶兩種角色。管理員擁有更高的權限,可以執行更多的操作,而普通用戶則只能訪問其權限范圍內的功能。界面如下圖所示。
圖4.11系統用戶管理界面圖
旅游攻略管理:管理員可以添加、刪除、查詢和編輯旅游攻略,同時查看相關的評論和用戶反饋,以確保信息的準確性和完整性。界面如下圖所示。
圖4.12旅游攻略管理添加界面圖
景點信息管理:管理員可以添加、刪除、查詢和編輯景點信息,包括景點的詳細介紹、圖片、位置等,同時查看用戶對景點的評論和反饋。界面如下圖所示。
圖4.13景點信息管理界面圖
景點訂單管理:管理員可以查詢和編輯景點的訂單信息,包括訂單詳情、支付狀態等,同時也可以處理用戶的支付請求。界面如下圖所示。
圖4.14景點訂單管理界面圖
酒店信息管理:管理員可以添加、刪除、查詢和編輯酒店信息,包括酒店的介紹、房型、價格等,同時查看用戶對酒店的評論和反饋。界面如下圖所示。
圖4.15酒店信息管理界面圖
美食信息管理:管理員可以添加、刪除、查詢和編輯美食信息,包括餐廳介紹、菜品列表、價格等,同時查看用戶對美食的評論和反饋。界面如下圖所示。
圖4.16美食信息管理界面圖
交流管理:管理員可以管理交流論壇,包括論壇的分類、帖子的發布和編輯等,以促進用戶之間的交流和互動。界面如下圖所示。
圖4.17交流管理界面圖
到此,系統的開發基本完成,接下來我們對系統的實驗與結果進行分析,確保系統能夠正常運行,進而投入使用,對系統的實驗與結果分析的檢測方法就是對系統的測試,測試是系統完成的最后一步,沒有測試過的系統是不能進行投入使用的,否則一旦發生bug就會造成損失,下面我們從測試的方法以及測試的用例兩部分進行分析,最后給出系統的測試結果。
系統的測試方面有兩種,一種是黑盒測試,另一種則為白盒測試,黑盒測試通俗來說就是功能方面的測試,我們也稱之為需求測試,在黑盒測試的過程中,我們是不知道其開發原理的,只是作為一名使用者對系統進行測試,我們主要是憑借之前的測試經驗,取一些臨界值,然后通過測試用例來對其進行測試,這種測試方法是最快的查找問題方法,其次我們可以找一些具有代表性的數據,對系統進行用例測試,在黑盒測試的過程中常用的測試工具是winrunner和AutoRunner;白盒測試我們稱之為結果測試,也就是邏輯驅動測試,在白盒測試的過程中,我們主要是根據系統開發的原理進行測試的,主要是以開發者的身份去測試這個代碼是不是完成了其具體的功能,實現的具體路徑對不對,當然這種測試方法是費時費力的,因為每個功能,他的運行路徑不止一條,通過對程序當中運行的路徑進行測試,檢測開發的代碼是不是存在bug,有沒有實現預期,在白盒測試的過程中常用的測試工具為Jcontract、C++ Test以及CodeWizard等。
登錄模塊的功能測試:
表5.1 登錄模塊功能測試表
測試名稱 | 測試功能 | 操作過程 | 預期結果 | 測試結果 |
登錄模塊測試 | 登錄成功的情況 | 使用者可以通過瀏覽器進入到貴州旅游攻略系統登錄界面,輸入用戶名:admin和密碼admin,完成滑動拼圖驗證后,點擊“登錄”按鈕。 | 成功登錄到管理員管理的界面 | 正確 |
登錄模塊測試 | 登錄失敗的情況 | 使用者可以通過瀏覽器進入到貴州旅游攻略系統登錄界面,輸入用戶名:admin和密碼111,完成滑動拼圖驗證后,點擊“登錄”按鈕。 | 系統提示“用戶名和密碼不匹配” | 正確 |
用戶信息添加功能測試:
表5.2 用戶信息添加功能測試表
測試名稱 | 測試功能 | 操作過程 | 預期結果 | 測試結果 |
?用戶信息添加模塊測試 | 用戶信息添加成功的情況 | 管理員在“系統用戶”菜單中點擊“用戶信息”會顯示出所有的用戶信息,點擊“添加”按鈕,輸入賬號、密碼、昵稱、手機號碼、郵箱等,輸入正確的信息后,點擊“提交”按鈕。 | 提示添加成功 | 正確 |
用戶信息添加模塊測試 | 用戶信息添加失敗的情況 | 管理員在“系統用戶”菜單中點擊“用戶信息”會顯示出所有的用戶信息,點擊“添加”按鈕,不輸入賬號,其他信息正常填寫后,點擊“提交”按鈕。 | 提示“添加失敗,賬號不能為空” | 正確 |
查詢旅游攻略功能模塊測試:
表5.3 查詢旅游攻略功能測試表
測試名稱 | 測試功能 | 操作過程 | 預期結果 | 測試結果 |
查詢旅游攻略功能測試 | 查詢成功的情況 | 用戶在菜單欄中點擊“旅游攻略”,然后會出現系統中所有的旅游攻略信息 | 查詢成功 | 正確 |
景點信息添加功能模塊測試:
表5.4 添加景點信息功能測試表
測試名稱 | 測試功能 | 操作過程 | 預期結果 | 測試結果 |
?景點信息添加模塊測試 | 景點信息添加成功的情況 | 點擊 “景點信息管理”這個菜單,輸入景點信息即可提交信息。 | 提示提交成功 | 正確 |
景點信息添加模塊測試 | 景點信息添加失敗的情況 | 提交景點信息時,不輸入景點名稱,其他信息正常填寫后,點擊“提交”按鈕。 | 提示“添加失敗,信息不能為空” | 正確 |
在本章節對貴州旅游攻略系統進行了黑白盒測試,并對系統中的部分功能進行了用例分析,能夠發現系統還是比較穩定的,系統的所有功能基本可以實現,能夠滿足管理員和用戶對旅游攻略、景點信息添加、用戶信息添加等需求。通過測試可以看出在系統的運行過程中,其功能完整,對于輸入的錯誤信息,能夠把錯誤信息提示出來,方便用戶操作的時候發現自己輸入的信息哪里有錯誤,進而進行改正,而且系統界面都設有導航欄,操作非常便捷,不需要對使用者進行任何培訓,對于企業來說是一個很有價值的系統。
- 6 章 結論
經過了幾個月的努力,本貴州旅游攻略系統終于完成了,雖然在校期間也開發過一些小型的系統,但是都是在老師的講解以及輔助下完成的,沒有經歷過開發之前的需求分析、系統分析,都是直接從系統設計開始的,因此本次開發的貴州旅游攻略系統對我意義重大。
在開發系統最初,首先對貴州旅游攻略系統方面的需求進行調研,了解對于企業來說,開發的系統需要實現哪些功能才能滿足用戶的管理需求,對需求進行分析;其次選擇自己比較熟悉的PHP語言,MYSQL數據庫,使用Thinkphp框架來設計開發,通過知網庫、學校圖書館等地方查閱、學習這些技術,掌握編程的思想和方法,然后就是對系統進行分析,從系統開發的可行性、系統實現的功能、系統應該具備的性能以及系統的操作流程方面,對系統進行全方位的分析,確定系統的最終功能,從而對系統的功能和數據庫進行設計,最后就是系統的實現以及對實現的功能的測試,確保系統能夠穩定的運行。
在開發的過程中暴露出了自己的很多問題,比如前期的準備還是不夠充分,不能完全掌握其操作流程;在開發過程中對PHP的編程掌握的還不夠熟練以及對系統的環境配置上還存在很多問題,經常會導致項目在運行的時候出現錯誤。學無止境,通過一邊查閱資料一邊向導師請教,慢慢的解決了這些問題,在以后的學習、工作者我會更加嚴謹,通過本項目的開發,我將會收益終生!
參考文獻
[1]Gore Surabhi, Borde Nilesh, Hegde Desai Purva. Mapping tourism strategy patterns on tourism area life cycle[J]. Journal of Hospitality and Tourism Insights, 2024, 7 (1): 329-351.
[2]Georgios Tsekouropoulos, Anastasia Vasileiou, Greta Hoxha, Avraam Dimitriadis, Ioannis Zervas. Sustainable Approaches to Medical Tourism: Strategies for Central Macedonia/Greece[J]. Sustainability, 2023, 16 (1):
[3]Cristina Coscia, Francesca Pasquino. Demand Analysis Models to Support Cultural Tourism Strategy: Application of Conjoint Analysis in North Sardinia (Italy)[J]. Land, 2023, 12 (12):
[4]趙朝進. 基于PHP技術的動態網頁設計和實現[J]. 電腦知識與技術, 2023, 19 (33): 21-23.
[5]趙停停. 基于MySQL數據庫技術的Web動態網頁設計研究[J]. 信息與電腦(理論版), 2023, 35 (17): 174-176.
[6]劉艷春, 張宗霞. 基于PHP的動態網站設計與實現[J]. 集成電路應用, 2023, 40 (07): 238-239.
[7]上海旅游攻略“考古”[J]. 檢察風云, 2023, (08): 7.
[8]張日花, 劉婷婷, 陳紅娟. 基于PHP+MySQL的在線相冊設計與實現[J]. 現代信息科技, 2023, 7 (07): 15-19.
[9]張黎平. “互聯網+”背景下PHP動態網站開發技術研究[J]. 無線互聯科技, 2022, 19 (16): 154-156.
[10]趙婉彤. 基于PHP與MySQL的動態網站設計與實現[J]. 電腦編程技巧與維護, 2022, (08): 103-105+109.
[11]鐘慶偉, 顏璐. 智慧旅游體系下自駕游交互平臺構建[J]. 福建電腦, 2022, 38 (06): 87-90.
[12]郭嘉穎. 基于UGC的在線旅游攻略平臺商業化的探究——對比窮游網、馬蜂窩[J]. 南方論刊, 2022, (02): 25-27.
[13]鄧瑞琦. 旅游攻略類美食短視頻中美食文化的多元表達及意義[J]. 新媒體研究, 2021, 7 (12): 57-60.
[14]木禾. 暑期出游安全防護攻略[J]. 生命與災害, 2021, (06): 4-5.
[15]湯佳晴, 陳巧巧, 鄭書莉. 文旅融合旅游APP的設計與運營——以紹興師爺文化為例[J]. 中國商論, 2021, (11): 53-55.
[16]劉意凡, 金夢越, 李響, 趙欣. 景點熱度值對夜間旅游經濟影響的路徑研究——基于AMOS模型的分析[J]. 西部旅游, 2021, (05): 9-12.
[17]潘文佳. 基于蟻群優化算法的最優旅游路線優化模型[J]. 電子設計工程, 2020, 28 (22): 47-51.
[18]莫晶, 裴大容. 基于微信小程序的旅游系統的實現[J]. 電腦編程技巧與維護, 2020, (07): 55-57.
[19]王暉, 黃亞茜. 基于攜程攻略旅游景點高頻詞的芙蓉鎮印象[J]. 現代營銷(信息版), 2019, (12): 77.
[20]張迪. 公眾號旅游攻略的商業模式[J]. 營銷界, 2019, (28): 114-115.
致 ?謝
“致謝”意味著論文的結束,也意味著自己的畢業設計順利完成,同時也代表了自己的大學生涯即將結束,我即將要離開自己敬愛的老師和親愛的同學們,在這里我首先要感謝的就是所有的老師,“春滿江山綠滿園,桃李爭春露笑顏,東西南北春常在,唯有師恩留心間”,他們無論在我的學業還是在我的生活上付出了所有,對我諄諄教誨;其次我要感謝我的指導老師,他在我的整個畢業設計當中起著引導作用,每當我有困難的時候,他總會第一時間幫助我,引導我進行解決問題,而不是直接告訴我答案,“授人以魚不如授人以漁”,指導老師的這種做法讓我受益終生,同時我也從指導老師身上學習到了許多的開發技巧以及檢驗,這對我今后的開發起著十分重要的作用;再次,我需要感謝我的同學、室友,他們不僅僅在畢業設計上給我許多幫助意見,在大學同窗四年,他們給過我的幫助太多了,我對他們有太多的不舍,無法用言語表示,我相信在以后的人生道路上只要想到他們,我心里就會很溫暖,這種友情是任何感情替代不了的;最后我還要感謝家人,感謝自己,感謝家人對我的支持,感謝自己在學業上的堅持,我相信我以后的道路會越來越好。
?
免費領取項目源碼,請關注?點贊收藏并私信博主,謝謝~