摘要
互聯網技術的成熟和普及,勢必會給人們的生活方式帶來不同程度的改變。越來越多的經營模式中都少不了線上運營,互聯網正強力推動著社會和經濟發展。國人對民族文化的自信和不同文化的包容,再加上電影行業的發展,如此繁榮吸引了越多越多的人觀影。可以讓選擇觀影的用戶享受到更好的購票觀影體驗,解決線下購票的繁瑣過程,線上購票無疑是直擊痛點的解決方案。一套完備的電影售票網站可以實現讓用戶又快又準找到自己喜歡的影片,一鍵購票、無痛取票,同時也是從側面促使電影經濟的穩定發展。 本系統采用的數據庫是MySQL,使用Node.js技術開發。在設計過程中,很好地發揮了該開發方式的優勢,讓實現代碼有了良好的可讀性,而且使代碼的更新和維護更加的方便,操作方便,對以后的維護減少了很多麻煩。系統的順利開發和實現,對于電影售票管理這一方面提供巨大的便利服務,無論是用戶還是未注冊的游客,都帶來了極大的便利,方便大眾,為電影行業進步與發展提供了一些動力。
緒論
1.1 課題背景、目的及意義 1.1.1 課題背景 從互聯網誕生之初被視為一種技術,到逐步呈現出媒體屬性,社交屬性、意識形態屬性。網絡空間與我們生活息息相關。電影行業中充分體現了“互聯網+電影”的戰略思想。 據中國電影數據信息網數據顯示,受全球疫情的蔓延對電影產業帶來了巨大的沖擊,2020年中國電影票房同比下降68.2%,但當前中國防疫取得顯著成果。2021年中國電影總票房達到472.6億元,同比增長131.4%。[11]電影產業正逐步回穩復蘇,更有一系列主旋律優秀影片上映,引起觀影熱潮,給中國電影票房帶來了促進作用。自08年國內首個線上購票平臺的成立,從此打開了中國院線電影在線購票的大門,從而解放了線下實地購票排隊久的困擾。越來越多的觀影者選擇選擇網上購買電影票,網上購票意味著更加方便快速的購票體驗。綜合現如今電影網絡購票的現狀,解決了網絡購票系統在用戶體驗上的不足,放大用戶體驗的優點。我國網絡電影購票平臺的用戶體驗感依然還有進一步可提升的空間。 本文秉持著從用戶角度出發的思想觀念,切身體驗用戶瀏覽網站的全過程以及管理員對整個影院的管理需求,盡可能給用戶帶來最佳的體驗。
1.1.2 項目開發目的和意義 現如今科技的卓越發展,時代環境的大變革。人們生活變得越來越多元化,這種多元化很大程度上由互聯網科技發展引起,日新月異的互聯網讓我們實現了眾多的不可能。社會高速發展,快節奏下的高壓生活,讓人們更加注重精神層面的放松。彼時電影行業變得家喻戶曉,更多人的選擇觀影這一途徑來消解壓力,尋求更多共鳴。傳統電影院的購票方式單一且效率低,顧客需要在到達電影院后才可選擇電影,但影院條件有限無法讓顧客從多個角度了解電影。這樣就造成了觀影者選擇影片的困難。若遇到高峰時段,顧客購票的積極性還會被排隊打消。從管理人員的角度來看,一套得心應手的管理系統也是推動影院運營的好方法。綜上所述,設計本網站為將一系列問題給予解決,讓系統用戶體驗線流暢購票,在本網站中對電影詳情頁面中,用戶可以看到相關的評論和評分,可以作為是否選擇觀看本影片的參考。讓影院管理員的管理變得更加輕松簡單。
相關技術
2.1 Node.js簡介 Node.js發布于2009年5月,由Ryan Dahl開發,是一個基于Chrome V8引擎的Node.jsScript運行環境,使用了一個事件驅動、非阻塞式I/O模型,讓Node.jsScript 運行在服務端的開發平臺,它讓Node.jsScript成為與PHP、Python、Perl、Ruby等服務端語言平起平坐的腳本語言。Node.js對一些特殊用例進行優化,提供替代的API,使得V8在非瀏覽器環境下運行得更好,V8引擎執行Node.jsscript的速度非常快,性能非常好,基于Chrome Node.jsScript運行時建立的平臺, 用于方便地搭建響應速度快、易于擴展的網絡應用。 2.2 VUE框架 Vue.js是一套構建用戶界面的漸進式框架,是一個基于MVVM模式的 JavaScript庫[5]。Vue.js采用了自底向上的增量式開發的設計。Vue.js 的顯著特性有:輕量級的框架、雙向數據綁定、指令、插件化[6]。
2.3MySQL數據庫 MySQL是一種關系型的數據庫管理系統,屬于Oracle旗下的產品。MySQL的語言是非結構化的,使用的用戶可以在數據上進行工作。這個數據庫管理系統一經問世就受到了社會的廣泛關注。在各個方面,與同等的數據庫相比,MySQL的優點極為突出,它的運行速度快,適用的范圍廣泛,而且數據庫的安全性這一方面獨樹一幟。在語言結構方面,MySQL的語言簡單,其他數據庫需要一大段代碼來實現的操作,MySQL僅需要一小部分代碼甚至幾行。綜上所述,MySQL這種關系型數據庫管理系統,已經成為了開發者進行項目的數據開發、存儲的不二之選。MySQL的功能也多種多樣,如數據操縱和數據庫的建立維護等。而且該數據庫的數據共享性高、冗余度低而且容易擴充。MySQL在安全性這一方面也具有自身的特點,它應用了用戶的標識和鑒別技術,對試圖和數據進行加密,確保資料信息的可靠性。介于數據庫系統的功能與強大等性質之間,本數據庫系統的設計中主要使用了MySQL實現對數據的處理。基于Web的電影售票網站運用MySQL數據庫,在Web應用這一塊,MySQL是最好的選擇。對于該系統整個的開發、搭建、運行和維護具有極其重要的作用[9]。
系統工作流程圖
系統前臺界面圖
電影信息界面圖
電影選座界面圖
管理員登錄界面圖
管理員功能界面圖
電影信息管理界面圖
部分數據庫表
字段名稱 | 類型 | 長度 | 字段說明 | 主鍵 | 默認值 |
id | bigint | 主鍵 | 主鍵 | ||
addtime | timestamp | 創建時間 | CURRENT_TIMESTAMP | ||
dianyingmingcheng | varchar | 200 | 電影名稱 | ||
dianyingfengmian | longtext | 4294967295 | 電影封面 | ||
dianyingleixing | varchar | 200 | 電影類型 | ||
yingyuanchangci | varchar | 200 | 影院場次 | ||
quyu | varchar | 200 | 區域 | ||
shangyingshijian | date | 上映時間 | |||
daoyan | varchar | 200 | 導演 | ||
zhuyan | varchar | 200 | 主演 | ||
dianyingjieshao | longtext | 電影介紹 | |||
dianyingxiangqing | longtext | 電影詳情 | |||
bofangriqi | date | 播放日期 | |||
thumbsupnum | int | 贊 | 0 | ||
crazilynum | int | 踩 | 0 | ||
clicktime | datetime | 最近點擊時間 | |||
clicknum | int | 點擊次數 | 0 | ||
price | float | 價格 | |||
number | int | 座位總數 | |||
selected | longtext | 已選座位[用,號隔開] |
結論
本文完成了電影售票網站的設計與實現,在實現之初對此課題的背景做了分析,表明此課題的可行性。為完成預期效果,先理清整個系統的需求。從功能性需求和非功能性需求兩方面著手,功能性需求分析主要從使用系統兩個不同的角色的角度來闡述整個系統的功能。另一方面時系統的非功能性的需求分析,主要針對系統開發完成后投入到實際使用的可行性問題。了解了系統的功能需求后,開始設計代碼的主要架構。之后是對系統數據庫的具體設計,清晰系統中實體有哪些他們之間的關系是什么。在對系統功能需求、設計框架有了一個全面的認知過后開始編寫代碼。完成編寫后,對系統進行測試完善漏洞實現預期效果。 該系統的設計與實現,是經過了很長時間的分析、觀察、調研和研究分析并整理資料實施的。電影售票網站采用B/S架構、Node.js開發語言、VUE框架以及MySQL數據庫等技術開發與設計。該系統主要分為用戶和管理員個角色。該電影售票網站分為前端和后端兩大部分。前端的主要功能為向注冊用戶展示商品信息、新聞資訊信息等,并對一些數據進行記錄。后端的主要任務是對數據的一些準備處理的工作,對于用戶和管理員兩者的數據屬性的添加、維護和修改。每個功能在完成各自任務的同時也相互合作,一起來處理各個任務以及進程。 一個完整的系統實現從0到1的跨越,由眾多的小細節匯聚而成。前期需要有計劃、有目的地了解用戶需求,根據需求合理設計系統架構、數據庫。開發一個完整的系統并非易事,需要有足夠的耐心去了解細節,抱著不斷求知的心理一磚一瓦地搭建整個系統。系統依然有需要進一步去考量和完善的地方,需要日后多多實踐體驗積累更多經驗。