基于微信小程序的高校地圖導航系統(tǒng)的設(shè)計與實現(xiàn)_第1頁
基于微信小程序的高校地圖導航系統(tǒng)的設(shè)計與實現(xiàn)_第2頁
基于微信小程序的高校地圖導航系統(tǒng)的設(shè)計與實現(xiàn)_第3頁
基于微信小程序的高校地圖導航系統(tǒng)的設(shè)計與實現(xiàn)_第4頁
基于微信小程序的高校地圖導航系統(tǒng)的設(shè)計與實現(xiàn)_第5頁
已閱讀5頁,還剩39頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

第2章相關(guān)理論和技術(shù)2.1Wxml簡介Wxml是一種標簽型語言,它和傳統(tǒng)的Html很相似,但是不同的是Html相對較傳統(tǒng),主要是實現(xiàn)靜態(tài)頁面的,而Wxml是基于微信開發(fā)的可以實現(xiàn)動態(tài)頁面的語言,這是二者最大的不同。但是同樣作為標簽語言,Wxml還是很大程度上繼承了Html的一些用法??梢哉fWxml是基于微信框架的Html語言,它簡潔了部分Html用法上的弊端,同時對頁面做出了更多限定。Wxml作為微信小程序開發(fā)的頁面語言來說,它更像是微信小程序開發(fā)的最大展現(xiàn)。作為標簽語言,不可否認的是,Wxml也是利用標簽去搭建頁面的布局,書寫頁面的內(nèi)容。而標簽作為超文本語言的運用助手,它的格式也相當簡單,由尖括號包裹著關(guān)鍵詞和頁面具體信息。Wxml和Html最大的不同是Wxml允許用戶使用Wxml所規(guī)定的無需結(jié)束標簽的部分標簽和組件。這使得頁面代碼大大減少,同時也提高了系統(tǒng)運行速度,對于儲存也得到了很大改善。這是Wxml作為標簽語言和Html相比更大的優(yōu)勢所在。Wxml語言的另一個與眾不同的地方在于,它聯(lián)系了微信框架,在這基礎(chǔ)上使用了微信所自帶的組件,這使得微信小程序和微信在風格上有極大相似處,但不可否認的時,正是這些微信小程序所規(guī)定的組件,使得微信小程序的開發(fā)變得尤為簡單。在使用這些控價或是說組件的過程中,首先閱讀微信小程序開發(fā)文檔中的各個簡例,會給開發(fā)者帶來極大的靈感,并且這個組件的使用方法簡單,效果極佳,也是Wxml作為微信小程序開發(fā)的一個優(yōu)勢所在。Wxml開發(fā)語言另一個重要概念是屬性,屬性往往是和組件密不可分的。在考慮使用何種組件的時候,對其添加關(guān)鍵屬性,可使的頁面更加美觀整潔,這也是開發(fā)者可以深入思考的地方。2.2MySQL特點 MySQL功能強:MySQL中提供了多種數(shù)據(jù)庫存儲引擎,各引擎各有所長,適用于不同的應用場合,用戶可以選擇最合適的引擎以得到最高性能,可以處理每天訪問量超過數(shù)億的高強度的搜索Web站點。MySQL5支持事務(wù)、視圖、存儲過程、觸發(fā)器等。MySQL支持跨平臺:MySQL支持至少20種以上的開發(fā)平臺,包括Linux、Windows、FreeBSD、IBMAIX、AIX、FreeBSD等。這使得在任何平臺下編寫的程序都可以進行移植,而不需要對程序做任何的修改。MySQL運行速度快:高速是MySQL的顯著特性。在MySQL中,使用了極快的B樹磁盤表(MyISAM)和索引壓縮;通過使用優(yōu)化的單掃描多連接,能夠極快地實現(xiàn)連接;SQL函數(shù)使用高度優(yōu)化的類庫實現(xiàn),運行速度極快。MySQL安全性高:靈活和安全的權(quán)限與密碼系統(tǒng),允許基本主機的驗證。連接到服務(wù)器時,所有的密碼傳輸均采用加密形式,從而保證了密碼的安全。MySQL成本低:MySQL數(shù)據(jù)庫是一種完全免費的產(chǎn)品,用戶可以直接通過網(wǎng)絡(luò)下載。2.3JavaScript介紹1955年網(wǎng)景公司為了解決表單驗證時客戶端和服務(wù)端的延遲,設(shè)計并推出命名為JavaScript的客服端腳本語言,并在當時獲得了很大的成果。隨著時間的演變,JavaScript最終成為了可以通過嵌入到Html中來實現(xiàn)對于頁面的動態(tài)功能實現(xiàn)。JavaScript作為Java語言的一種解釋性語言,它具備了Java語言的各種特性,同時也具有自身的一些性質(zhì),包括作為單線程的語言,它無法與跨平臺語言進行交流,這是Java語言可以做到的,再例如,JavaScript作為一個框架,可以鑲嵌在CSS,DOM元素等等中,為其實現(xiàn)帶來動態(tài)變化,這也是很多開發(fā)者愿意使用JavaScript的原因之一。另外,JavaScript由于其實現(xiàn)簡單而被廣應用于客戶端,和Web的應用開發(fā),作為用來為頁面添加動態(tài)功能,并優(yōu)化頁面,也是為用戶的體驗觀感得到了改善。第3章系統(tǒng)分析3.1可行性分析3.1.1技術(shù)可行性技術(shù)可行性主要是對于使用技術(shù)是否有局限,包括開發(fā)時使用的語言是否有局限性,編譯時使用的開發(fā)平臺是否需要付費,框架的設(shè)計是否存在爭議等等。本次開發(fā)的地圖導航小程序主要依賴于微信小程序開發(fā)者以及微信小程序端頁面規(guī)定的頁面語言及框架。本次開發(fā)使用的開發(fā)語言是Wxml和Wxss,這兩者均為免費版,數(shù)據(jù)存儲使用的工具是MySQL,同樣,MySQL不僅具有存儲數(shù)量大,操作方便,并且作為免費使用的數(shù)據(jù)庫工具,為程序的開發(fā)帶來了很大的便利。在編寫小程序時,系統(tǒng)還嵌入了騰訊地圖的API。對于微信小程序開發(fā)來說,申請權(quán)限并不難,而且騰訊地圖的API嵌入同樣只需要申請使用即可,所以在技術(shù)可行性方面是很容易實現(xiàn)的。3.1.2經(jīng)濟可行性經(jīng)濟可行性指的是在開發(fā)過程中,整個流程的預算,費用支出是否在合理范圍內(nèi),這要求開發(fā)過程中不得有過分浪費的步驟,并且經(jīng)濟可行性更是要求系統(tǒng)在開發(fā)過程中每個步驟都要符合開發(fā)要求,系統(tǒng)開發(fā)完成后要有一定經(jīng)濟效益。這些要求在系統(tǒng)的開發(fā)之前,也有過詳細的研究和探尋,綜合以上考慮,我們微信小程序的高校地圖導航系統(tǒng),可以推動校園地圖導航的發(fā)展,具有很好的發(fā)展前景,有一定的開發(fā)價值,同樣也能能產(chǎn)生合理的經(jīng)濟效益。所以認定本次設(shè)計與開發(fā)從經(jīng)濟上來講是可行的。3.1.3操作可行性在系統(tǒng)完成后,后續(xù)交付于使用人員時,應能確保系統(tǒng)的正常運行,在此基礎(chǔ)上,要實現(xiàn)簡單快捷的操作步驟,言簡意賅的操作頁面,使使用人員可以清楚明了的知道每個模塊具體是做什么的,同樣,數(shù)據(jù)的儲存,頁面的優(yōu)化,都是一個完整良好的系統(tǒng)應具備的。所以開發(fā)完整的系統(tǒng)必須是簡潔的,高效的,使用過程中要做好不同等級用戶的使用權(quán)限管理。從以上這些部分考慮,我們可以認定本次開發(fā)從操作上來講是可行的。3.1.4法律可行性從法律的角度來講,整個開發(fā)工作具有以下幾個特性:(1)開發(fā)所使用的所有技術(shù)資料都是合法得到的;(2)整個開發(fā)過程中不存在知識產(chǎn)權(quán)問題;(3)開發(fā)過程未抄襲任何網(wǎng)站,不存在侵犯版權(quán)問題;(4)開發(fā)過程全部來自自己,原始勞動,不涉及承擔所謂的法律責任。3.2功能需求分析系統(tǒng)的功能需求分析主要針對系統(tǒng)內(nèi)部模塊的劃分,系統(tǒng)具體功能的實現(xiàn),盡快確定系統(tǒng)的功能需求分析,有利于系統(tǒng)接下來的編程與全局部署。一份確切且準確的分析可以將設(shè)計劃分細節(jié),能盡早規(guī)避掉開發(fā)中可能出現(xiàn)的錯誤,進而降低成本,改善設(shè)計質(zhì)量。3.3用戶用例分析在基于微信小程序的地圖導航系統(tǒng)中,用戶登錄成功后,可以依據(jù)不同權(quán)限和角色,學生利用學號等信息登錄成功后,可查看某高校地圖信息,查看特色地標論壇并發(fā)表相關(guān)言論,查看高校地標實景,進行某個場地預約管理,并進行某個地標導航,同時可以進行地圖自主繪制并分享等操作,個人信息的管理等內(nèi)容。而游客登陸不需要學號等相關(guān)信息,同樣其可執(zhí)行功能也相對較少,可以查看某高校地圖信息,查看特色地標論壇但無法發(fā)表信息或點贊等相關(guān)操作,可查看高校地標實景,個人信息的管理等內(nèi)容。管理員能夠在后臺對用戶信息管理、地圖信息管理、定位點預約信息管理和系統(tǒng)管理。用戶用例分析圖如圖3.1所示:登陸注冊查看地圖搜索地圖 查看實景預約場地導航圖3.1用戶用例圖管理員用例分析圖如圖3.2所示:管理用戶信息管理用戶信息管理地圖信息管理地圖信息管理預約信息管理預約信息管理論壇信息管理論壇信息圖3.2管理員用例圖第4章系統(tǒng)設(shè)計4.1功能模塊設(shè)計根據(jù)對系統(tǒng)的功能進行分析微信小程序地圖導航系統(tǒng)的具體功能模塊包括下面的幾個主要的功能模塊:地圖查詢管理,地標論壇管理,地標實景管理,地標信息管理,場地預約管理,地標導航管理,線路推薦管理,地圖自主繪制管理。系統(tǒng)的功能模塊如圖4.1所示:高校地圖導航系統(tǒng)地地場場地地地用地標圖標地圖標標戶圖實查論預自線線信信景詢壇約主路路息息管管管管繪查推管管理理理理制詢薦理理圖4.1系統(tǒng)功能模塊圖4.2數(shù)據(jù)庫設(shè)計4.2.1需求分析根據(jù)對系統(tǒng)的功能進行分析本設(shè)計用戶角色的權(quán)限需求,這不僅僅要求是對用戶的信息的存儲,更新,修改,等等,更是對系統(tǒng)內(nèi)部數(shù)據(jù)的存放有了要求,并且系統(tǒng)內(nèi)部的各種信息的輸入輸出,也應有最基本的存放地點。這就是使得數(shù)據(jù)庫使用變得極為重要。根據(jù)對系統(tǒng)蘇旭的數(shù)據(jù),數(shù)據(jù)屬性,數(shù)據(jù)關(guān)系和數(shù)據(jù)約束等分析,對于基于微信小程序的高校地圖導航系統(tǒng)來說,需要設(shè)計一個包含用戶信息,地圖信息,位置點信息,管理員信息的數(shù)據(jù)庫。這些數(shù)據(jù)表將存儲用戶的個人信息,地圖信息(如名稱,簡介,位置點信息等),位置點信息(如論壇,實景,預約等)以及管理員的賬戶信息。4.2.2概念結(jié)構(gòu)設(shè)計根據(jù)數(shù)據(jù)庫需求分析,設(shè)計系統(tǒng)的概念模型。系統(tǒng)的實體有管理員,用戶,地圖。管理員實體圖管理員包含賬號和密碼兩個屬性。賬號管理員密碼圖4.2管理員實體圖用戶實體圖用戶包含賬號,密碼,手機號,學校,姓名,學號等屬性。賬號學校密碼用戶姓名手機號學號頭像圖4.3用戶實體圖地圖實體圖地圖包含名稱,圖片,簡介,學校名稱等屬性。 名稱 地圖 位置點信息圖片簡介 學校名稱圖4.4地圖實體圖總體實體圖管理員管理員密碼賬號n操作修改密碼學校操作名稱賬號操作mnm操作mn操作圖片地圖用戶姓名操作簡介學號手機號位置點信息學校名稱查看頭像圖4.5總體實體圖4.2.3邏輯結(jié)構(gòu)設(shè)計根據(jù)概念結(jié)構(gòu)設(shè)計轉(zhuǎn)化設(shè)計得到邏輯結(jié)構(gòu)設(shè)計,高校地圖導航系統(tǒng)具體表設(shè)計如下:(1)管理員表users管理員表users的結(jié)構(gòu)如表4.1所示。表4.1管理員表字段名稱類型長度字段說明主鍵默認值idBigint主鍵主鍵usernamevarchar10用戶名passwordvarchar10密碼rolevarchar2角色管理員addtimetimestamp新增時間CURRENT_TIMESTAMP(2)收藏表storeup“收藏表storeup”是用來查看收藏的信息。Storeup的結(jié)構(gòu)如表4.2所示。表4.2收藏表字段名稱類型長度字段說明主鍵默認值idBigint主鍵主鍵addtimetimestamp創(chuàng)建時間CURRENT_TIMESTAMPuseridbigint用戶idrefidbigint地圖序號xnamevarchar20學校名稱namevarchar20地圖名稱picturelongtext4294967295圖片remarkvarchar200備注(3)用戶表yonghu“用戶表yonghu”是用來記錄用戶信息。yonghu的結(jié)構(gòu)如表4.3所示。表4.3用戶表字段名稱類型長度字段說明主鍵默認值idbigint主鍵主鍵addtimetimestamp創(chuàng)建時間CURRENT_TIMESTAMPzhanghaovarchar20賬號mimavarchar20密碼nichengvarchar10昵稱xingbievarchar2性別shoujivarchar11手機touxianglongtext4294967295頭像numberfloat20學號(4)預約表orders“預約表orders”是用來記錄預約的信息。orders的結(jié)構(gòu)如表4.4所示。表4.4預約表字段名稱類型長度字段說明主鍵默認值idbigint主鍵主鍵addtimetimestamp20創(chuàng)建時間CURRENT_TIMESTAMPorderidvarchar20預約編號tnamevarchar5預約人姓名useridbigint10用戶idGidbigint預約地點goodnamevarchar10位置點名稱picturelongtext4294967295位置點照片timefloat預約時間0discountpricefloat預約用途0telvarchar11預約人聯(lián)系電話(5)地圖信息表news地圖信息表news的結(jié)構(gòu)如表4.5所示。表4.5地圖信息表字段名稱類型長度字段說明主鍵默認值idbigint主鍵主鍵addtimetimestamp創(chuàng)建時間CURRENT_TIMESTAMPtitlevarchar200名稱introductionlongtext4294967295簡介picturelongtext4294967295圖片contentlongtext4294967295學校(6)論壇信息表discussyanchanghui“論壇信息表discussyanchanghui”是用來記錄論壇評論的信息。discussyanchanghui的結(jié)構(gòu)如表4.6所示。表4.6論壇信息表字段名稱類型長度字段說明主鍵默認值idbigint主鍵主鍵addtimetimestamp創(chuàng)建時間CURRENT_TIMESTAMPrefidbigint關(guān)聯(lián)表iduseridbigint用戶idavatarurllongtext4294967295頭像nicknamevarchar20用戶名contentlongtext4294967295評論內(nèi)容replylongtext4294967295回復內(nèi)容(7)在線客服表chat在線客服表chat的結(jié)構(gòu)如表4.7所示。表4.7在線客服表字段名稱類型長度字段說明主鍵默認值idbigint主鍵主鍵addtimetimestamp創(chuàng)建時間CURRENT_TIMESTAMPuseridbigint用戶idadminidbigint管理員idasklongtext4294967295提問replylongtext4294967295回復isreplyint是否回復第5章系統(tǒng)實現(xiàn)5.1實現(xiàn)環(huán)境該系統(tǒng)的開發(fā)環(huán)境為:開發(fā)工具:微信小程序開發(fā)者,開發(fā)語言:Wxml、框架:Javascript,服務(wù)器:tomcat7、數(shù)據(jù)庫:mysql5.7。5.2地標實景用戶進地圖頁面并雙擊地標則可進入地標的3D影像,對地標實景的展示,如圖5.1所示。圖5.1地標實景界面實現(xiàn)該功能的關(guān)鍵代碼如下:@IgnoreAuth @PostMapping(value="/login") publicRlogin(Stringusername,Stringpassword,Stringcaptcha,HttpServletRequestrequest){ UsersEntityuser=userService.selectOne(newEntityWrapper<UsersEntity>().eq("username",username)); if(user==null||!user.getPassword().equals(password)){ returnR.error("賬號或密碼不正確"); } Stringtoken=tokenService.generateToken(user.getId(),username,"users",user.getRole()); returnR.ok().put("token",token); }5.3地圖管理用戶登錄成功進入系統(tǒng)后,可看到默認地圖,可根據(jù)為支點對校園內(nèi)部環(huán)境進行查看,同樣也可在搜索框內(nèi)輸入任一大學名稱,對該校園地圖進行查詢。地圖默認頁面如圖5.2所示。圖5.2地圖界面點擊位置點可進行導航操作和論壇頁面查看,部分特殊地點如自習室,羽毛球館等還會有預約功能,其詳細界面如圖5.3所示。圖5.3位置點界面實現(xiàn)該功能的關(guān)鍵代碼如下:@IgnoreAuth@RequestMapping("/list")publicRlist(@RequestParamMap<String,Object>params,YanchanghuiEntityyanchanghui, HttpServletRequestrequest){EntityWrapper<YanchanghuiEntity>ew=newEntityWrapper<YanchanghuiEntity>(); PageUtilspage=yanchanghuiService.queryPage(params,MPUtil.sort(MPUtil.between(MPUtil.likeOrEq(ew,yanchanghui),params),params));returnR.ok().put("data",page);}5.4個人中心以用戶身份登錄到系統(tǒng)中,進入個人中心界面,可以對個人信息進行更新,查看我的評論和贊,預約信息及個人信息。個人中心界面如圖5.4所示:圖5.4我的界面實現(xiàn)該功能的關(guān)鍵代碼如下:@IgnoreAuth@RequestMapping("/list")publicRlist(@RequestParamMap<String,Object>params,YonghuEntityyonghu, HttpServletRequestrequest){EntityWrapper<YonghuEntity>ew=newEntityWrapper<YonghuEntity>(); PageUtilspage=yonghuService.queryPage(params,MPUtil.sort(MPUtil.between(MPUtil.likeOrEq(ew,yonghu),params),params));returnR.ok().put("data",page);}5.5路線推薦當用戶點擊任意位置點并選擇導航按鈕時,系統(tǒng)將自動獲取當前用戶位置如圖5.5所示,用戶選擇出行方式后系統(tǒng)將進行導航并推薦路線,如5.6所示。圖5.5自動定位界面圖5.6路線推薦界面實現(xiàn)該功能的關(guān)鍵代碼如下:@RequestMapping("/page")publicRpage(@RequestParamMap<String,Object>params,YanchanghuiEntityyanchanghui, HttpServletRequestrequest){EntityWrapper<YanchanghuiEntity>ew=newEntityWrapper<YanchanghuiEntity>(); PageUtilspage=yanchanghuiService.queryPage(params,MPUtil.sort(MPUtil.between(MPUtil.likeOrEq(ew,yanchanghui),params),params));returnR.ok().put("data",page);}5.6論壇管理當用戶點擊位置點后,并選擇位置點相對應的論壇,進入論壇。用戶可在論壇中發(fā)表對該位置點的意見,并進行交流,同時促進學生間的友誼。同樣,目前的論壇管理已實現(xiàn)發(fā)表評論,收藏點贊和關(guān)注用戶的功能。其界面如圖5.7所示:圖5.7論壇管理界面實現(xiàn)該功能的關(guān)鍵代碼如下:@RequestMapping("/page")PublicRpage(@RequestParamMap<String,Object>params,YanchanghuileibieEntityyanchanghuileibie, HttpServletRequestrequest){EntityWrapper<YanchanghuileibieEntity>ew=newEntityWrapper<YanchanghuileibieEntity>(); PageUtilspage=yanchanghuileibieService.queryPage(params,MPUtil.sort(MPUtil.between(MPUtil.likeOrEq(ew,yanchanghuileibie),params),params));returnR.ok().put("data",page);}5.7預約管理當用戶點擊部分特殊位置點,如圖書館,機房,自習室等地點后,可對這些地點進行線上預約,其具體界面如圖5.8所示:圖5.8預約管理界面實現(xiàn)該功能的關(guān)鍵代碼如下:@RequestMapping("/page")publicRpage(@RequestParamMap<String,Object>params,OrdersEntityorders, HttpServletRequestrequest){ if(!request.getSession().getAttribute("role").toString().equals("管理員")){ orders.setUserid((Long)request.getSession().getAttribute("userId")); }EntityWrapper<OrdersEntity>ew=newEntityWrapper<OrdersEntity>(); PageUtilspage=ordersService.queryPage(params,MPUtil.sort(MPUtil.between(MPUtil.likeOrEq(ew,orders),params),params));returnR.ok().put("data",page);}5.8用戶管理用戶在前端注冊的信息同步更新到數(shù)據(jù)庫中,而當以管理員身份登錄到系統(tǒng)中,進入到用戶管理界面時,可以進入用戶信息管理列表界面,輸入昵稱或性別,選擇查詢按鈕找到用戶信息,當用戶過長時間未登錄或其他特殊情況發(fā)生時,管理員還可以對用戶信息進行修改、刪除等操作,也包括查看詳情等等。用戶管理界面如圖5.9所示:圖5.9用戶管理界面實現(xiàn)該功能的關(guān)鍵代碼如下:@RequestMapping("/page")publicRpage(@RequestParamMap<String,Object>params,YonghuEntityyonghu, HttpServletRequestrequest){EntityWrapper<YonghuEntity>ew=newEntityWrapper<YonghuEntity>(); PageUtilspage=yonghuService.queryPage(params,MPUtil.sort(MPUtil.between(MPUtil.likeOrEq(ew,yonghu),params),params));returnR.ok().put("data",page);}5.9系統(tǒng)管理以管理員身份登錄到后臺系統(tǒng)中,可以看到下面有三個方面信息,分別是輪播圖管理、地圖、在線客服。選擇系統(tǒng)管理下的“輪播圖管理”按鈕,進入輪播圖管理列表界面,輸入標題,選擇查詢找到輪播圖,還可以對輪播圖進行修改、查看詳情等操作。輪播圖管理界面如圖5.10所示:圖5.10輪播圖管理界面實現(xiàn)該功能的關(guān)鍵代碼如下:@RequestMapping("/list")publicRlist(UsersEntityuser){ EntityWrapper<UsersEntity>ew=newEntityWrapper<UsersEntity>(); ew.allEq(MPUtil.allEQMapPre(user,"user"));returnR.ok().put("data",userService.selectListView(ew));第6章系統(tǒng)測試6.1測試目的系統(tǒng)在對各功能模塊設(shè)計以及前臺操作界面設(shè)計完成后,為了保證系統(tǒng)可靠穩(wěn)定運行,正式使用前需要進行一系列的功能和性能測試,進而便于在正式使用前及時進行系統(tǒng)的修復和改進。為保證系統(tǒng)在正式投入使用后,可以正常運行,6.2測試方法黑盒測試是對系統(tǒng)整體功能性的一種測試手段,測試人員在進行黑盒測試時,主要從用戶角度考慮,通過利用相應的功能測試用例,將系統(tǒng)的實際測試情況和預期情況相互比較,便于發(fā)現(xiàn)系統(tǒng)所存的問題。6.3測試內(nèi)容用戶端測試用例依據(jù)用戶要求進行設(shè)計,采用黑盒測試的技術(shù),由于篇幅問題,這里只給出具有代表性的部分測試用例表,如表6.1所示。具體頁面如圖6.1,6.2,6.3所示。表6.1登錄測試用例表測試編號測試目的操作步驟預期結(jié)果實際結(jié)果001登錄測試輸入正確的用戶名和密碼登錄成功登錄成功002登錄測試輸入錯誤的用戶名登錄失敗登錄失敗003登錄測試輸入錯誤的的密碼登錄失敗登錄失敗圖6.1登錄測試成功圖6.2登陸測試用戶名錯誤圖6.3登陸測試密碼錯誤管理端在運行時要滿足瀏覽器的運行需求,比如添加用戶信息測試、修改用戶信息測試、刪除用戶信息測試等。本節(jié)根據(jù)管理端各模塊進行測試,如表6.2所示。效果如圖6.4,6.5,6.6,6.7所示。表6.2員工管理測試用例表測試編號測試目的操作步驟預期結(jié)果實際結(jié)果001位置點一查詢某高校,并對目標建筑進行導航顯示推薦路線添加成功002位置點二查詢某高校,并查看目標建筑論壇查看成功查看成功003位置點三查詢某高校,并對目標建筑進行預約預約成功預約成功圖6.4自動定位界面圖6.5路線推薦界圖6.6論壇頁面圖6.6預約頁面圖6.7預約成功頁面6.4測試結(jié)論經(jīng)過使用多個測試用例對系統(tǒng)的部分功能進行了全面測試,整個系統(tǒng)在測試過程中,都能很好的把正確數(shù)據(jù)呈現(xiàn)給用戶,不管是從系統(tǒng)的功能上、還是從系統(tǒng)的使用上,基本上都能達到我們當初預計的結(jié)果。結(jié)論在本次研究所實現(xiàn)的基于微信小程序的地圖導航系統(tǒng)過程中,我們首先介紹了研究的現(xiàn)實意義,研究現(xiàn)狀,接下來我們說明了本次開發(fā)所使用的相關(guān)技術(shù)和基本原理知識,寫論文是一個不斷學習的過程,從最初剛寫論文時對面臨的問題的模糊認識到最終能夠?qū)υ搯栴}有深刻的認識,我體會到實踐對于學習的重要性,以前只是明白理論,沒有經(jīng)過實踐考察,對知識的理解不夠明確,經(jīng)過這次的做,真正做到理論時間相結(jié)合。總之,經(jīng)過畢業(yè)設(shè)計,我深刻體會到要做好一個完整的事情,需要有系統(tǒng)的思維方式和方法,對待要解決的問題,要耐心、要善于運用已有的資源來充實自我。同時我也深刻的認識到,在對待一個新事物時,必須要從整體研究,完成一步之后再作下一步,這樣才能更加效。本次研究還有著許多的不足之處,對地圖點定位的許多重要信息沒在數(shù)據(jù)庫中做好保存;界面設(shè)計不夠美觀,許多功能菜單和信息顯示界面處理的不簡潔,整體界面效果不夠人性化等等,在接下來的工作中,我們將會對以上不足做出改進,爭取讓開發(fā)的精準扶貧系統(tǒng)逐步完善化。如今信息化發(fā)展如此之快,計算機技術(shù)被應用于各個行業(yè)領(lǐng)域之中,各種管理系統(tǒng)的應用也十分廣泛,當前我們注意到已經(jīng)出現(xiàn)了很多地圖導航APP,而它們的某些特點和比較有優(yōu)勢的地方,是我開發(fā)的過程中可以參考的資源。微信小程序地圖導航系統(tǒng)的實現(xiàn),將大大加快了便利,具有重要意見。參考文獻周穎,胡外光,陳敏蓮,胡珊珊.基于微信小程序的醫(yī)院WIFI室內(nèi)導航研究[J].現(xiàn)代經(jīng)濟信息,2019,(16):333-334.張紫甜,古麗米拉·克孜爾別克.基于GPS定位模塊制作高精細校園地圖[J].計算機時代,2018,(02):55-57+61.李欣,許佳勝,商貝寧.基于小程序的校園導航系統(tǒng)[J].計算機產(chǎn)品與流通,2020,(01):118.洪丹丹,張晉安,徐墨,鎖志海.移動微校園建設(shè)及關(guān)鍵技術(shù)探討[J].中國教育網(wǎng)絡(luò),2016,(12):68-70.何毅.基于微信平臺的數(shù)字化微校園資源建設(shè)研究[D].南京師范大學,2018.王子龍,馮特,趙晨帆,楊周.基于微信小程序的“易校園”平臺的研究與開發(fā)[J].技術(shù)與市場,2021,28(02):112-113.項筱萌.智慧校園微信小程序云服務(wù)開發(fā)與構(gòu)建[J].信息記錄材料,2020,21(09):174-175.邵恒,張泳,王皓.基于微信小程序的旅游GIS系統(tǒng)設(shè)計與實現(xiàn)[J].現(xiàn)代測繪,2019,42(01):33-35.湛朱喜,易澤慧,張強.基于微信小程序的校園導游智能機器人[J].電腦知識與技術(shù),2019,15(11):76-77+80.黃榮,陳來斌,郭雪微,陳瑤,廉佐政,張光妲.基于微信小程序的校園助手設(shè)計與實現(xiàn)[J].齊齊哈爾大學學報(自然科學版),2018,34(06):41-43.朱玉強.微信小程序在圖書館移動服務(wù)中的應用實踐——以排架游戲為例[J].圖書館論壇,2017,37(07):132-138.張艷慧,初雨晴,常宴寧.淺談微信小程序的發(fā)展與未來[J].電影迷,2018,No.97(06):43-43.孫幫會.基于手機二維碼的校園智能導航系統(tǒng)研究[D].安徽理工大學,2017.武思怡,解佺,張雨,侯秉昀.微信小程序開發(fā)研究[J].無線互聯(lián)科技,2018,15(11),52-54.雷英才.基于微信小程序的校園導覽系統(tǒng)的設(shè)計與開發(fā)[D].中國地質(zhì)大學,2019.艾佳.微信小程序的現(xiàn)狀與發(fā)展[J].新媒體研究,2019,(9):80-81.周艷,蔣程程,張聰,覃夢逗.輕量化校園地圖導覽小程序的設(shè)計與實現(xiàn)[J].地理信息世界,2021,28(01):61-67.柳葉.基于微信小程序的校園導航系統(tǒng)的設(shè)計與實現(xiàn)[J].測繪與空間地理信息,2021,44(11):84-86.王金恒,陳堅城,莫志裕,田桂豐.基于微信小程序的校園導航系統(tǒng)的設(shè)計與實現(xiàn)[J].電腦編程技巧與維護,2021,(06):77-79.X.Shiyong,D.Tianxiang,Z.Rongzheng,W.Rongsen.ResearchOnMybatisMapperModelBasedOnSQLTemplate[J].InInternationalConferenceonComputerEngineeringandApplication(ICCEA’2020),2020.W.Sheikh,N.Sheikh.Audiometry:Amodel-view-viewmodel(MVVM)applicationframeworkforhearingimpairmentdiagnosis[C].TheJournalofOpenSourceSoftware,2020,5(51):2-16.Q.Liu,H.Yuan.AHighPerformanceMemoryKey-ValueDatabaseBasedonRedis[J].ComputerScience,2019,14(3):170-183.\t"/en/Detail/index/GARJ2015/_blank"MaryleneS.Eder;\t"/en/Detail/index/GARJ2015/_blank"CatherineJeanL.Noceteand\t"/en/Detail/index/GARJ2015/_blank"GemelynL.Rances.WebInteractiveCampusMap[J].InternationalJournalofScientific&TechnologyResearch,2015,4(3):62-67.\t"/en/Detail/index/GARJ2021_2/_blank"NordinNoradila;\t"/en/Detail/index/GARJ2021_2/_blank"MarkomMarniAzira;\t"/en/Detail/index/GARJ2021_2/_blank"SuhaimiFarhanaAqilah.AWeb-BasedCampusNavigationSystemwithMobileAugmentedRealityIntervention[J].JournalofPhysics:ConferenceSeries,2021,1997(1)附錄packagecom.controller;importjava.util.Arrays;importjava.util.Calendar;importjava.util.Date;importjava.util.Map;importjavax.servlet.http.HttpServletRequest;importorg.springframework.beans.factory.annotation.Autowired;importorg.springframework.stereotype.Controller;importorg.springframework.web.bind.annotation.GetMapping;importorg.springframework.web.bind.annotation.PathVariable;importorg.springframework.web.bind.annotation.PostMapping;importorg.springframework.web.bind.annotation.RequestBody;importorg.springframework.web.bind.annotation.RequestMapping;importorg.springframework.web.bind.annotation.RequestParam;importorg.springframework.web.bind.annotation.ResponseBody;importorg.springframework.web.bind.annotation.RestController;importcom.annotation.IgnoreAuth;importcom.baomidou.mybatisplus.mapper.EntityWrapper;importcom.entity.TokenEntity;importcom.entity.UsersEntity;importcom.service.TokenService;importcom.service.UsersService;importcom.utils.CommonUtil;importcom.utils.MPUtil;importcom.utils.PageUtils;importcom.utils.R;importcom.utils.ValidatorUtils;/***登錄相關(guān)*/@RequestMapping("users")@RestControllerpublicclassUsersController{ @Autowired privateUsersServiceuserService; @Autowired privateTokenServicetokenService; /** *登錄 */ @IgnoreAuth @PostMapping(value="/login") publicRlogin(Stringusername,Stringpassword,Stringcaptcha,HttpServletRequestrequest){ UsersEntityuser=userService.selectOne(newEntityWrapper<UsersEntity>().eq("username",username)); if(user==null||!user.getPassword().equals(password)){ returnR.error("賬號或密碼不正確"); } Stringtoken=tokenService.generateToken(user.getId(),username,"users",user.getRole()); returnR.ok().put("token",token); } /** *注冊 */ @IgnoreAuth @PostMapping(value="/register") publicRregister(@RequestBodyUsersEntityuser){// ValidatorUtils.validateEntity(user); if(userService.selectOne(newEntityWrapper<UsersEntity>().eq("username",user.getUsername()))!=null){ returnR.error("用戶已存在"); }userService.insert(user);returnR.ok();} /** *退出 */ @GetMapping(value="logout") publicRlogout(HttpServletRequestrequest){ request.getSession().invalidate(); returnR.ok("退出成功"); } /***密碼重置*/@IgnoreAuth @RequestMapping(value="/resetPass")publicRresetPass(Stringusername,HttpServletRequestrequest){ UsersEntityuser=userService.selectOne(newEntityWrapper<UsersEntity>().eq("username",username)); if(user==null){ returnR.error("賬號不存在"); } user.setPassword("123456");userService.update(user,null);returnR.ok("密碼已重置為:123456");} /***列表*/@RequestMapping("/page")publicRpage(@RequestParamMap<String,Object>params,UsersEntityuser){EntityWrapper<UsersEntity>ew=newEntityWrapper<UsersEntity>(); PageUtilspage=userService.queryPage(params,MPUtil.sort(MPUtil.between(MPUtil.allLike(ew,user),params),params));returnR.ok().put("data",page);} /***列表*/@RequestMapping("/list")publicRlist(UsersEntityuser){ EntityWrapper<UsersEntity>ew=newEntityWrapper<UsersEntity>(); ew.allEq(MPUtil.allEQMapPre(user,"user"));returnR.ok().put("data",userService.selectListView(ew));}/***信息*/@RequestMapping("/info/{id}")publicRinfo(@PathVariable("id")Stringid){UsersEntityuser=userService.selectById(id);returnR.ok().put("data",user);}/***獲取用戶的session用戶信息*/@RequestMapping("/session")publicRgetCurrUser(HttpServletRequestrequest){ Longid=(Long)request.getSession().getAttribute("userId");UsersEntityuser=userService.selectById(id);returnR.ok().put("data",user);}/***保存*/@PostMapping("/save")publicRsave(@RequestBodyUsersEntityuser){// ValidatorUtils.validateEntity(user); if(userService.selectOne(newEntityWrapper<UsersEntity>().eq("username",user.getUsername()))!=null){ returnR.error("用戶已存在"); }userService.insert(user);returnR.ok();}/***修改*/@RequestMapping("/update")publicRupdate(@RequestBodyUsersEntityuser){//ValidatorUtils.validateEntity(user); UsersEntityu=userService.selectOne(newEntityWrapper<UsersEntity>().eq("username",user.getUsername())); if(u!=null&&u.getId()!=user.getId()&&u.getUsername().equals(user.getUsername())){ returnR.error("用戶名已存在。"); }userService.updateById(user);//全部更新returnR.ok();}/***刪除*/@RequestMapping("/delete")publicRdelete(@RequestBodyLong[]ids){userService.deleteBatchIds(Arrays.asList(ids));returnR.ok();}}packagecom.controller;importjava.text.SimpleDateFormat;importjava.util.ArrayList;importjava.util.Arrays;importjava.util.Calendar;importjava.util.Map;importjava.util.HashMap;importjava.util.Iterator;importjava.util.Date;importjava.util.List;importjavax.servlet.http.HttpServletRequest;importcom.utils.ValidatorUtils;importmons.lang3.StringUtils;importorg.springframework.beans.factory.annotation.Autowired;importorg.springframework.transaction.annotation.Transactional;importorg.springframework.format.annotation.DateTimeFormat;importorg.springframework.web.bind.annotation.PathVariable;importorg.springframework.web.bind.annotation.RequestBody;importorg.springframework.web.bind.annotation.RequestMapping;importorg.springframework.web.bind.annotation.RequestParam;importorg.springframework.web.bind.annotation.RestController;importcom.baomidou.mybatisplus.ma

溫馨提示

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

最新文檔

評論

0/150

提交評論