版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
“養(yǎng)老服務(wù)助手”微信小程序的設(shè)計(jì)與實(shí)現(xiàn)目錄TOC\o"1-3"\h\u摘要 11緒論 21.1設(shè)計(jì)背景和意義 21.2本文結(jié)構(gòu) 22相關(guān)技術(shù) 32.1JavaScript介紹 32.2Pycharm介紹 32.3MySQL關(guān)系型數(shù)據(jù)庫 32.4Ajax異步請(qǐng)求技術(shù)簡(jiǎn)介 42.5微信開發(fā)者工具簡(jiǎn)介 42.6B/S架構(gòu) 43系統(tǒng)需求分析 53.1系統(tǒng)功能需求 53.2系統(tǒng)用例分析 54系統(tǒng)設(shè)計(jì) 64.1系統(tǒng)流程設(shè)計(jì) 64.1.1系統(tǒng)開發(fā)流程 64.1.2用戶登錄流程 64.1.3預(yù)約養(yǎng)老服務(wù)項(xiàng)目流程圖 74.1.4后臺(tái)操作流程 74.2系統(tǒng)數(shù)據(jù)庫設(shè)計(jì) 84.2.1數(shù)據(jù)庫信息設(shè)計(jì) 84.2.2數(shù)據(jù)庫表設(shè)計(jì) 105系統(tǒng)實(shí)現(xiàn) 125.1管理員功能模塊的實(shí)現(xiàn) 125.1.1管理員后臺(tái)管理主界面 125.1.2管理員數(shù)據(jù)表界面 135.2老人用戶功能模塊的實(shí)現(xiàn) 145.2.1用戶登錄界面 145.2.2首頁界面 155.2.3預(yù)約界面 166系統(tǒng)測(cè)試 206.1測(cè)試意義 206.2測(cè)試方法和結(jié)果 206.2.1預(yù)約功能測(cè)試、 206.2.2社區(qū)交流和提交反饋功能測(cè)試 206.2.3后臺(tái)管理系統(tǒng)登錄功能測(cè)試 21結(jié)束語 22參考文獻(xiàn) 22摘要:自2000年邁入老齡化社會(huì)以后,我國人口老齡化的程度持續(xù)加深,在國內(nèi)老齡化愈發(fā)嚴(yán)重的情況下,我國的養(yǎng)老行業(yè)擁有著廣大的發(fā)展前景。本程序使用B/S架構(gòu),以微信小程序開發(fā)者工具作為前端開發(fā)的編譯器,后臺(tái)采用RBAC權(quán)限系統(tǒng),使用Pychram與微信開發(fā)者工具完成養(yǎng)老服務(wù)助手微信小程序的開發(fā)。本系統(tǒng)實(shí)現(xiàn)了預(yù)約養(yǎng)老服務(wù)項(xiàng)目、訂單管理、話題社區(qū)等功能,既能夠解決老人們?cè)谌粘I钣龅降牟槐?,又可以滿足老人們的精神需求,提升了養(yǎng)老服務(wù)質(zhì)量。關(guān)鍵詞:微信小程序;養(yǎng)老服務(wù);老齡化1緒論1.1設(shè)計(jì)背景和意義在過去的幾十年中,中國經(jīng)歷了生育力下降和壽命延長(zhǎng)的兩個(gè)人口統(tǒng)計(jì)指標(biāo),表明中國正在成為一個(gè)老齡化社會(huì)。截至2017年底,我國60歲以上老年人口有2.41億人,占總?cè)丝诘?7.3%[1]。中國老齡化展現(xiàn)了前所未有的速度和趨勢(shì)。隨之而來的,是當(dāng)代年輕人的養(yǎng)老壓力越來越大,老人們的養(yǎng)老生活質(zhì)量卻沒有明顯的提高。這是國內(nèi)現(xiàn)有養(yǎng)老服務(wù)體系發(fā)展的不足,卻也是機(jī)遇。標(biāo)準(zhǔn)的養(yǎng)老服務(wù)體系依據(jù)服務(wù)主要提供主體可分為家庭養(yǎng)老服務(wù)體系,社區(qū)養(yǎng)老服務(wù)體系和社會(huì)養(yǎng)老服務(wù)體系;依據(jù)老年人生活居住形式可分為居家養(yǎng)老服務(wù)和機(jī)構(gòu)養(yǎng)老服務(wù)[2]。就當(dāng)前來看,中國現(xiàn)有的養(yǎng)老模式主要分為機(jī)構(gòu)養(yǎng)老、醫(yī)養(yǎng)結(jié)合機(jī)構(gòu)、居家養(yǎng)老、居家養(yǎng)老與社會(huì)服務(wù)相結(jié)合以及居家養(yǎng)老和社區(qū)服務(wù)相結(jié)合這五種養(yǎng)老模式。目前國內(nèi)的養(yǎng)老政策問題雖然得到了重視,但與市場(chǎng)并未很好的銜接。距離實(shí)現(xiàn)智慧養(yǎng)老全覆蓋還遙遙無期,難以滿足日益增長(zhǎng)的養(yǎng)老保障需求。之所以形成現(xiàn)在這種供不應(yīng)求的局面,一方面是因?yàn)閲鴥?nèi)養(yǎng)老產(chǎn)業(yè)的發(fā)展程度不高,而另一方面則是消費(fèi)者和養(yǎng)老產(chǎn)業(yè)之間沒有建立起一個(gè)高效的溝通渠道。隨著移動(dòng)互聯(lián)網(wǎng)的發(fā)展,互聯(lián)網(wǎng)背景下的“智慧養(yǎng)老”以移動(dòng)互聯(lián)網(wǎng)等信息技術(shù)為依托,整合了社區(qū)、居家、機(jī)構(gòu)養(yǎng)老模式,可以使老人克服空間和時(shí)間的限制獲得優(yōu)質(zhì)的養(yǎng)老服務(wù),有利于傳統(tǒng)養(yǎng)老行業(yè)的升級(jí)[3]。選擇開發(fā)微信小程序,是因?yàn)槲⑿判〕绦蛳鄬?duì)于App而言操作簡(jiǎn)單,界面簡(jiǎn)潔,降低了使用的難度,更適用于智慧養(yǎng)老主要的消費(fèi)者—中老年人群,便于用戶使用;微信小程序比該系統(tǒng)的移動(dòng)客戶端應(yīng)用程序具有更低的成本和更快的開發(fā)優(yōu)勢(shì),并且與下一代移動(dòng)互聯(lián)網(wǎng)行業(yè)的發(fā)展趨勢(shì)相近,具有更廣闊的市場(chǎng)前景[4] 。本系統(tǒng)基于B/S架構(gòu)模式,后端基于RBAC權(quán)限模式,搭建了管理數(shù)據(jù)的后臺(tái)管理系統(tǒng)。在充分分析了老人群體日常生活需求的基礎(chǔ)上,通過網(wǎng)站與數(shù)據(jù)庫的結(jié)合開發(fā)出一個(gè)適合老年群體使用的養(yǎng)老服務(wù)助手的微信小程序,可以滿足老人群體在物質(zhì)上和精神上的大部分需求。在這樣一個(gè)前景廣闊的領(lǐng)域,做一款養(yǎng)老服務(wù)助手微信小程序,不僅能夠滿足市場(chǎng)需求,更有利于國內(nèi)智慧養(yǎng)老行業(yè)的發(fā)展。1.2本文結(jié)構(gòu)本論文包含了七個(gè)部分,分別是緒論、相關(guān)技術(shù)、系統(tǒng)需求分析、系統(tǒng)設(shè)計(jì)、系統(tǒng)實(shí)現(xiàn)、系統(tǒng)測(cè)試和結(jié)束語,最后附帶參考文獻(xiàn)和致謝。第一部分的緒論內(nèi)容包含設(shè)計(jì)背景和意義、本文結(jié)構(gòu);第二部分的相關(guān)技術(shù)內(nèi)容包含JavaScript介紹、Pycharm介紹、Mysql關(guān)系型數(shù)據(jù)庫、Ajax異步請(qǐng)求技術(shù)、微信開發(fā)者工具簡(jiǎn)介和B/S架構(gòu);第三部分的系統(tǒng)需求分析內(nèi)容包含系統(tǒng)功能需求和系統(tǒng)用例分析;第四部分的系統(tǒng)設(shè)計(jì)內(nèi)容包含系統(tǒng)開發(fā)流程設(shè)計(jì)和系統(tǒng)數(shù)據(jù)庫設(shè)計(jì);第五部分的系統(tǒng)實(shí)現(xiàn)內(nèi)容包含管理員功能模塊實(shí)現(xiàn),老人用戶功能模塊實(shí)現(xiàn)和系統(tǒng)核心代碼;第六部分的系統(tǒng)測(cè)試內(nèi)容包含測(cè)試意義與測(cè)試方法和結(jié)果;第七部分是結(jié)束語;最后是參考文獻(xiàn)和致謝。2相關(guān)技術(shù)2.1JavaScript介紹JavaScript(JS)是一種比較輕巧的解釋性編程語言[5],并且可以實(shí)時(shí)刷新當(dāng)前的狀態(tài),這對(duì)使用者十分友好。在它的使用中,可以對(duì)封裝好的函數(shù)進(jìn)行調(diào)用,JavaScript一樣屬于面向?qū)ο蟮恼Z言,可以繼承,可以多態(tài)。盡管它被稱為開發(fā)網(wǎng)頁的腳本語言,但它也用于許多非瀏覽器環(huán)境。當(dāng)今網(wǎng)站時(shí)代,最流行的前端動(dòng)態(tài)語言就是這個(gè)語言,它是可以讓網(wǎng)頁動(dòng)起來的工具,并且也是最底層的語言,這也就意味著它執(zhí)行的非常的快。但正因?yàn)樗鼘儆诘讓?,所以?dāng)它實(shí)現(xiàn)一塊功能大的函數(shù)時(shí),需要編寫給出多的代碼,這就給程序員造成了很大的麻煩。在當(dāng)今這個(gè)時(shí)代,VUE這個(gè)JS的框架已經(jīng)占據(jù)了大半個(gè)中國市場(chǎng),因?yàn)樗鼛缀鯎碛辛薐S原生的所有優(yōu)點(diǎn)還有一個(gè)雙向綁定數(shù)據(jù)的特征,不用封裝先取出數(shù)據(jù)再填寫數(shù)據(jù)的函數(shù),讓程序更加的簡(jiǎn)便。2.2Pycharm介紹下載過Python的人都知道它有款自帶的IEDE編譯器,但是這款編譯器敲的出代碼不僅沒有命令提示和縮進(jìn)的自動(dòng)歸檔,而且安裝環(huán)境也非常不友好,而對(duì)于框架開發(fā)的編輯更是讓人無奈。所以JetBrains就推出了一款方便強(qiáng)大的為Python量身定做的開發(fā)編譯器,它不僅在安裝依賴包以及開發(fā)代碼上幫了Python很大的忙,并且為Python的框架提供了非常大的方便[6]。而安裝依賴庫更是簡(jiǎn)單,直接在settings里面進(jìn)入依賴包界面點(diǎn)擊加號(hào)即可安裝,當(dāng)使用Django開發(fā)時(shí),我們不用每次都去調(diào)用啟動(dòng)命令,只要點(diǎn)擊這款軟件為我們提供的啟動(dòng)按鈕即可開啟端口訪問,就可以啟動(dòng)Django內(nèi)置的服務(wù)啟動(dòng)器。2.3MySQL關(guān)系型數(shù)據(jù)庫MySQL數(shù)據(jù)庫是一個(gè)集成于內(nèi)核的多線程多進(jìn)程的數(shù)據(jù)庫服務(wù)器,非常適合用于網(wǎng)站或其他數(shù)據(jù)庫應(yīng)用程序的開發(fā)和數(shù)據(jù)庫后臺(tái)管理系統(tǒng)的開發(fā)。此外,越來越多的開發(fā)人員喜歡直接將關(guān)系數(shù)據(jù)庫與MySQL結(jié)合使用,其應(yīng)用范圍也得到了擴(kuò)展。它的速度快,使用方便。經(jīng)過開發(fā)人員不斷的努力,將MySQL封裝好了自己的框架,讓比較難記的數(shù)據(jù)庫命令變成好記好用的命令,而數(shù)據(jù)庫框架做的最突出的應(yīng)該是ORM框架了,不管是連表查詢,還是簡(jiǎn)單的增刪改查都非常簡(jiǎn)潔,容易上手。2.4Ajax異步請(qǐng)求技術(shù)簡(jiǎn)介AJAX是異步JavaScript和XML的縮寫。它是當(dāng)用戶在瀏覽器進(jìn)行操作時(shí),在后臺(tái)進(jìn)行一次請(qǐng)求數(shù)據(jù),然后再將請(qǐng)求到的數(shù)據(jù)渲染到需要的標(biāo)簽上,這個(gè)強(qiáng)大的功能也是目前后端分離使用的前端技術(shù)。而它的出現(xiàn)也讓雙向綁定數(shù)據(jù)的VUE趕上了流行度與實(shí)用度。同步請(qǐng)求就是當(dāng)用戶點(diǎn)擊按鈕的同時(shí)請(qǐng)求也跟隨發(fā)送出去,在這個(gè)同步的時(shí)間里網(wǎng)頁都得停下運(yùn)行,接著讓同步請(qǐng)求到的數(shù)據(jù)渲染對(duì)應(yīng)的標(biāo)簽,渲染完后網(wǎng)頁再次進(jìn)入運(yùn)行狀態(tài),這個(gè)就好比,有十米寬的道路,但是有多少輛車都得在一條道上行駛,以至于“交通堵塞”--也就是所謂的網(wǎng)頁卡死狀態(tài),只能等到數(shù)據(jù)渲染完后才能恢復(fù),這個(gè)請(qǐng)求幾乎沒人用到,它雖然可以為網(wǎng)頁的運(yùn)行帶來邏輯性,但是靈活性與能動(dòng)性實(shí)在是太低,給用戶一種不愉快的體驗(yàn)。異常請(qǐng)求則是相反,當(dāng)用戶點(diǎn)擊按鈕的時(shí)候,請(qǐng)求在后臺(tái)發(fā)送接口請(qǐng)求,這個(gè)時(shí)候網(wǎng)頁是繼續(xù)運(yùn)行的,它并不會(huì)出現(xiàn)卡死崩潰的狀態(tài),后臺(tái)接收到接口請(qǐng)求判斷對(duì)應(yīng)的狀態(tài)后進(jìn)行對(duì)應(yīng)的數(shù)據(jù)渲染,再利用好雙向綁定數(shù)據(jù)就可以更輕松且巧妙的附上最新數(shù)據(jù),這個(gè)過程中不會(huì)因?yàn)榫W(wǎng)絡(luò)延遲、請(qǐng)求數(shù)據(jù)網(wǎng)慢或后端執(zhí)行效率低下而造成網(wǎng)頁的卡死、崩潰。這也是為什么現(xiàn)在的前端慢慢的從映射模板(也就是所謂的前端后不分離)變化到前后端分離,而前后端分離的好處是后臺(tái)只需要寫一次,前臺(tái)只需要變換開發(fā)的工具即可,比如一個(gè)后臺(tái)接口,其實(shí)就可以支撐起蘋果、安卓、網(wǎng)站端的三個(gè)前臺(tái)的請(qǐng)求,因?yàn)樗麄兌际枪灿靡粋€(gè)端口,非常的省時(shí)省力。2.5微信開發(fā)者工具簡(jiǎn)介開發(fā)人員可以使用微信開發(fā)者工具來完成小程序的創(chuàng)建和代碼編輯,具體步驟如下:(1)在微信開發(fā)平臺(tái)可以下載最新版本的微信開發(fā)者工具并安裝。選擇“創(chuàng)建項(xiàng)目”,填寫上面獲得的AppID,設(shè)置本地項(xiàng)目名稱,這是小程序的名稱,然后選擇計(jì)算機(jī)的本地文件夾作為存儲(chǔ)代碼的目錄。在創(chuàng)建過程中,如果所選本地文件夾為空文件夾,則微信開發(fā)者工具將提示是否需要?jiǎng)?chuàng)建快速啟動(dòng)項(xiàng)目。選擇“是”后,微信開發(fā)者工具將生成一個(gè)簡(jiǎn)單的項(xiàng)目[6]。創(chuàng)建完一個(gè)項(xiàng)目后就可以開始開發(fā)微信小程序了,一些常用的接口在微信開發(fā)者工具中都可以調(diào)用,具體的調(diào)用方式可以在微信開發(fā)平臺(tái)上的開發(fā)者文檔中查看,這也是微信小程序的開發(fā)效率較高的原因之一。2.6B/S架構(gòu)B/S結(jié)構(gòu)主要是有3層的層次分明的結(jié)構(gòu),第一層是數(shù)據(jù)層,所有數(shù)據(jù)都會(huì)在這一層進(jìn)行數(shù)據(jù)的封裝。第二層是控制邏輯層,由程序控制數(shù)據(jù)傳輸?shù)姆较?,比如向服?wù)器請(qǐng)求對(duì)應(yīng)的接口數(shù)據(jù)。第三層就是視圖層,也就是用戶所瀏覽的前端,展示一個(gè)視圖給用戶,讓用戶有更好的使用體驗(yàn)。這三層都是互相獨(dú)立的,這樣維護(hù)起來也方便,使用也安全,其中一層出了問題不會(huì)接二連三的影響到其他兩層。這樣的設(shè)計(jì)能夠有效的提高數(shù)據(jù)交互的效率。3系統(tǒng)需求分析3.1系統(tǒng)功能需求本養(yǎng)老服務(wù)助手微信小程序包含老人和管理員兩類用戶。系統(tǒng)功能結(jié)構(gòu)圖如圖3-1所示。圖3-1系統(tǒng)功能結(jié)構(gòu)圖3.2系統(tǒng)用例分析系統(tǒng)用例如圖3-2所示。圖3-2系統(tǒng)用例分析圖系統(tǒng)主要用例分析:用例名稱:微信賬號(hào)登陸執(zhí)行者:老人用例說明:使用微信賬號(hào)登錄養(yǎng)老服務(wù)助手微信小程序前置條件:老人打開養(yǎng)老服務(wù)微信小程序并切換到個(gè)人中心頁面基本事件流:老人點(diǎn)擊登錄按鈕 異常事件流:如果是第一次授權(quán)登錄,在數(shù)據(jù)庫中添加用戶信息。 后置條件:顯示微信用戶字樣,登錄成功用例名稱:預(yù)約養(yǎng)老服務(wù)
執(zhí)行者:老人用例說明:老人通過填寫預(yù)約信息并提交預(yù)約養(yǎng)老服務(wù)前置條件:老人打開養(yǎng)老服務(wù)助手微信小程序完成登錄并切換到預(yù)約界面基本事件流:老人填寫基本信息與預(yù)約信息后,點(diǎn)擊提交按鈕異常事件流:如果預(yù)約信息的填寫不符合輸入標(biāo)準(zhǔn),則無法提交后置事件:預(yù)約信息錄入對(duì)應(yīng)的數(shù)據(jù)庫,顯示預(yù)約成功用例名稱;交流信息管理執(zhí)行者:管理員用例說明:管理員在后臺(tái)系統(tǒng)中對(duì)社區(qū)交流信息進(jìn)行管理前置條件:管理員通過賬號(hào)密碼成功登錄到后臺(tái)管理系統(tǒng)基本事件流:管理員點(diǎn)擊交流列表模塊,并對(duì)交流信息進(jìn)行管理異常事件流:無后置事件:管理員對(duì)交流信息的操作保存到對(duì)應(yīng)的數(shù)據(jù)庫4系統(tǒng)設(shè)計(jì)4.1系統(tǒng)流程設(shè)計(jì)4.1.1系統(tǒng)開發(fā)流程 本系統(tǒng)在開發(fā)之前,先對(duì)市場(chǎng)進(jìn)行調(diào)研,分析功能需求,設(shè)計(jì)系統(tǒng)總體的架構(gòu),確定具體要實(shí)現(xiàn)的功能并設(shè)計(jì)對(duì)應(yīng)的數(shù)據(jù)庫,將需要的數(shù)據(jù)都存儲(chǔ)在數(shù)據(jù)庫中;前期的準(zhǔn)備工作完成以后,正式開始養(yǎng)老服務(wù)助手微信小程序的開發(fā);開發(fā)完成后,還要對(duì)系統(tǒng)進(jìn)行測(cè)試,如檢測(cè)接口是否有問題,前端微信小程序界面是否正常顯示以及系統(tǒng)功能是否完全實(shí)現(xiàn)。具體流程如圖4-1所示。圖4-1系統(tǒng)開發(fā)流程圖4.1.2用戶登錄流程在使用微信賬號(hào)登錄微信小程序時(shí),需要請(qǐng)求微信官方的請(qǐng)求接口進(jìn)行授權(quán),獲取到對(duì)應(yīng)的用戶信息,具體流程圖如圖4-2所示。圖4-2登錄流程圖4.1.3預(yù)約養(yǎng)老服務(wù)項(xiàng)目流程圖老人用戶登錄后在預(yù)約界面填寫姓名,手機(jī)號(hào),地址,預(yù)約時(shí)間以及選擇服務(wù)項(xiàng)目的類型,提交后可以預(yù)約養(yǎng)老服務(wù)項(xiàng)目。具體流程如圖4-3所示。圖4-3預(yù)約流程圖4.1.4后臺(tái)操作流程管理員用戶打開后臺(tái)管理系統(tǒng)登錄界面后,輸入用戶名和密碼登錄到后臺(tái)管理系統(tǒng),在后臺(tái)管理系統(tǒng)中可以管理用戶信息和其他數(shù)據(jù)。具體操作流程如圖4-4所示。 圖4-4后臺(tái)操作流程圖4.2系統(tǒng)數(shù)據(jù)庫設(shè)計(jì)系統(tǒng)動(dòng)態(tài)數(shù)據(jù)需要控制,數(shù)據(jù)庫是必不可少的,所以設(shè)計(jì)數(shù)據(jù)庫是非常重要的,它會(huì)決定程序以后的擴(kuò)展性,如果系統(tǒng)需要擴(kuò)大那么需要繼續(xù)添加數(shù)據(jù)表。4.2.1數(shù)據(jù)庫信息設(shè)計(jì)E-R圖用于說明實(shí)體之間的關(guān)系,本系統(tǒng)主要的數(shù)據(jù)庫實(shí)體和對(duì)應(yīng)的基本屬性如圖4-5所示。圖4-5數(shù)據(jù)庫主要實(shí)體E-R圖4.2.2數(shù)據(jù)庫表設(shè)計(jì)根據(jù)上述E-R圖的設(shè)計(jì),畫出主要的數(shù)據(jù)庫表:
(1)微信用戶信息數(shù)據(jù)庫表設(shè)計(jì)如表4-1所示。表4-1微信用戶信息表描述字段名類型是否主鍵主鍵idintY姓名namevarcharN登錄地址provincevarcharN登錄時(shí)間timedatetimeN用戶標(biāo)識(shí)openidvarcharN(2)管理員用戶數(shù)據(jù)庫表設(shè)計(jì)如表4-2所示。表4-2管理員用戶表描述字段名類型是否主鍵主鍵idintY密碼passwordvarcharN上次登錄時(shí)間provincevarcharN超級(jí)用戶身份timedatetimeN名first_timevarcharN姓last_timevarcharN電子郵箱地址emailvarcharN用戶名usernamevarcharN(3)預(yù)約信息數(shù)據(jù)庫表設(shè)計(jì)如表4-3所示。表4-3預(yù)約數(shù)據(jù)表描述字段名類型是否主鍵主鍵idintY預(yù)約時(shí)間get_timevarcharN訂單編號(hào)orderVarcharN下單時(shí)間timedatetimeN服務(wù)類型style_idintN用戶IDuser_idintN地址addressvarcharN姓名namevarcharN電話號(hào)碼phonevarcharN備注remarktextN用戶權(quán)限數(shù)據(jù)庫表設(shè)計(jì)如表4-4所示。表4-4權(quán)限數(shù)據(jù)表描述字段名類型是否主鍵主鍵idintY管理模塊IDcontent_type_idintN權(quán)限類型codenamevarcharN功能注釋NameVarcharN反饋信息數(shù)據(jù)庫表設(shè)計(jì)如表4-5所示。表4-5反饋信息數(shù)據(jù)表主鍵idintY標(biāo)題titlevarcharN反饋內(nèi)容textvarcharN用戶IDuser_idintN提交時(shí)間timedatetimeN交流信息數(shù)據(jù)庫表設(shè)計(jì)如表4-6所示。表4-6交流信息數(shù)據(jù)表主鍵idintY交流內(nèi)容textvarcharN用戶IDuser_idintN發(fā)布時(shí)間timedatetimeN5系統(tǒng)實(shí)現(xiàn)5.1管理員功能模塊的實(shí)現(xiàn)5.1.1管理員后臺(tái)管理主界面管理員用戶輸入管理后臺(tái)的賬號(hào)跟密碼后,登錄到后臺(tái)管理系統(tǒng)的首頁,左側(cè)是前臺(tái)數(shù)據(jù)庫的數(shù)據(jù)表模塊,左側(cè)下方是管理后臺(tái)賬戶模塊,右側(cè)是詳細(xì)的數(shù)據(jù)表分塊,右側(cè)下方記錄后臺(tái)管理系統(tǒng)所有登陸者操作記錄。其界面如圖5-1所示。圖5-1管理員后臺(tái)管理主界面部分代碼如下:formodel_class,vinadmin.site._registry.items(): print(model_class)//打印的是每一個(gè)類<class'app01.models.UserInfo'> cls_name=model__class._meta.model_name//當(dāng)前類名稱的小寫 app_name=model_class._meta.app__label//當(dāng)前app的名稱 val=url(r'^{0}/{1}/$'.format(app_name,cls_name),login,name="login") url_list.append(val)urlpatterns=[ url(r'^admin/',admin.site.urls), //admin.site這個(gè)對(duì)象里面有一個(gè)屬性__registry={} //點(diǎn)擊urls返回的是一個(gè)元組,元組的第一個(gè)元素是一個(gè)列表 url(r'^index/',([ url(r'^app01/userinfo/$',login,name="login"), url(r'^app01/roles/$',login,name="login"), ],None,None)),5.1.2管理員數(shù)據(jù)表界面該界面可以查看對(duì)應(yīng)模塊的信息,數(shù)據(jù)都可以在該模塊中查看,編輯、刪除、導(dǎo)出。其界面如圖5-2所示。圖5-2管理員數(shù)據(jù)表界面部分代碼如下:articles=modelsGo.objects.all().order._by('id')//獲取數(shù)據(jù)pg=PageNumberPagination()//執(zhí)行分頁函數(shù)pg.max_page_size=200//設(shè)置最大數(shù)據(jù)量pg.page_size_query_param="size"http://設(shè)置最大數(shù)據(jù)量的參數(shù)pager_roles=pg.paginate_queryset(queryset=articles,request=request,view=self)//在數(shù)據(jù)庫中獲取分頁的數(shù)據(jù)ser=PagerSerialiser(instance=pager_roles,many=True)//對(duì)分頁數(shù)據(jù)進(jìn)行序列化data["data"]=ser.data//返回?cái)?shù)據(jù)5.2老人用戶功能模塊的實(shí)現(xiàn)5.2.1用戶登錄界面該界面為老人用戶登錄界面,可以通過微信賬號(hào)完成注冊(cè)登錄。其界面如圖5-3所示。圖5-3用戶登錄界面部分代碼如下:uni.getUserInfo({ provider.''weixin', success:functioninfoRes){ //console.log(infoRes) //賦值名稱 _this.nickName=infoRes.userInfo.nickName;//昵稱 _this.avatarUrl=infoRes.userInfo.avatarUrl:頭像 _this.login_mark=true try{ uni.setStorageSyne(isCanUse'.false);//記錄是否第一次授權(quán)false表示不是第一次授權(quán) _this.updateUserInfoO; }catch(e){}; //獲取用戶ID uni.login({ provider:'weixin', success:function(res){ if(res.code){ //請(qǐng)求后臺(tái) uni.request({ url:'http://localhost:8000/api/wx/login', method:"POST", header:{ 'content-type':'application/x-www-form-urlencoded' }, data:{ code:res.code. name:infoRes.userInfo.nickName, head:infoRes.userInfo.avatarUrl, city:infoRes.userInfo.city, province:infoRes..userIvince, },5.2.2預(yù)約界面用戶可以填寫信息預(yù)約養(yǎng)老服務(wù)項(xiàng)目。其界面如圖5-4所示。圖5-4預(yù)約界面部分代碼如下:前臺(tái)請(qǐng)求代碼:<script> exportdefault{ data(){ return{ name:"", phone:"", address:"", price:"", remark:"", time:'請(qǐng)選擇預(yù)約時(shí)間', date:"請(qǐng)選擇預(yù)約日期", picker:['跑腿代買','入戶助餐','清洗衣物','上門理發(fā)','床上擦浴','陪同就診',], index:-1, } },//發(fā)布 methods:{ release_task(){ uni.request({ url:'http://localhost:8000/api/task/release', method:"POST", header:{ 'content-type':'application/x-www-form-urlencoded' }, data:{ user_openid:uni.getStorageSync('user_openid'), name:, phone:this.phone, address:this.address, price:this.price, remark:this.remark, get_time:this.date+"-"+this.time, style:this.index, }, success:(ret)=>{ //console.log(ret) if(ret.data.code==200){ this.$refs.uToast.show({ title:'發(fā)布成功', type:'success', }) ="" this.phone="" this.address="" this.price="" this.remark="" this.date="請(qǐng)選擇預(yù)約時(shí)間" this.time="請(qǐng)選擇預(yù)約日期" } if(ret.data.code==444){ this.$refs.uToast.show({ title:'您還未登錄', type:'error', url:'pages/mine/mine', isTab:true }) }; }, fail:(data,code)=>{ console.log('fail'+JSON.stringify(data)); }, }) }, //服務(wù)項(xiàng)目類型選擇 PickerChange(e){ this.index=e.detail.value }, //時(shí)間 TimeChange(e){ this.time=e.detail.value }, //日期 DateChange(e){ this.date=e.detail.value }, } }</script>后端接口代碼:importdatetimeimporttimeimporttracebackfromdjango.httpimportJsonResponsefromrest_framework.viewsimportAPIView//視圖模塊導(dǎo)入fromdatabaseimportmodels//數(shù)據(jù)表導(dǎo)入fromdjango.confimportsettingsclassListSubmit(APIView):defpost(self,request,*args,**kwargs):message={}try://用戶IDuser_openid=request.data.get("user_openid")try:user_id=models.WxUserInfo.objects.get(openId=user_openid).pkexcept:message['code']=444returnJsonResponse(message)#其他字段參數(shù)name=request.data.get("name")phone=request.data.get("phone")address=request.data.get("address")price=request.data.get("price")remark=request.data.get("remark")style_id=int(request.data.get("style"))+1get_time=request.data.get("get_time")order=str(datetime.datetime.fromtimestamp(time.time())).replace("-","").replace("","").replace(":","").replace(".","")models.List.objects.create(user_id=user_id,name=name,phone=phone,price=price,address=address,style_id=style_id,get_time=get_time,order=order,remark=remark)message['code']=200returnJsonResponse(message)except:print(traceback.print_exc())message['code']=400returnJsonResponse(message)deftype(self,style):dict_f={"跑腿代買":1,"入戶助餐":2,"清洗衣物":3,"上門理發(fā)":4,"床上擦浴":5,"陪同就診":6}res=dict_f[style]returnres6系統(tǒng)測(cè)試6.1測(cè)試意義系統(tǒng)測(cè)試是開發(fā)一個(gè)完整程序設(shè)計(jì)的最后一個(gè)步驟,測(cè)試程序的功能是否達(dá)到了預(yù)期效果,是否可以帶給用戶良好的使用體驗(yàn)。如果系統(tǒng)沒有滿足用戶的主要需求或者功能沒有達(dá)到預(yù)期效果,更方便發(fā)現(xiàn)系統(tǒng)存在的不足,為提升系統(tǒng)的效率和質(zhì)量開辟思路,更有利于減少或避免系統(tǒng)錯(cuò)誤的發(fā)生。6.2測(cè)試方法和結(jié)果測(cè)試系統(tǒng)的主要功能是否能夠正常運(yùn)行,查看數(shù)據(jù)是否正常傳輸。6.2.1預(yù)約功能測(cè)試、在預(yù)約界面分別填寫符合輸入標(biāo)準(zhǔn)的預(yù)約信息和不符合輸入標(biāo)準(zhǔn)的預(yù)約信息(如在預(yù)估時(shí)長(zhǎng)欄輸入亂碼),觀察輸出結(jié)果,測(cè)試結(jié)果如表6-1所示。表6-1預(yù)約功能測(cè)試表輸入/動(dòng)作期望的輸出/響應(yīng)實(shí)際輸出/響應(yīng)填寫標(biāo)準(zhǔn)預(yù)約信息并提交預(yù)約成功并可以在我的預(yù)約中查詢預(yù)約成功并可以在我的預(yù)約中查詢填寫不符合標(biāo)準(zhǔn)的預(yù)約信息并提交無法提交無法提交6.2.2社區(qū)交流和提交反饋功能測(cè)試使用微信賬號(hào)登錄小程序,并測(cè)試社區(qū)交流功能和提交反饋功能的實(shí)際運(yùn)行效果。測(cè)試結(jié)果如表6-2所示。表6-2社區(qū)交流與提交反饋功能測(cè)試表輸入/動(dòng)作期望的輸出/響應(yīng)實(shí)際輸出/響應(yīng)點(diǎn)擊發(fā)布按鈕,輸入交流內(nèi)容并確認(rèn)提交顯示編輯頁面,點(diǎn)擊確認(rèn)提交后發(fā)布成功顯示編輯頁面,點(diǎn)擊確認(rèn)提交后發(fā)布成功點(diǎn)擊提交按鈕,輸入標(biāo)題和反饋內(nèi)容后提交顯示“提交成功,感謝你的反饋”顯示“提交成功,感謝你的反饋”6.2.3
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2026北京懷柔區(qū)琉璃廟鎮(zhèn)等2家單位招聘事業(yè)單位人員12人備考題庫及答案詳解一套
- 2026年咸陽市高新一中教師招聘?jìng)淇碱}庫及完整答案詳解一套
- 黑龍江2025下半年黑龍江省人力資源和社會(huì)保障廳事業(yè)單位招聘54人筆試歷年參考題庫附帶答案詳解
- 阿拉善2025年內(nèi)蒙古阿拉善盟人才預(yù)約引進(jìn)筆試歷年參考題庫附帶答案詳解
- 貴州2025年貴州建設(shè)職業(yè)技術(shù)學(xué)院招聘8人筆試歷年參考題庫附帶答案詳解
- 聊城2025年山東聊城高唐縣職業(yè)教育中心學(xué)校招聘教師64人筆試歷年參考題庫附帶答案詳解
- 濰坊2025年山東濰坊安丘市招聘城市社區(qū)工作者40人筆試歷年參考題庫附帶答案詳解
- 湖北2025年湖北省科學(xué)技術(shù)館招聘23人筆試歷年參考題庫附帶答案詳解
- 海南2025年海南省經(jīng)濟(jì)技術(shù)學(xué)校招聘23人筆試歷年參考題庫附帶答案詳解
- 濟(jì)寧2025年山東濟(jì)寧鄒城市教體系統(tǒng)急需緊缺人才引進(jìn)39人筆試歷年參考題庫附帶答案詳解
- 地下礦山頂板管理安全培訓(xùn)課件
- 監(jiān)獄消防培訓(xùn) 課件
- 道路建設(shè)工程設(shè)計(jì)合同協(xié)議書范本
- 2025年安徽阜陽市人民醫(yī)院校園招聘42人筆試模擬試題參考答案詳解
- 2024~2025學(xué)年江蘇省揚(yáng)州市樹人集團(tuán)九年級(jí)上學(xué)期期末語文試卷
- 2026屆江蘇省南京溧水區(qū)四校聯(lián)考中考一模物理試題含解析
- 民用建筑熱工設(shè)計(jì)規(guī)范
- 學(xué)堂在線 雨課堂 學(xué)堂云 唐宋詞鑒賞 期末考試答案
- 2025至2030中國輻射監(jiān)測(cè)儀表市場(chǎng)投資效益與企業(yè)經(jīng)營發(fā)展分析報(bào)告
- 產(chǎn)品認(rèn)證標(biāo)志管理制度
- 廣州西關(guān)大屋介紹
評(píng)論
0/150
提交評(píng)論