畢業(yè)設(shè)計(論文)-springboot校園心聲墻微信小程序設(shè)計_第1頁
畢業(yè)設(shè)計(論文)-springboot校園心聲墻微信小程序設(shè)計_第2頁
畢業(yè)設(shè)計(論文)-springboot校園心聲墻微信小程序設(shè)計_第3頁
畢業(yè)設(shè)計(論文)-springboot校園心聲墻微信小程序設(shè)計_第4頁
畢業(yè)設(shè)計(論文)-springboot校園心聲墻微信小程序設(shè)計_第5頁
已閱讀5頁,還剩38頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

畢畢業(yè)論文(小初號楷體居中) (四號黑體)題目:springboot校園心聲墻小程序?qū)W院:專業(yè):姓名:學(xué)號:指導(dǎo)教師:年月日PAGE26摘要校園心聲墻小程序的應(yīng)用范圍很廣,很多學(xué)校都會建立一套具有自己學(xué)校風(fēng)格的心聲墻小程序,來方便學(xué)校學(xué)生之間的日常聯(lián)系和交流心聲的建立對學(xué)生之間的信息的傳播,知識的交流提供了一個很好的平臺,增加了學(xué)生課余生活的情趣。本校園心聲墻是基于小程序開發(fā)的一套系統(tǒng)。校園心聲墻小程序的主要功能就是方便同學(xué)之間的聯(lián)系,促進同窗好友的感情,校園心聲墻小程序系統(tǒng)功能齊全,含有留言,搜索,上傳和后臺管理等功能。校園心聲墻小程序的設(shè)計主要是對系統(tǒng)所要實現(xiàn)的功能進行詳細考慮,確定所要實現(xiàn)的功能后進行界面的設(shè)計,在這中間還要考慮如何可以更好的將功能及頁面進行很好的結(jié)合,方便用戶可以很容易明了的找到自己所需要的信息,還有系統(tǒng)平臺后期的可操作性,通過對信息內(nèi)容的詳細了解進行技術(shù)的開發(fā)。校園心聲墻小程序的開發(fā)利用現(xiàn)有的成熟技術(shù)參考,以源代碼為模板,分析功能調(diào)整與校園心聲墻小程序管理的實際需求相結(jié)合,討論了基于校園心聲墻小程序管理的使用。關(guān)鍵詞:校園心聲墻小程序;微信小程序;MySQL

AbstractTheapplicationscopeofthecampusvoicewallwidgetisverywide.Manyschoolswillestablishasetofvoicewallwidgetwiththeirownschoolstyletofacilitatethedailycontactandcommunicationbetweenschoolstudents.Theestablishmentofvoiceofmindwillspreadinformationamongstudents.Theexchangeofknowledgewillprovideagoodplatformandincreasetheinterestofstudents'extracurricularlife.Thecampusvoicewallisasystemdevelopedbasedonsmallprograms.Themainfunctionofthecampusvoicewallappletistofacilitatethecontactbetweenstudentsandpromotethefeelingsofclassmatesandfriends.Thecampusvoicewallappletsystemhascompletefunctions,includingmessage,search,uploadandbackgroundmanagementfunctions.Thedesignofthecampusvoicewallappletismainlytoconsiderthefunctionstoberealizedbythesystemindetail,andthentodesigntheinterfaceafterdeterminingthefunctionstoberealized.Inthisprocess,weshouldalsoconsiderhowtobettercombinethefunctionsandpages,sothatuserscaneasilyfindtheinformationtheyneed,aswellastheoperabilityofthesystemplatforminthelaterstage,Developtechnologythroughdetailedunderstandingofinformationcontent.Thedevelopmentofthecampusvoicewallappletusestheexistingmaturetechnologyreference,takesthesourcecodeasthetemplate,analyzesthefunctionadjustmentandtheactualneedsofthecampusvoicewallappletmanagement,anddiscussestheuseofthecampusvoicewallappletmanagement.Keywords:Campusvoicewallwidget;WeChatapplet;MySQL

目錄TOC\o"1-3"\h\z\t"標題2,2,標題3,3,標題4,4,標題5,5,標題6,6,標題7,7,標題8,8,標題9,9,頁腳,1,頁眉,1,列出段落,1,標題,1,副標題,3,參考文獻,1"摘要 1目錄 11引言 11.1課題研究背景 11.2研究現(xiàn)狀 11.3系統(tǒng)的特點 11.4論文結(jié)構(gòu)與章節(jié)安排 22系統(tǒng)需求分析 32.1可行性分析 32.1.1技術(shù)可行性分析 32.1.2操作可行性分析 32.1.3經(jīng)濟可行性分析 32.2功能需求分析 33系統(tǒng)總體設(shè)計 63.1系統(tǒng)開發(fā)架構(gòu)的選擇 63.1系統(tǒng)功能模塊設(shè)計 63.1.1用戶端頁面設(shè)計 73.1.2用戶模塊設(shè)計 73.1.3評論管理模塊設(shè)計 83.1.4熱門話題模塊設(shè)計 83.2數(shù)據(jù)庫設(shè)計 93.2.1數(shù)據(jù)庫概要設(shè)計 93.2.2數(shù)據(jù)庫邏輯設(shè)計 94系統(tǒng)詳細實現(xiàn) 144.1用戶端功能實現(xiàn) 144.1.1網(wǎng)站主頁功能實現(xiàn) 144.1.2用戶注冊登錄功能實現(xiàn) 144.2.3登錄功能實現(xiàn) 154.2.4心聲墻功能實現(xiàn) 164.2.5熱門話題功能實現(xiàn) 174.2.6我的功能實現(xiàn) 174.2.7我的功能實現(xiàn) 184.2管理端功能實現(xiàn) 194.2.1管理端管理員登錄功能實現(xiàn) 194.2.2人員管理功能實現(xiàn) 204.2.3網(wǎng)站管理功能實現(xiàn) 204.2.4播圖管理界面 214.2.5公告消息界面 214.2.6內(nèi)容管理功能實現(xiàn) 225系統(tǒng)測試 235.1軟件測試的重要性 235.2測試實例的研究與選擇 235.3測試環(huán)境與測試條件 235.4測試總結(jié) 24總結(jié) 26參考文獻 27致謝 28學(xué)校學(xué)士學(xué)位論文1引言1.1課題研究背景隨著網(wǎng)絡(luò)時代的到來,互聯(lián)網(wǎng)的優(yōu)勢和普及時刻影響并改變著人們的生活方式。在信息技術(shù)迅速發(fā)展的今天,計算機技術(shù)已經(jīng)遍及全球,使社會發(fā)生了巨大的變革。為了不受時間和地點的限制,智能手機用戶可以通過移動網(wǎng)絡(luò)訪問網(wǎng)站和處理各種業(yè)務(wù)和互聯(lián)網(wǎng),這是一個有效的將應(yīng)用系統(tǒng)的功能擴展到手機終端的方法。現(xiàn)今各種智能手機層出不窮,各類基于手機平臺的軟件應(yīng)運而生,其中,在眾多交流軟件中,微信備受人們青睞。近年來,微信發(fā)展規(guī)模越來越大,越來越多的人開始使用微信,目前隨著智能手機系統(tǒng)的普及,人人手機上基本都有了微信。所以,微信推出小程序廣告支持公眾號關(guān)注,而這就意味著小程序跟公眾號之間的通道被徹底打通了。本論文校園心聲墻小程序主要牽扯到的程序,數(shù)據(jù)庫與計算機技術(shù)等。覆蓋知識面大,可以大大的提高系統(tǒng)人員工作效率。1.2研究現(xiàn)狀隨著社會的發(fā)展和科學(xué)技術(shù)的進步,互聯(lián)網(wǎng)技術(shù)越來越受歡迎。網(wǎng)絡(luò)傳播的生活方式逐漸受到廣大人民群眾的喜愛。越來越多的互聯(lián)網(wǎng)愛好者開始在互聯(lián)網(wǎng)上滿足他們的基本需求,同時逐漸進入各個用戶的生活起居。互聯(lián)網(wǎng)具有許多優(yōu)點,例如便利性,速度,高效率和低成本。因此,類似于校園心聲墻小程序,滿足用戶工作繁忙的需求,不僅是方便用戶隨時查看信息的途徑,而且還能提高管理效率。本文首先以校園心聲墻小程序過程的基本問題作為研究對象。在開發(fā)系統(tǒng)之前,我們對現(xiàn)有狀況進行了詳細的調(diào)查和分析。最后,我們利用計算機技術(shù)開發(fā)了一套完整合適的微信小程序的校園心聲墻。該系統(tǒng)的實現(xiàn)主要優(yōu)勢是:該系統(tǒng)主要采用計算機技術(shù)開發(fā),它方便快捷;系統(tǒng)可以通過管理員界面查看用戶的所有信息管理。校園心聲墻小程序軟件是一款方便、快捷、實用的信息服務(wù)查詢軟件。隨著智能網(wǎng)絡(luò)在全球市場的不斷普及以及各種智能平臺的使用,系統(tǒng)的開發(fā)與人們的日常需求相關(guān),作為中國主流智能的技術(shù)開發(fā)系統(tǒng),自然需要這樣的軟件來滿足更多用戶的需求和體驗。1.3系統(tǒng)的特點(1)校園心聲墻小程序中的web管理端管理中的后端不再使用古老的jsp+javabean+servlet技術(shù),而是使用當前主流的springboot框架,它減少java配置代碼,簡化編程代碼,目前springboot框架也是很多企業(yè)選擇的框架之一。(2)校園心聲墻小程序中的web管理端管理中的前端使用的是bootstrap框架,它配合ajax和jquery可以美化頁面設(shè)計。(3)校園心聲墻小程序中數(shù)據(jù)庫用的mysql5.7,它執(zhí)行效率高。1.4論文結(jié)構(gòu)與章節(jié)安排本文共分為六章,章節(jié)內(nèi)容安排如下:第一章:引言。第一章主要介紹了課題研究的背景意義,國內(nèi)目前相關(guān)研究現(xiàn)狀以及技術(shù)和本文的研究內(nèi)容與主要工作。第二章:系統(tǒng)需求分析。第二章主要從系統(tǒng)的可行性、功能等方面進行需求分析。第三章:系統(tǒng)總體設(shè)計。第三章主要對系統(tǒng)功能模塊、數(shù)據(jù)庫進行功能設(shè)計。第四章:系統(tǒng)詳細設(shè)計。第四章主要介紹了系統(tǒng)各個用戶的功能、系統(tǒng)界面的實現(xiàn)。第五章:系統(tǒng)測試。第五章主要對系統(tǒng)的部分界面進行測試并對主要功能進行測試

2系統(tǒng)需求分析2.1可行性分析通過以下的網(wǎng)站總體需求分析,進而分析是否擁有達成需求的技術(shù)、資金和開發(fā)人員等條件。那么就從以下幾點進行簡單的說明:2.1.1技術(shù)可行性分析校園心聲墻小程序存儲所使用的mysql數(shù)據(jù)庫以及開發(fā)中所使用的IDEA、Tomcat這些開發(fā)工具的使用,能夠給我們的編寫工作帶來許多的便利。系統(tǒng)使用springboot框架進行開發(fā),使系統(tǒng)的可擴展性和維護性更佳,減少java配置代碼,簡化編程代碼,目前springboot框架也是很多企業(yè)選擇的框架之一。2.1.2操作可行性分析在日常生活中,隨著小程序的快速推廣和使用,越來越多人掌握小程序的使用方法,基于微信小程序校園心聲墻小程序在這種條件背景下是很容易被人們所接受和熟悉的,所以在操作上沒任何問題。2.1.3經(jīng)濟可行性分析在開發(fā)校園心聲墻小程序中所使用的開發(fā)軟件像IDEA開發(fā)工具、Tomcat8.0服務(wù)器、MySQL5.7數(shù)據(jù)庫、Photoshop圖片處理軟件等,這些都是開源免費的,并且校園心聲墻小程序是自己設(shè)計并編碼實現(xiàn)的,數(shù)據(jù)庫是使用流行mysql進行數(shù)據(jù)的存儲,開源的mysql等技術(shù)的使用,減少系統(tǒng)開發(fā)費用。2.2功能需求分析校園心聲墻小程序中的web管理端管理端采用了IntelliJIDEA2019.3.4開發(fā)工具,配合了java開發(fā)語言中springboot開發(fā)框架以及tomcat8.0服務(wù)器、jdk1.8,用戶端采用了微信開發(fā)者工具穩(wěn)定版1.05.2111300,頁面使用wxss和wxml進行布局,用戶端和web管理端管理端采用json接口通信。校園心聲墻小程序中的管理端管理員角色主要負責(zé)了如下功能操作。(1)網(wǎng)站管理功能需求:網(wǎng)站管理包括了輪播圖、公告信息兩部分,管理員可以對這兩部分進行添加,修改,刪除和查詢等。(2)人員管理功能需求:人員管理部分包括了管理員,學(xué)生用戶兩個角色,管理員可以對這兩個角色進行添加,修改,刪除以及查詢等。(3)內(nèi)容管理功能需求:內(nèi)容管理主要實現(xiàn)了心聲墻、心聲分類、熱門話題、話題分類的功能,管理員可以進行維護管理操作。圖2-1管理員角色用例圖校園心聲墻小程序中的用戶端用戶角色主負責(zé)了如下功能操作。(1)用戶查看系統(tǒng)信息功能需求:用戶可以通過系統(tǒng)首頁查看校園心聲墻小程序信息,包括首頁,心聲墻、熱門話題、我的等模塊。(2)用戶登錄與注冊功能需求:用戶可以通過注冊獲取帳戶。(3)首頁:可查看管理員發(fā)布所有公告消息;(4)心聲墻:可搜索查看心聲墻所有帖子,對喜歡的帖子進行收藏、點贊評,也可發(fā)布帖子;(5)熱門話題:用戶登錄用戶端以后,是可以對資訊信息進行查看、點贊、收藏、評論等操作;(6)我的:用戶可對個人信息、頭像、密碼、昵稱進行修改等操作。圖2-2用戶端用戶角色用例圖3系統(tǒng)總體設(shè)計3.1系統(tǒng)開發(fā)架構(gòu)的選擇小程序可以通過瀏覽器來規(guī)避很多問題,依靠瀏覽器讓項目的開發(fā)變得簡單,不再擔(dān)心項目的版本跟新帶來的數(shù)據(jù)傳輸?shù)纫幌盗械膯栴}。值得注意的是B/S架構(gòu)的項目,瀏覽器與服務(wù)器的數(shù)據(jù)的交互是通過http協(xié)議進行的,同樣,服務(wù)器與數(shù)據(jù)庫的數(shù)據(jù)交互也是通過http協(xié)議,統(tǒng)一的格式讓信息的交互更加的簡便與快捷。下圖是具體的b/s架構(gòu)圖:圖3-1系統(tǒng)B/S結(jié)構(gòu)3.1系統(tǒng)功能模塊設(shè)計校園心聲墻小程序的整體架構(gòu)確定以后,再來看校園心聲墻小程序的主要功能模塊圖。整體的功能模塊包括用戶端和管理端,用戶端只要實現(xiàn)用戶注冊登錄,主要的頁面,包括首頁,心聲墻、熱門話題等頁面。管理端的模塊主要實現(xiàn)了管理員用戶,有網(wǎng)站管理、人員管理、內(nèi)容管理等。確定了模塊以后,再設(shè)計各個模塊的功能特點,方便抽取出各個模塊的公共部分來。圖3.1校園心聲墻小程序功能模塊圖3.1.1用戶端頁面設(shè)計本校園心聲墻小程序的用戶端頁面所有的頁面設(shè)計主要是上中下的結(jié)構(gòu),這樣的好處是讓所有的頁面更加的整潔。主題的頁面顏色采用淡色為主,為突出頁面的美觀。主頁面上分為導(dǎo)航欄,導(dǎo)航欄的每個導(dǎo)航項目設(shè)計為一張jsp頁面,除此之外,還有就是用戶中心頁面,管理端的頁面了。管理端頁面已簡單的上下結(jié)構(gòu)為主。3.1.2用戶模塊設(shè)計(1)用戶模塊結(jié)構(gòu)圖本網(wǎng)站的用戶包括管理員,注冊用戶兩模塊。兩種用戶模塊的功能基本是相同的,用戶模塊比管理員多了一個注冊功能,所以以用戶模塊的結(jié)構(gòu)圖為例進行分析,如下圖:圖3.2用戶模塊結(jié)構(gòu)圖(2)各個結(jié)構(gòu)的具體業(yè)務(wù)邏輯a.查詢用戶信息:設(shè)計最基礎(chǔ)的查詢功能,主要就是根據(jù)用戶id查詢用戶信息。該功能主要體現(xiàn)在管理員用戶信息查詢和用戶自己查詢信息的時候。b.修改用戶信息:用戶可以根據(jù)情況,對自己的基本信息進行修改,包括名字修改、密碼修改、頭像修改等操作。c.增加用戶:用戶可以通過注冊來獲得賬號d.刪除用戶信息:管理員沒有權(quán)利進行刪除信息的刪除,最多把用戶加入到黑名單中,禁止用戶進行登錄操作。3.1.3評論管理模塊設(shè)計(1)評論模塊結(jié)構(gòu)圖校園心聲墻小程序是一個交流性質(zhì)的公開網(wǎng)站,用戶和用戶之間可以對網(wǎng)站上的內(nèi)容,比如心聲墻、熱門話題等進行點評,增加用戶之間的互動性。但是同時也為了更好的規(guī)范評論的內(nèi)容,給予管理員刪除不合適的言論的功能,所以需要專門設(shè)計一個評論管理模塊,具體的結(jié)構(gòu)圖如下:圖3-4評論模塊結(jié)構(gòu)圖(2)各個結(jié)構(gòu)的具體業(yè)務(wù)邏輯a.查詢評論:設(shè)計最基礎(chǔ)的查詢功能,主要就是根據(jù)用戶id查詢該用戶下的所有評論信息。b.發(fā)布評論:用戶可以根據(jù)情況,發(fā)布自己評論信息到網(wǎng)站上。c.刪除評論:管理員沒有權(quán)限修改用戶的評論信息,但是可以刪除用戶的整條評論。3.1.4熱門話題模塊設(shè)計校園心聲墻小程序重要的一個功能就是熱門話題,其模塊功能結(jié)構(gòu),具體的結(jié)構(gòu)圖如下:圖3.4訂單模塊結(jié)構(gòu)圖(2)各個結(jié)構(gòu)的具體業(yè)務(wù)邏輯a.添加話題:管理員可以對話題進行添加。b.修改話題:管理員可以對話題進行修改。c.刪除話題:管理員可以對話題進行刪除。d.熱門話題分類:管理員可以對熱門話題進行分類管理。3.2數(shù)據(jù)庫設(shè)計3.2.1數(shù)據(jù)庫概要設(shè)計校園心聲墻小程序根據(jù)上面的E-R實體圖,就再找到實體與實體之間的關(guān)系來,制作總的E-R圖,實體之間的關(guān)系一共有4種,也就是一對一,多對一,一對多和多對多,總的E-R圖是設(shè)計數(shù)據(jù)庫表格的依據(jù),如下圖是網(wǎng)站的總E-R圖。圖3.5系統(tǒng)總體E-R圖3.2.2數(shù)據(jù)庫邏輯設(shè)計根據(jù)上面的E-R圖,繼而設(shè)計數(shù)據(jù)庫表格,注意的是數(shù)據(jù)庫表格遵從三范式標準,這樣以后操作也會更加簡單一些。系統(tǒng)的各個數(shù)據(jù)庫表如下。access_token字段名稱類型長度不是null主鍵字段說明token_idint11是是臨時訪問牌IDtokenvarchar64否否臨時訪問牌infotext0否否maxageint2是否最大壽命create_timetimestamp0是否創(chuàng)建時間update_timetimestamp0是否更新時間user_idint11是是用戶編號article字段名稱類型長度不是null主鍵字段說明article_idmediumint8是是文章idtitlevarchar125是否標題typevarchar64是否文章分類hitsint10是是點擊數(shù)praise_lenint11是否點贊數(shù)create_timetimestamp0是否創(chuàng)建時間update_timetimestamp0是否更新時間sourcevarchar255否否來源urlvarchar255否否來源地址tagvarchar255否否標簽contentlongtext0否否正文imgvarchar255否否封面圖descriptiontext0否否文章描述article_type字段名稱類型長度不是null主鍵字段說明type_idsmallint5是是分類IDdisplaysmallint4是是顯示順序namevarchar16是否分類名稱father_idsmallint5是是上級分類IDdescriptionvarchar255否否描述icontext0否否分類圖標urlvarchar255否否外鏈地址create_timetimestamp0是否創(chuàng)建時間update_timetimestamp0是否更新時間auth字段名稱類型長度不是null主鍵字段說明auth_idint11是是授權(quán)IDuser_groupvarchar64否否用戶組mod_namevarchar64否否模塊名table_namevarchar64否否表名page_titlevarchar255否否頁面標題pathvarchar255否否路由路徑positionvarchar32否否位置modevarchar32是否跳轉(zhuǎn)方式addtinyint1是是是否可增加deltinyint1是是是否可刪除settinyint1是是是否可修改gettinyint1是是是否可查看field_addvarchar500否否添加字段field_setvarchar500否否修改字段field_getvarchar500否否查詢字段table_nav_namevarchar500否否跨表導(dǎo)航名稱table_navvarchar500否否跨表導(dǎo)航optiontext0否否配置create_timetimestamp0是否創(chuàng)建時間update_timetimestamp0是否更新時間collect字段名稱類型長度不是null主鍵字段說明collect_idint10是是收藏IDuser_idint10是是收藏人IDsource_tablevarchar255否否來源表source_fieldvarchar255否否來源字段source_idint10是是來源IDtitlevarchar255否否標題imgvarchar255否否封面create_timetimestamp0是否創(chuàng)建時間update_timetimestamp0是否更新時間comment字段名稱類型長度不是null主鍵字段說明comment_idint11是是評論IDuser_idint11是是評論人IDreply_to_idint11是是回復(fù)評論IDcontentlongtext0否否內(nèi)容nicknamevarchar255否否昵稱avatarvarchar255否否頭像地址create_timetimestamp0是否創(chuàng)建時間update_timetimestamp0是否更新時間source_tablevarchar255否否來源表source_fieldvarchar255否否來源字段source_idint10是是來源IDforum字段名稱類型長度不是null主鍵字段說明forum_idmediumint8是是論壇iddisplaysmallint5是是排序user_idmediumint8是是用戶IDnicknamevarchar16否否昵稱praise_lenint10否否點贊數(shù)hitsint10是是訪問數(shù)titlevarchar125是否標題keywordsvarchar125否否關(guān)鍵詞descriptionvarchar255否否描述urlvarchar255否否來源地址tagvarchar255否否標簽imgtext0否否封面圖contentlongtext0否否正文create_timetimestamp0是否創(chuàng)建時間update_timetimestamp0是否更新時間avatarvarchar255否否發(fā)帖人頭像typevarchar64是否論壇分類forum_type字段名稱類型長度不是null主鍵字段說明type_idsmallint5是是分類IDnamevarchar16是否分類名稱descriptionvarchar255否否描述urlvarchar255否否外鏈地址father_idsmallint5是是上級分類IDiconvarchar255否否分類圖標create_timetimestamp0是否創(chuàng)建時間update_timetimestamp0是否更新時間hits字段名稱類型長度不是null主鍵字段說明hits_idint10是是點贊IDuser_idint11是是點贊人create_timetimestamp0是否創(chuàng)建時間update_timetimestamp0是否更新時間source_tablevarchar255否否來源表source_fieldvarchar255否否來源字段source_idint10是是來源IDinformation_center字段名稱類型長度不是null主鍵字段說明information_center_idint11是否信息中心IDsend_userint11否否發(fā)送用戶receiving_userint11否否接收用戶message_headervarchar64否否信息標題send_datedate0否否發(fā)送日期information_contenttext0否否信息內(nèi)容recommendint11是否智能推薦create_timedatetime0是否創(chuàng)建時間update_timetimestamp0是否更新時間notice字段名稱類型長度不是null主鍵字段說明notice_idmediumint8是是公告idtitlevarchar125是否標題contentlongtext0否否正文create_timetimestamp0是否創(chuàng)建時間update_timetimestamp0是否更新時間praise字段名稱類型長度不是null主鍵字段說明praise_idint10是是點贊IDuser_idint11是是點贊人create_timetimestamp0是否創(chuàng)建時間update_timetimestamp0是否更新時間source_tablevarchar255否否來源表source_fieldvarchar255否否來源字段source_idint10是是來源IDstatustinyint1是否點贊狀態(tài)slides字段名稱類型長度不是null主鍵字段說明slides_idint10是是輪播圖IDtitlevarchar64否否標題contentvarchar255否否內(nèi)容urlvarchar255否否鏈接imgvarchar255否否輪播圖hitsint10是是點擊量create_timetimestamp0是否創(chuàng)建時間update_timetimestamp0是否更新時間student_users字段名稱類型長度不是null主鍵字段說明student_users_idint11是否學(xué)生用戶IDstudent_idvarchar64否否學(xué)生學(xué)號student_namevarchar64否否學(xué)生姓名student_gendervarchar64否否學(xué)生性別student_departmentvarchar64否否學(xué)生院系majorvarchar64否否學(xué)生專業(yè)examine_statevarchar16是否審核狀態(tài)recommendint11是否智能推薦user_idint11是否用戶IDcreate_timedatetime0是否創(chuàng)建時間update_timetimestamp0是否更新時間upload字段名稱類型長度不是null主鍵字段說明upload_idint11是否上傳IDnamevarchar64否否文件名pathvarchar255否否訪問路徑filevarchar255否否文件路徑displayvarchar255否否顯示順序father_idint11否否父級IDdirvarchar255否否文件夾typevarchar32否否文件類型user字段名稱類型長度不是null主鍵字段說明user_idmediumint8是是用戶IDstatesmallint1是是賬戶狀態(tài)user_groupvarchar32否否所在用戶組login_timetimestamp0是否上次登錄時間phonevarchar11否否手機號碼phone_statesmallint1是是手機認證usernamevarchar16是否用戶名nicknamevarchar16否否昵稱passwordvarchar64是否密碼emailvarchar64否否郵箱email_statesmallint1是是郵箱認證avatarvarchar255否否頭像地址create_timetimestamp0是否創(chuàng)建時間user_group字段名稱類型長度不是null主鍵字段說明group_idmediumint8是是用戶組IDdisplaysmallint4是是顯示順序namevarchar16是否名稱descriptionvarchar255否否描述source_tablevarchar255否否來源表source_fieldvarchar255否否來源字段source_idint10是是來源IDregistersmallint1否是注冊位置create_timetimestamp0是否創(chuàng)建時間update_timetimestamp0是否更新時間4系統(tǒng)詳細實現(xiàn)校園心聲墻小程序的詳細設(shè)計與實現(xiàn)主要是根據(jù)前面的校園心聲墻小程序的需求分析和校園心聲墻小程序的總體設(shè)計來設(shè)計頁面并實現(xiàn)業(yè)務(wù)邏輯。主要從校園心聲墻小程序界面實現(xiàn)、業(yè)務(wù)邏輯實現(xiàn)這兩部分進行介紹。4.1用戶端功能實現(xiàn)4.1.1用戶端主頁功能實現(xiàn)用戶進入首頁之后會顯示如下的一個窗口。系統(tǒng)以上中下的布局進行展示,首先映入眼簾的是系統(tǒng)的導(dǎo)航欄,下面是網(wǎng)站公告,再往下是各種各樣的資訊,其主界面展示如下圖4.1所示。如下圖:圖4.1校園心聲墻小程序主界面由于該項目只是用來測試,用戶登錄首頁展示的圖片等數(shù)據(jù)有的是從項目本地拿到的,有的則是從數(shù)據(jù)庫中獲取的。頁面中的搜索部分,頁頭部分等都是屬于公共樣式,可以進行公告樣式的抽取,然后再引入到j(luò)sp頁面中。4.1.2用戶注冊登錄功能實現(xiàn)不是校園心聲墻小程序中正式用戶的是可以在線進行注冊的,當用戶點擊右上角的“注冊”的時候,,當填寫上自己的賬號+密碼+確認密碼+昵稱+郵箱+手機號+選擇身份登信息后,后再點擊“注冊”按鈕后將會先驗證輸入的有沒有空數(shù)據(jù),再次驗證密碼和確認密碼是否是一樣的,最后驗證輸入的賬戶名和數(shù)據(jù)庫表中已經(jīng)注冊的賬戶名是否重復(fù),只有都驗證沒問題后即可注冊成功。用戶注冊界面展示如下圖4.2所示。圖4.2校園心聲墻小程序用戶注冊界面系統(tǒng)用戶注冊關(guān)鍵代碼如下。 /***注冊*@paramuser*@return*/@PostMapping("register")publicMap<String,Object>signUp(@RequestBodyUseruser){//查詢用戶Map<String,String>query=newHashMap<>();query.put("username",user.getUsername());Listlist=service.select(query,newHashMap<>()).getResultList();if(list.size()>0){returnerror(30000,"用戶已存在");}user.setUserId(null);user.setPassword(service.encryption(user.getPassword()));service.save(user);returnsuccess(1);}/***用戶ID:[0,8388607]用戶獲取其他與用戶相關(guān)的數(shù)據(jù)*/@Id@GeneratedValue(strategy=GenerationType.IDENTITY)@Column(name="user_id")privateIntegeruserId;/***賬戶狀態(tài):[0,10](1可用|2異常|3已凍結(jié)|4已注銷)*/@Basic@Column(name="state")privateIntegerstate;/***所在用戶組:[0,32767]決定用戶身份和權(quán)限*/@Basic@Column(name="user_group")privateStringuserGroup;/***上次登錄時間:*/@Basic@Column(name="login_time")privateTimestamploginTime;/***手機號碼:[0,11]用戶的手機號碼,用于找回密碼時或登錄時*/@Basic@Column(name="phone")privateStringphone;/***手機認證:[0,1](0未認證|1審核中|2已認證)*/@Basic@Column(name="phone_state")privateIntegerphoneState;/***用戶名:[0,16]用戶登錄時所用的賬戶名稱*/@Basic@Column(name="username")privateStringusername;/***昵稱:[0,16]*/@Basic@Column(name="nickname")privateStringnickname;/***密碼:[0,32]用戶登錄所需的密碼,由6-16位數(shù)字或英文組成*/@Basic@Column(name="password")privateStringpassword;/***郵箱:[0,64]用戶的郵箱,用于找回密碼時或登錄時*/@Basic@Column(name="email")privateStringemail;/***郵箱認證:[0,1](0未認證|1審核中|2已認證)*/@Basic@Column(name="email_state")privateIntegeremailState;/***頭像地址:[0,255]*/@Basic@Column(name="avatar")privateStringavatar;/***創(chuàng)建時間:*/@Basic@Column(name="create_time")@JsonFormat(pattern="yyyy-MM-ddHH:mm:ss")privateTimestampcreateTime;@Basic@TransientprivateStringcode;}4.2.3登錄功能實現(xiàn)校園心聲墻小程序中的用戶端上注冊后的用戶是可以通過自己的賬戶名和密碼進行登錄的,當用戶輸入完整的自己的賬戶名和密碼信息并點擊“登錄”按鈕后,將會首先驗證輸入的有沒有空數(shù)據(jù),再次驗證輸入的賬戶名+密碼和數(shù)據(jù)庫中當前保存的用戶信息是否一致,只有在一致后將會登錄成功并自動跳轉(zhuǎn)到校園心聲墻小程序的首頁中;否則將會提示相應(yīng)錯誤信息,用戶登錄界面如下圖4.3所示。圖4.3校園心聲墻小程序登錄界面登錄關(guān)鍵代碼如下。/***登錄*@paramdata*@paramhttpServletRequest*@return*/@PostMapping("login")publicMap<String,Object>login(@RequestBodyMap<String,String>data,HttpServletRequesthttpServletRequest){("[執(zhí)行登錄接口]");Stringusername=data.get("username");Stringemail=data.get("email");Stringphone=data.get("phone");Stringpassword=data.get("password");ListresultList=null;Map<String,String>map=newHashMap<>();if(username!=null&&"".equals(username)==false){map.put("username",username);resultList=service.select(map,newHashMap<>()).getResultList();}elseif(email!=null&&"".equals(email)==false){map.put("email",email);resultList=service.select(map,newHashMap<>()).getResultList();}elseif(phone!=null&&"".equals(phone)==false){map.put("phone",phone);resultList=service.select(map,newHashMap<>()).getResultList();}else{returnerror(30000,"賬號或密碼不能為空");}if(resultList==null||password==null){returnerror(30000,"賬號或密碼不能為空");}//判斷是否有這個用戶if(resultList.size()<=0){returnerror(30000,"用戶不存在");}UserbyUsername=(User)resultList.get(0);Map<String,String>groupMap=newHashMap<>();groupMap.put("name",byUsername.getUserGroup());ListgroupList=userGroupService.select(groupMap,newHashMap<>()).getResultList();if(groupList.size()<1){returnerror(30000,"用戶組不存在");}UserGroupuserGroup=(UserGroup)groupList.get(0);//查詢用戶審核狀態(tài)if(!StringUtils.isEmpty(userGroup.getSourceTable())){Stringsql="selectexamine_statefrom"+userGroup.getSourceTable()+"WHEREuser_id="+byUsername.getUserId();Stringres=String.valueOf(service.runCountSql(sql).getSingleResult());if(res==null){returnerror(30000,"用戶不存在");}if(!res.equals("已通過")){returnerror(30000,"該用戶審核未通過");}}//查詢用戶狀態(tài)if(byUsername.getState()!=1){returnerror(30000,"用戶非可用狀態(tài),不能登錄");}Stringmd5password=service.encryption(password);if(byUsername.getPassword().equals(md5password)){//存儲Token到數(shù)據(jù)庫AccessTokenaccessToken=newAccessToken();accessToken.setToken(UUID.randomUUID().toString().replaceAll("-",""));accessToken.setUser_id(byUsername.getUserId());tokenService.save(accessToken);//返回用戶信息JSONObjectuser=JSONObject.parseObject(JSONObject.toJSONString(byUsername));user.put("token",accessToken.getToken());JSONObjectret=newJSONObject();ret.put("obj",user);returnsuccess(ret);}else{returnerror(30000,"賬號或密碼不正確");}}4.2.4心聲墻功能實現(xiàn)當用戶點擊“心聲墻”后,用戶可以搜索查看心聲墻所有帖子,對喜歡的帖子進行收藏、點贊評,也可發(fā)布帖子;如圖4.4所示:圖4.4心聲墻界面心聲墻關(guān)鍵代碼如下所示。@PostMapping("/add")@TransactionalpublicMap<String,Object>add(HttpServletRequestrequest)throwsIOException{service.insert(service.readBody(request.getReader()));returnsuccess(1);}@TransactionalpublicMap<String,Object>addMap(Map<String,Object>map){service.insert(map);returnsuccess(1);}publicMap<String,Object>readBody(BufferedReaderreader){BufferedReaderbr=null;StringBuildersb=newStringBuilder("");try{br=reader;Stringstr;while((str=br.readLine())!=null){sb.append(str);}br.close();Stringjson=sb.toString();returnJSONObject.parseObject(json,Map.class);}catch(IOExceptione){e.printStackTrace();}finally{if(null!=br){try{br.close();}catch(IOExceptione){e.printStackTrace();}}}returnnull;}publicvoidinsert(Map<String,Object>body){StringBuffersql=newStringBuffer("INSERTINTO");sql.append("`").append(table).append("`").append("(");for(Map.Entry<String,Object>entry:body.entrySet()){sql.append("`"+humpToLine(entry.getKey())+"`").append(",");}sql.deleteCharAt(sql.length()-1);sql.append(")VALUES(");for(Map.Entry<String,Object>entry:body.entrySet()){Objectvalue=entry.getValue();if(valueinstanceofString){sql.append("'").append(entry.getValue()).append("'").append(",");}else{sql.append(entry.getValue()).append(",");}}sql.deleteCharAt(sql.length()-1);sql.append(")");("[{}]-插入操作:{}",table,sql);Queryquery=runCountSql(sql.toString());query.executeUpdate();}4.2.5熱門話題功能實現(xiàn)當用戶點擊“熱門話題”后,是可以對熱門話題進行查看、點贊、收藏、評論等操作;具體的實現(xiàn)界面如下圖4.5所示:圖4.5熱門話題界面熱門話題關(guān)鍵代碼如下所示。@PostMapping("/upload")publicMap<String,Object>upload(@RequestParam("file")MultipartFilefile){("進入方法");if(file.isEmpty()){returnerror(30000,"沒有選擇文件");}try{//判斷有沒路徑,沒有則創(chuàng)建StringfilePath=System.getProperty("user.dir")+"\\target\\classes\\static\\upload\\";FiletargetDir=newFile(filePath);if(!targetDir.exists()&&!targetDir.isDirectory()){if(targetDir.mkdirs()){("創(chuàng)建目錄成功");}else{log.error("創(chuàng)建目錄失敗");}}StringfileName=file.getOriginalFilename();Filedest=newFile(filePath+fileName);("文件路徑:{}",dest.getPath());("文件名:{}",dest.getName());file.transferTo(dest);JSONObjectjsonObject=newJSONObject();jsonObject.put("url","/api/upload/"+fileName);returnsuccess(jsonObject);}catch(IOExceptione){("上傳失敗:{}",e.getMessage());}returnerror(30000,"上傳失敗");}4.2.6我的功能實現(xiàn)從基于微信小程序校園心聲墻小程序用戶端底部的“我的”菜單進入后選擇“基本信息”后可以對頭像、昵稱、密碼等信息進行修書,界面如下圖4.6所示。圖4.6我的界面我的關(guān)鍵代碼如下所示。@RequestMapping("/get_list")publicMap<String,Object>getList(HttpServletRequestrequest){Map<String,Object>map=service.selectToPage(service.readQuery(request),service.readConfig(request));returnsuccess(map);4.2管理端功能實現(xiàn)4.2.1管理端管理員登錄功能實現(xiàn)校園心聲墻小程序中的管理端的管理員是可以通過自己的賬戶名和密碼進行登錄的,當管理員輸入完整的自己的賬戶名和密碼信息并點擊“登錄”按鈕后,將會首先驗證輸入的有沒有空數(shù)據(jù),再次驗證輸入的賬戶名+密碼和數(shù)據(jù)庫中當前保存的用戶信息是否一致,只有在一致后將會登錄成功并自動跳轉(zhuǎn)到校園心聲墻小程序的首頁中;否則將會提示相應(yīng)錯誤信息,管理員登錄界面如下圖4.8所示。圖4.8管理端管理員登錄界面4.2.2人員管理功能實現(xiàn)管理員在人員管理模塊,可以對用戶信息進行管理,人員管理模塊由管理員,學(xué)生用戶兩部分組成,這里以學(xué)生用戶管理為例,具體的實現(xiàn)界面如下圖4.9所示:圖4.9人員管理界面4.2.3網(wǎng)站管理功能實現(xiàn)校園心聲墻小程序中的管理人員在“網(wǎng)站管理”這一菜單中是可以對用戶端顯示的輪播圖以及公告信息進行管控。界面如下圖4.10所示:圖4.10網(wǎng)站管理界面網(wǎng)站管理關(guān)鍵代碼如下所示。@RequestMapping("/get_obj")publicMap<String,Object>obj(HttpServletRequestrequest){Queryselect=service.select(service.readQuery(request),service.readConfig(request));ListresultList=select.getResultList();if(resultList.size()>0){JSONObjectjsonObject=newJSONObject();jsonObject.put("obj",resultList.get(0));returnsuccess(jsonObject);}else{returnsuccess(null);}}publicQueryselect(Map<String,String>query,Map<String,String>config){StringBuffersql=newStringBuffer("select");sql.append(config.get(FindConfig.FIELD)==null||"".equals(config.get(FindConfig.FIELD))?"*":config.get(FindConfig.FIELD)).append("");sql.append("from").append("`").append(table).append("`").append(toWhereSql(query,"0".equals(config.get(FindConfig.LIKE))));if(config.get(FindConfig.GROUP_BY)!=null&&!"".equals(config.get(FindConfig.GROUP_BY))){sql.append("groupby").append(config.get(FindConfig.GROUP_BY)).append("");}if(config.get(FindConfig.ORDER_BY)!=null&&!"".equals(config.get(FindConfig.ORDER_BY))){sql.append("orderby").append(config.get(FindConfig.ORDER_BY)).append("");}if(config.get(FindConfig.PAGE)!=null&&!"".equals(config.get(FindConfig.PAGE))){intpage=config.get(FindConfig.PAGE)!=null&&!"".equals(config.get(FindConfig.PAGE))?Integer.parseInt(config.get(FindConfig.PAGE)):1;intlimit=config.get(FindConfig.SIZE)!=null&&!"".equals(config.get(FindConfig.SIZE))?Integer.parseInt(config.get(FindConfig.SIZE)):10;sql.append("limit").append((1)*limit).append(",").append(limit);}("[{}]-查詢操作,sql:{}",table,sql);returnrunEntitySql(sql.toString());}4.2.4輪播圖管理界面管理人員在“輪播圖管理”這一菜單中是可以對前臺顯示的輪播圖進行增刪改查,具體的實現(xiàn)界面如下圖4.11所示:圖4.11輪播圖管理界面輪播圖管理關(guān)鍵代碼如下所示。@RequestMapping(value={"/count_group","/count"})publicMap<String,Object>count(HttpServletRequestrequest){Querycount=service.count(service.readQuery(request),service.readConfig(request));returnsuccess(count.getResultList());}4.2.5公告消息界面管理系統(tǒng)中的管理人員在“公告消息”這一菜單中是可以對校園心聲墻小程序內(nèi)的公告消息可以進行增刪改查操作,具體的實現(xiàn)界面如下圖4.12所示:圖4.12公告消息界面公告消息管理關(guān)鍵代碼如下所示。@RequestMapping(value={"/avg_group","/avg"}) publicMap<String,Object>avg(HttpServletRequestrequest){Querycount=service.avg(service.readQuery(request),service.readConfig(request));returnsuccess(count.getResultList());}4.2.6內(nèi)容管理功能實現(xiàn)管理人員在“內(nèi)容管理”這一菜單下是可以對心聲墻、心聲分類、熱門話題、話題分類,這四個子菜單,管理員能夠?qū)@四個模塊進行管控的,具體的實現(xiàn)界面如下圖4.13所示:圖4.13內(nèi)容管理界面5系統(tǒng)測試系統(tǒng)開發(fā)到了最后一個階段那就是系統(tǒng)測試,系統(tǒng)測試對軟件的開發(fā)其實是非常有必要的。因為沒什么系統(tǒng)一經(jīng)開發(fā)出來就可能會盡善盡美,再厲害的系統(tǒng)開發(fā)工程師也會在系統(tǒng)開發(fā)的時候出現(xiàn)紕漏,系統(tǒng)測試能夠較好的改正一些bug,為后期系統(tǒng)的維護性提供很好的支持。通過系統(tǒng)測試,開發(fā)人員也可以建立自己對系統(tǒng)的信心,為后期的系統(tǒng)版本的跟新提供支持。5.1軟件測試的重要性只有在運行和維護階段之前經(jīng)歷大量的測試的軟件,才能說明它的質(zhì)量是經(jīng)得起檢驗的。最近計算機業(yè)界也都一致認為,測試應(yīng)該存在于軟件設(shè)計的每個階段,因為越早發(fā)現(xiàn)錯誤,修復(fù)起來就越容易。實際上,對于一個軟件應(yīng)用,錯誤是必然存在的,無論使用何種技術(shù)或手段,都不可能絕對的排除軟件漏洞。測試是隨著軟件開發(fā)一同誕生的,兩者是共同發(fā)展進步的。實際上,測試可以大幅度的降低維護的成本,如果一個漏洞在開發(fā)的早期就被發(fā)現(xiàn),那么修復(fù)它的成本遠比上線后再修復(fù)的成本要低得多。5.2測試實例的研究與選擇測試有白盒測試和黑盒測試兩種方式。其中,白盒測試是將軟件看成一個透明的白盒子,按照程序的內(nèi)部控制結(jié)構(gòu)和處理技術(shù)邏輯來選定測試用例、軟件系統(tǒng)測試的邏輯路徑及過程需要進行管理測試,又稱玻璃盒測試。因此白盒測試需要選擇足夠多的測試用例,覆蓋盡可能多的代碼來發(fā)現(xiàn)程序中的錯誤。黑盒測試,也稱為功能測試。它將需軟件看作一個黑盒,像一個普通用戶一樣來模擬軟件的使用流程。黑盒測試通過大量的輸入邊界值或錯誤數(shù)據(jù),來檢查是否可產(chǎn)生正確的輸出。本系統(tǒng)測試主要選擇黑盒測試,少量采用白盒測試。通過測試達到以下測試目的:1.檢查各大功能模塊的運行,確保其能夠正確運行,并檢查各頁面的完整性,保證頁面完整。2.檢查各個接口是否可以正確地輸入和輸出,保證數(shù)據(jù)流通穩(wěn)定可行。3.檢查數(shù)據(jù)結(jié)構(gòu),保證其和外部接口沒有訪問錯誤,訪問順利。4.檢查原計劃的性能需求有沒有完成,運行流暢。本系統(tǒng)的測試用例(部分):登錄部分測試用例編號對象項目操作預(yù)期結(jié)果結(jié)果1登錄登錄提示使用正確的賬號密碼登錄成功登錄預(yù)期結(jié)果2登錄提示使用正確的賬號但錯誤的密碼登錄提示密碼錯誤預(yù)期結(jié)果3登錄提示使用錯誤的賬號登錄提示不存在賬戶預(yù)期結(jié)果4登錄提示不輸入賬號,點擊登錄提示輸入賬號預(yù)期結(jié)果5登錄提示輸入賬號但不輸入密碼點擊登錄提示輸入密碼預(yù)期結(jié)果6登錄入口已登錄賬號,查看登錄入口不顯示登錄入口預(yù)期結(jié)果5.3測試環(huán)境與測試條件處理器:InterCoreI7-4710MQ四核處理器內(nèi)存:4GB硬盤:1T操作系統(tǒng):Windows10數(shù)據(jù)庫:MySQL5.4系統(tǒng)運行情況全部測試用例都已通過(包括但不限于以上測試用例),且不存在漏洞,實現(xiàn)了論文開始時所作要求。

溫馨提示

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

評論

0/150

提交評論