100202051036-陳超-微信智能點餐餐飲管理系統(tǒng)的設(shè)計與實現(xiàn)_第1頁
100202051036-陳超-微信智能點餐餐飲管理系統(tǒng)的設(shè)計與實現(xiàn)_第2頁
100202051036-陳超-微信智能點餐餐飲管理系統(tǒng)的設(shè)計與實現(xiàn)_第3頁
100202051036-陳超-微信智能點餐餐飲管理系統(tǒng)的設(shè)計與實現(xiàn)_第4頁
100202051036-陳超-微信智能點餐餐飲管理系統(tǒng)的設(shè)計與實現(xiàn)_第5頁
已閱讀5頁,還剩36頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

北京理工大學珠海學院2014屆本科生畢業(yè)設(shè)計微信智能點餐餐飲管理系統(tǒng)的設(shè)計與實現(xiàn)學院:專業(yè):姓名:指導老師:計算機學院軟件工程陳超學號:職稱:100202051036魏志軍講師中國·珠海二○一四年五月北京理工大學珠海學院2014屆本科生畢業(yè)設(shè)計誠信承諾書本人鄭重承諾:本人承諾呈交的畢業(yè)設(shè)計《微信智能點餐餐飲管理系統(tǒng)的設(shè)計與實現(xiàn)》是在指導教師的指導下,獨立開展研究取得的成果,文中引用他人的觀點和材料,均在文后按順序列出其參考文獻,設(shè)計使用的數(shù)據(jù)真實可靠。本人簽名:日期:年月日微信智能點餐餐飲管理系統(tǒng)的設(shè)計與實現(xiàn)摘要隨著餐飲行業(yè)的迅猛發(fā)展,近年來其經(jīng)營管理模式也在不斷發(fā)展和創(chuàng)新,信息化的管理技術(shù)能為餐飲企業(yè)帶來真正業(yè)務(wù)上的提升,快速解決營運上的諸多難題。微信,是當今最火的移動社交軟件,微信5.0以后,重磅推出微信官方公眾號,基于其6億多的用戶量,假若能將微信與餐飲點餐結(jié)合起來,無疑是一個集營銷以及信息化管理的餐飲行業(yè)的革命性的入口,更是一個O2O模式的入口。微信點餐的魅力和商機不言而喻,將是一個巨大的行業(yè)市場。因此,此次的微信點餐餐飲系統(tǒng)的設(shè)計與實現(xiàn)正是在此背景下誕生的.用微信點餐,不僅提高了餐廳的檔次,體現(xiàn)了差異性,也通過微信這個6億多用戶的社交軟件,打造了自己餐廳的亮點,無疑是一個很好的營銷廣告手段。并且平時通過微信公眾平臺,可以將一些優(yōu)惠信息推廣給用戶,更是一個很好的廣告平臺,大大提高了用戶粘度。使用微信點餐代替菜譜,這就省去了定期更換紙質(zhì)菜譜的費用和時間。微信點餐,顧客只需在餐廳掃一掃該餐廳的微信公眾賬號2微碼,關(guān)注該餐廳的微信公眾賬號。選擇點餐,便可看到各式菜肴照片、口感介紹和營養(yǎng)成分介紹.只要輕輕一點,所有訂單主動上傳到廚房,無需服務(wù)員在旁邊等候,效率大大的提高。點完菜后,系統(tǒng)會自動顯示菜品清單和待支付金額,讓消費者盡情享受卓越的用戶體驗。并且餐廳管理員通過后臺可以即時看到用戶下單信息以及支付信息。本課題是設(shè)計與實現(xiàn)一個微信點餐系統(tǒng),提高餐飲行業(yè)的信息化管理,節(jié)省人力、控制成本、提升工作效率的特點。為廣大餐飲行業(yè)提供了高效的餐飲信息化服務(wù),營銷服務(wù)。該系統(tǒng)功能模塊包括:1) 系統(tǒng)后臺管理模塊;2) 微信端點單模塊;3) 移動端營銷推廣模塊;4) 移動端會員卡模塊;5) 營業(yè)統(tǒng)計模塊;關(guān)鍵詞:微信點餐微信公眾平臺PHPThinkPHPMVCTheDesignAndImplementofWechatOrderingFoodAndCateringManagementSystemAbstractInrecentyearswiththerapiddevelopmentofcateringindustry,itsmanagementpatternisalsocontinuallydeveloping.Theinformationmanagementintechnologycanbringrealbusinesspromotionforthecateringindustryandquicklysolvemanyproblems。Wechatisthemostpopularmobilesocialsoftwaretoday。Afterits5.0version,thepublicplatformwasreleased.Basedonmorethan600millionusersusingwechat,ifwecancombinewechatandthecateringfororderingfood,itwasanewislandforthecateringindustry,eventcanbeaentranceoftheOnlinetoOfflinemode.Itgoeswithoutsayingthatthemarketwouldbeahugebyusingwechattoorderfood。Therefore,thewechatorderingcateringsystemdesignandimplementationwasborninthisbackground。Byusingwechattoorderfood,notonlyimprovetheleveloftherestaurant,butalsomakethedifferentthroughthis6millionuserssocialnetworksoftware.Itisagoodwayofmarketingandadvertisingtomakeyourrestaurantdifferent..Evencansendsomesalesmessagetotheusersbywechat,itwasagoodplatformforadvertisinganditcanimprovetheuserstickiness。Byusingwechatfororderingfoods,itcansavethecostforchangesmenuwhichinpaperinsteadofusingelectronicmenu。Whenuserusingwechatfororderfood,theyonlyneedtoscanthetwo—dimensionalcodeoftherestaurant`swechatpublicplatform,becomethefansandcanstartorderingfoods。Whenuserusingwechatorderingfoods,hecanseeallthefood`spictureandintroductioninhisphone。Itisveryconveniencethatonlyneedmoveyourfingerthentheorderwillautosendtothekitchen,noneedthewaiterwaitingforcustomerfinishedhisordering。Byusingwechatfororderingfoods,itwillimprovetheefficiencyfortheprocessoforderingfoods。Afterorderingfoods,thewechatwilldisplaythelistofthefoodsandmoneywhichusersordered.Anditwasafantasticuserexperience.TherestaurantmanagercanseetheorderandpaymentmessageofusersThisprojectofdesignandimplementawechatorderingsystemisforimprovetheinformatizationofthecateringindustry,savethehumanresourcesandcontrolthecost。Thissystemcontains5modulesinbelow:Adminmanagemodule;Wechatorderingmodule;Marketingandadvertingmodule;Membersystem;Businessstatisticsmodule;Keywords:Wechatordering;Wechatpublicplatform;PHP;ThinkPHP;MVC目錄TOC\o”1-3"\h\z\u_Toc387592369”1。1本設(shè)計的目的以及研究意義 1_Toc387592371”1.3微信點餐的未來發(fā)展趨勢 2HYPERLINK\l”_Toc387592372"2需求分析 4_Toc387592374”2.1.1用戶需求 42.1。2功能需求 52。2詳細需求分析 52.2。1系統(tǒng)參與者 5HYPERLINK\l”_Toc387592378”2.2。2系統(tǒng)用例 62.3領(lǐng)域類圖 13HYPERLINK\l”_Toc387592381”3概要設(shè)計 14HYPERLINK\l”_Toc387592382"3.1技術(shù)選型 143.2功能模塊劃分 14HYPERLINK\l”_Toc387592384”3。2。1用戶功能模塊 14HYPERLINK\l”_Toc387592385”3.2。2系統(tǒng)管理員功能模塊 16_Toc387592387"3。3系統(tǒng)架構(gòu) 17HYPERLINK\l”_Toc387592388"3.4包圖 18HYPERLINK\l”_Toc387592389"3.5類圖 203。6數(shù)據(jù)庫設(shè)計與實現(xiàn) 21HYPERLINK\l”_Toc387592391"3.6。1數(shù)據(jù)庫E—R圖 213.6。2數(shù)據(jù)庫設(shè)計 23HYPERLINK\l”_Toc387592393”3.6。3數(shù)據(jù)邏輯結(jié)構(gòu)設(shè)計 24HYPERLINK\l”_Toc387592394”3.7部署圖 284詳細設(shè)計 294.1微信公眾號接口設(shè)計與實現(xiàn) 294.2系統(tǒng)各功能詳細設(shè)計 31HYPERLINK\l”_Toc387592398”4。2.1用戶注冊與登錄設(shè)計與實現(xiàn) 31HYPERLINK\l”_Toc387592399"4。2。2添加微信號功能設(shè)計與實現(xiàn) 334。2.3微信訂餐功能設(shè)計與實現(xiàn) 37HYPERLINK\l”_Toc387592401"5安裝測試 41HYPERLINK\l”_Toc387592402"5。1運行環(huán)境簡介 415。2測試計劃 415。3測試過程與結(jié)果 42HYPERLINK\l”_Toc387592405”5.3.1注冊功能測試 425.3。3查看菜品分類功能測試 44HYPERLINK\l”_Toc387592408"5.3.4點餐下單功能測試 46_Toc387592410"5.4.1系統(tǒng)存在的不足 48HYPERLINK\l”_Toc387592411”5。4.2改進方案 48HYPERLINK\l”_Toc387592412"參考文獻 49附錄 51_Toc387592416”附錄二:處理微信用戶在微信客戶端輸入“訂餐”關(guān)鍵字代碼: 52HYPERLINK\l”_Toc387592417”附錄三:微信點餐微信端點單動態(tài)數(shù)量變化ajaxjs代碼: 53PAGE361前言隨著餐飲行業(yè)的迅猛發(fā)展,近年來其經(jīng)營管理模式也在不斷發(fā)展和創(chuàng)新,信息化的管理技術(shù)能為餐飲企業(yè)帶來真正業(yè)務(wù)上的提升,快速解決營運上的諸多難題。微信,是當今最火的移動社交軟件,微信5。0以后,重磅推出微信官方公眾號,基于其6億多的用戶量,假若能將微信與餐飲點餐結(jié)合起來,無疑是一個集營銷以及信息化管理的餐飲行業(yè)的革命性的入口,更是一個O2O模式的入口。微信點餐的魅力和商機不言而喻,將是一個巨大的行業(yè)市場。因此,此次的微信點餐餐飲系統(tǒng)的設(shè)計與實現(xiàn)正是在此背景下誕生的。1。1本設(shè)計的目的以及研究意義本課題是設(shè)計與實現(xiàn)一個微信點餐系統(tǒng),用微信點餐,不僅提高了餐廳的檔次,體現(xiàn)了差異性,也通過微信這個6億多用戶的社交軟件,打造了自己餐廳的亮點,無疑是一個很好的營銷廣告手段.并且平時通過微信公眾平臺,可以將一些優(yōu)惠信息推廣給用戶,更是一個很好的廣告平臺,大大提高了用戶粘度.使用微信點餐代替菜譜,這就省去了定期更換紙質(zhì)菜譜的費用和時間.微信點餐,顧客只需在餐廳掃一掃該餐廳的微信公眾賬號2微碼,關(guān)注該餐廳的微信公眾賬號。選擇點餐,便可看到各式菜肴照片、口感介紹和營養(yǎng)成分介紹.只要輕輕一點,所有訂單主動上傳到廚房,無需服務(wù)員在旁邊等候,效率大大的提高。點完菜后,系統(tǒng)會自動顯示菜品清單和待支付金額,讓消費者盡情享受卓越的用戶體驗.并且餐廳管理員通過后臺可以即時看到用戶下單信息以及支付信息。為廣大餐飲行業(yè)提供了高效的餐飲信息化服務(wù),營銷服務(wù)。該系統(tǒng)功能模塊包括:1) 系統(tǒng)后臺管理模塊;2) 微信端點單模塊;3) 移動端營銷推廣模塊;4) 移動端會員卡模塊;1。2餐飲點餐的研究現(xiàn)狀餐飲行業(yè)是一個傳統(tǒng)的行業(yè),占據(jù)了人們衣食住行中的其中一項.且自古以來就一直存在,所以這個一個生命周期,生命力極強的行業(yè)。而今年來隨著互聯(lián)網(wǎng),IT技術(shù)的發(fā)展,餐飲行業(yè)也融入了越來越多的科技元素.從餐飲管理系統(tǒng),PC端的點餐系統(tǒng),到后來的平板點餐等.點餐系統(tǒng)不斷地再發(fā)展,為的都是一個目的,讓商家節(jié)省人力成本,讓顧客有更好的點餐體驗。減少人員不足,排隊等候的麻煩,以及一旦菜單更改,還需要全部更換餐廳的菜單。這無疑是一個比較大的成本,而采用電子點餐系統(tǒng),電子菜譜,則可以避免這個問題,而且不管是圖片還是接受,都可以更加詳細,美觀,而且環(huán)保,避免了紙張菜單的浪費.并且傳統(tǒng)點餐系統(tǒng)還有一個需要人工進行記賬,營業(yè)統(tǒng)計等缺點。而采用電子點餐系統(tǒng)則可以很方便地查看信息,自動進行統(tǒng)計。 餐飲電子點餐的發(fā)展的也是有一定歷史了,這個行業(yè)可以革新的地方已經(jīng)較少了,趨于穩(wěn)定化。以前的點餐系統(tǒng)是針對商家的使用方便進行設(shè)計的,而以后的點餐可能將結(jié)合顧客的喜歡,且更多地結(jié)合營銷手段。讓客人在點餐時更有樂趣,只有這樣,才能體現(xiàn)出餐廳的差異性,提高收入。1.3微信點餐的未來發(fā)展趨勢基于微信以及微信公眾平臺的發(fā)展趨勢,以及餐飲行業(yè)的特點,可以總結(jié)出利用微信點餐有以下幾點特點:1、微信具有普遍性微信用戶已達4億,它的普及和使用率之高,并繼續(xù)呈幾何極數(shù)的增長,據(jù)預(yù)測,2015年微信用戶將達到8億。2、微信具有通用性大型商家有能力可以開發(fā)自己的APP(手機軟件),但APP需要用戶去下載安裝,即耗費時間和流量,又占用手機的存儲空間。402739D51鵑392969980馀29195720B爋28749704D灍7BF}微信自身擁有多平臺版本(安卓、IOS、WinPhone、黑莓以及web版),你的網(wǎng)站只要能在微信上跑起來,就無需擔心是否能兼容用戶手機的問題。任何層次和級別的手機只要能裝上微信就能使用你的點單系統(tǒng)。只需輕掃一下二維碼,4億用戶的微信將成為你的免費推廣平臺,讓用戶幫你口碑營銷。來客數(shù)、活躍數(shù),一切都來得那么自然.3、節(jié)約人力資源主要針對餐廳服務(wù)人員費用使用微信自助服務(wù)點餐,訂單全部自動生成打印,無需人工值守服務(wù)。4、節(jié)約推廣費用微信外賣營銷系統(tǒng),一次推廣即可,消費者只需要掃一掃,商家全部信息,都保存在消費者微信內(nèi),商家每天可免費推送訂餐提示或促銷信息。5、增加盈利能力主要體現(xiàn)在提升經(jīng)營能力與費用節(jié)約通過對自助服務(wù)的推廣,做到全程標準化運作,既縮減了費用,又留住固有消費者,不斷的刺激消費者,擴大需求,增加盈利能力。6、二維碼訂閱微信掃一掃二維碼,或手動添加:朋友們-添加朋友—輸入賬號,完成訂閱,讓微信用戶隨手訂閱。7、消息推送通過用戶分組和地域控制,實現(xiàn)精準的消息推送,直指目標用戶。8、品牌傳播借助個人關(guān)注頁和朋友圈,傳播推廣,實現(xiàn)品牌的傳播。我們可以推斷出,利用微信點餐未來可能是餐飲行業(yè)的一個不錯的發(fā)展趨勢,只要微信這個應(yīng)用存在,以及它生態(tài)不斷地擴大。將來不單單只是下單點餐,結(jié)合其本身更大的營銷推廣特點以及O2O的模式,將能給商家?guī)砀嗟睦麧?2需求分析2。1需求綜述4367868FB2農(nóng)`BP_305357747睇本微信點餐系統(tǒng)是一個基于時下最熱的IM軟件微信為平臺的點餐系統(tǒng),利用微信龐大的用戶群體作為系統(tǒng)入口。結(jié)合當下移動互聯(lián)網(wǎng)熱潮以及O2O模式,利用該微信點餐系統(tǒng),能夠更好地提高餐飲服務(wù)的標準以及信息化程度,為客戶帶來更好的點餐體驗,結(jié)合微信本身的營銷推廣特征,更好得為餐廳推廣以及節(jié)約成本提高盈收。本系統(tǒng)的設(shè)計與實現(xiàn)與時下流行的社交軟件—微信進行交互的點餐系統(tǒng),提高餐飲行業(yè)的信息化管理,節(jié)省人力、控制成本、提升工作效率的特點。為餐飲行業(yè)商家提供了高效的餐飲信息化服務(wù),營銷服務(wù)。2.1。1用戶需求 該系統(tǒng)的用戶主要有2類,一類用戶是餐廳商家,一類用戶是去到餐廳使用微信點餐的用戶。 針對餐廳商家這類用戶類說,使用微信點餐,他們能夠減少員工的數(shù)量,只需少部分引導人員將顧客引導到座位上。座位上需要帖個2微碼,讓用戶掃描關(guān)注商家微信號,就可以使用微信進行點餐。顧客將直接在手機上面進行菜單瀏覽以及下單,成功下單后服務(wù)員過來確認下單。這無疑給一些生意很火爆,但人手不足的餐廳帶來很大的方便.而且使用傳統(tǒng)的菜單,一旦某個菜的價格改變或在菜單改變,都需要重新印制大量的菜單,使用微信點餐,只需要在后臺進行修改就可以更換菜單。而且當顧客關(guān)注了商家的微信公眾號后,以后商家可以再公眾號與顧客進行互動,相當于免費的短信平臺,一旦出了新品或者優(yōu)惠活動,可以迅速推送給顧客. 對于來到餐廳消費的用戶來說,他們希望能夠有一種體驗好,不用排隊等候,并且新穎的點餐方式.他們只需要去到餐廳座位,不需要等候服務(wù)員過來點餐,而只需要掏出手機掃一掃二維碼,關(guān)注后進入點餐頁面就可以方便地點餐.而且這種新穎的方式也會吸引到他們。下單后,服務(wù)員在后臺看到訂單打印出來后拿給顧客確認,即完成了點餐流程。后來還可以加入在線支付功能,用戶甚至不需要帶錢包,只要綁定了微信支付或者支付寶,直接下單即可完成支付.但顧客想預(yù)訂位置,且想事先點好菜,以往只能是去到餐廳才能點餐,而是用微信點餐,顧客可以隨后隨地得用微信點餐下單預(yù)訂位置.收到顧客預(yù)訂后,服務(wù)員通過顧客留下的聯(lián)系方式進行確認.以及事先準備好顧客的訂單(提前在線支付)。2.1.2功能需求該系統(tǒng)功能模塊包括:1)微信公眾號基本回復(fù)模塊:該模塊可以設(shè)置用戶微信公眾號文本回復(fù),圖文回復(fù),關(guān)注回復(fù),語音回復(fù)等;2)微信公眾號微網(wǎng)站模塊:該模塊用于展示商家微信號官方微站給微信用戶,可設(shè)置微站內(nèi)容分類,微站首頁滑動幻燈片,微站模板等;3)微信點餐模塊:該模塊用于關(guān)注商家微信公眾賬號的用戶在商家微信號上進行點餐操作,是該系統(tǒng)的核心功能。4)營銷推廣模塊:該模塊主要有刮刮卡、轉(zhuǎn)盤、優(yōu)惠劵等抽獎模塊。這些模塊通過讓微信用戶在關(guān)注商家微信號后,在微信端參與商家的活動,從而提高用戶粘度以及體驗性;5)會員卡模塊:該模塊主要用于讓商家的客戶領(lǐng)取微信會員卡,以及商家微信會員的消費積分設(shè)置,以及會員權(quán)限,優(yōu)惠折扣等.6)營業(yè)統(tǒng)計模塊:該模塊主要用于統(tǒng)計微信訂餐營業(yè)的數(shù)據(jù),以及微信用戶在微信會員卡積分消費的情況。2。2詳細需求分析2.2.1系統(tǒng)參與者a)用戶(餐廳商家)餐廳商家,商家通過注冊登錄使用該微信點餐管理系統(tǒng),可以實現(xiàn)添加微信公眾號并綁定連通好該訂餐系統(tǒng),設(shè)置微信公眾號消息回復(fù)功能,微信訂餐功能以及開通營銷推廣模塊(抽獎游戲)、微信會員卡功能.408049F64齤398279B93鮓29726741E琞i'vb)微信用戶關(guān)注該商家微信公眾號的用戶,可以實現(xiàn)查看該商家公眾號官網(wǎng)、了解最新信息、訂餐、訂位、參加活動抽獎以及領(lǐng)取會員卡、簽到領(lǐng)取積分功能c)訂餐系統(tǒng)管理員該系統(tǒng)是一個多用戶的微信點餐管理系統(tǒng)。系統(tǒng)管理員具有審核用戶注冊,管理每一個用戶(商家)是否具有開通微站、訂餐、會員卡、抽獎模塊的權(quán)限。2。2。2系統(tǒng)用例圖2。2。1。1用戶(商家)用例圖2.2。1。2系統(tǒng)管理員用例圖微信用戶用例2.2.3具體用例分析UC01:注冊與登錄用戶(商家)要想使用該微信點餐系統(tǒng)必須先擁有自己的微信公眾號,然后在該微信點餐系統(tǒng)上面進行賬號注冊,后臺管理員會根據(jù)注冊信息判斷是否同意注冊。只有后臺管理員通過其注冊后,商家才能使用其注冊的賬號進行登錄a)用戶注冊功能用例用例描述:用戶(商家)在本系統(tǒng)注冊帳號.參與者:用戶(商家)。基本流程:(1)用戶在登錄界面選擇注冊。(2)系統(tǒng)返回一個注冊頁面。(3)用戶根據(jù)提示輸入相關(guān)注冊信息.(4)用戶提交注冊信息。U323217E41繁206275093傓h3812594ED銘(5)系統(tǒng)返回注冊成功貞面并跳轉(zhuǎn)到登錄首頁.變化流程:(1)用戶輸入信息和系統(tǒng)確認不一致,如字段過長,密碼重復(fù)不一致,郵箱格式錯誤,系統(tǒng)給出相應(yīng)提示.返回注冊.(2)用戶輸入帳號是已經(jīng)注冊帳號,系統(tǒng)給出提示“該用戶名已經(jīng)存在"。b)用戶登錄功能用例用例描述:用戶(商家)選擇本系統(tǒng)登錄,系統(tǒng)進行相關(guān)的系統(tǒng)驗證。參與者:用戶(已注冊商家).前置條件:用戶必須是本系統(tǒng)的成功注冊用戶.基本流程:(1)會員選擇登錄。(2)用戶輸入用戶名和密碼并提交。(3)系統(tǒng)進行系統(tǒng)驗證,驗證成功.記錄該用戶為登錄用戶并返回主頁面(顯示已登錄)。UC02:添加微信號用戶(商家)在登錄該系統(tǒng)后,需要將其在騰訊微信公眾平臺申請的微信公眾賬號與微信訂餐系統(tǒng)進行打通。其方法就是在登錄后,選擇添加微信公眾賬號,填寫商家其已經(jīng)申請好的微信公眾賬號信息。填寫完畢生成后,該微信訂餐系統(tǒng)會自動生成一個接口信息(url跟token),用戶只需要將該接口信息填寫至微信公眾平臺的高級設(shè)置-開發(fā)者模式的url跟token表單中,提交即讓該公眾賬號與微信訂餐平臺連通。a)系統(tǒng)添加微信號功能用例用例描述:用戶(商家)通過在系統(tǒng)添加微信號從而使其微信號與該系統(tǒng)連通參與者:用戶(商家)、微信公眾賬號服務(wù)器z3353628A22訢313437A6F穯314287AC4竄R34107853B蔻基本流程:(1)用戶選擇添加微信公眾號,輸入公眾號基本信息。(2)訂餐系統(tǒng)自動生成接口信息返回給用戶(token、url)(3)用戶將訂餐系統(tǒng)生成的接口信息填寫到微信公眾賬號平臺的—高級功能-開發(fā)者模式的接口信息那里。即可實現(xiàn)訂餐系統(tǒng)與微信公眾號的連通。變化流程:(1)假如微信訂餐系統(tǒng)的服務(wù)器沒反應(yīng)或者token、url出錯,則在微信公眾賬號填寫訂餐系統(tǒng)的接口信息后會提示服務(wù)器無響應(yīng)或連接失敗。UC03:設(shè)置微信官網(wǎng)微信官網(wǎng)是一個公眾號必備的功能模塊之一,是一個展示商家形象與實力的功能。用戶(商家)通過添加公眾號后,連通微信公眾平臺與微信訂餐系統(tǒng),使用微網(wǎng)站設(shè)置功能,即可打造一個屬于自己的微網(wǎng)站。a)設(shè)置微官網(wǎng)功能用例用例描述:用戶通過微信訂餐系統(tǒng)設(shè)置其公眾號官網(wǎng)參與者:用戶(商家)基本流程:(1)用戶選擇“首頁回復(fù)設(shè)置”功能,設(shè)置微網(wǎng)站回復(fù)關(guān)鍵字等信息。(2)微信訂餐系統(tǒng)根據(jù)用戶輸入的關(guān)鍵字以及相關(guān)信息,與微信公眾賬號服務(wù)器連通,為該商家的微信號添加一個關(guān)鍵字,回復(fù)給關(guān)注該公眾號的微信使用者一個圖文信息(3)關(guān)注該商家微信號的微信用戶在其公眾平臺輸入關(guān)鍵字,返回一條圖文信息,內(nèi)容為在訂餐系統(tǒng)設(shè)置的內(nèi)容.(4)微信使用者點擊該圖文信息,即通過該圖文的連接跳轉(zhuǎn)到位于微信訂餐系統(tǒng)服務(wù)器上該商家的微信官網(wǎng)頁面。變化流程:(1)輸入關(guān)鍵字如果在數(shù)據(jù)庫沒找到該關(guān)鍵字對應(yīng)的官網(wǎng)信息,則不通過微信返回給關(guān)注該商家公眾號的使用者圖文信息。UC04:設(shè)置使用微信訂餐微信訂餐功能是該微信訂餐系統(tǒng)的核心功能。用戶(商家)通過設(shè)置微信訂餐回復(fù)關(guān)鍵字,以及商家餐廳信息.并且設(shè)置菜品分類,菜品信息(名稱、圖片),餐桌信息等。微信用戶只要關(guān)注該商家的微信公眾賬號,即可通過輸入訂餐關(guān)鍵字,通過微信公眾號返回的訂餐圖文入口進去點餐頁面.a)微信訂餐功能用例用例描述:客戶(微信用戶)通過商家微信公眾平臺進行訂餐367018F5D轝2249857E2埢256236417搗328528054聯(lián)^d參與者:客戶(微信用戶),用戶(商家微信)前置條件:用戶(商家)必須是在微信訂餐系統(tǒng)通過注冊且開通設(shè)置好微信訂餐功能的基本流程:(1)用戶(餐廳商家)通過登錄微信訂餐系統(tǒng),開通設(shè)置微信訂餐功能(2)添加設(shè)置菜品分類,桌臺信息,菜品信息等(3)客戶通過在該商家公眾號上輸入關(guān)鍵字進入微信訂餐界面(4)客戶通過在訂餐界面進行菜品選擇添加到購物車UC05:購物車與訂單管理客戶(微信用戶)通過訂餐頁面訂餐后,選擇其需要的菜品,然后添加進入購物車。在購物車里面,用戶可以看其所點的菜以及總數(shù)量總金額,還可以對其訂單進行修改。選擇每個訂單項的“+”,“-”按鈕對訂單數(shù)量修改,其在購物車里的總金額以及數(shù)量會跟著改變。購物車的數(shù)據(jù)并沒保存到數(shù)據(jù)庫,而是采用cookie的方式保存到用戶的微信瀏覽器中.客戶確認購物車菜品無誤后,即選擇其訂單的模式,是在餐廳就餐或是外賣,或是預(yù)訂,并且填寫用戶的個人信息,如名字,聯(lián)系方式等.若下了訂單后,客戶不滿意,可對訂單進行刪除修改等操作a)購物車功能用例用例描述:對選擇的菜品添加進購物車參與者:客戶(關(guān)注該商家微信號的微信用戶)前置條件:該商家的微信號必須通過微信訂餐系統(tǒng)設(shè)置好微信訂餐功能。基本流程:(1)用戶進入微信點餐頁面點餐并添加入購物車(2)對購物車里的商品進行修改、刪除,篩選后確認下單。b)訂單功能用例用例描述:對在購物車確認好的菜品信息進行下單,對訂單修改以及選擇填寫客戶相關(guān)信息等.參與者:用戶(微信用戶)前置條件:用戶的購物車必須存在至少一件的菜品以及開通訂餐功能2553963C3揃E358938C35譫318747C82粂,*401899CFD鳽基本流程:(1)用戶在購物車確認菜品信息后選擇下單 (2)確認下單后顯示此單數(shù)量,金額以及就餐方式,用戶聯(lián)系方式等。(3)用戶可對訂單做出修改刪除等操作UC06:推廣活動功能當用戶(商家)需要通過一些活動來吸引用戶的關(guān)注或者配合其餐廳的營銷推廣時,可在該微信訂餐系統(tǒng)上面開通推廣活動,如大轉(zhuǎn)盤、優(yōu)惠券、刮刮卡.通過設(shè)置推廣活動的關(guān)鍵詞以及類型、名稱、獎項等信息.客戶(微信用戶)關(guān)注商家的公眾號后,輸入關(guān)鍵字即可參與到該餐廳的推廣活動,比如刮刮卡抽獎,大轉(zhuǎn)盤抽獎,領(lǐng)取該餐廳的優(yōu)惠券等。這無疑是一個非常好的營銷推廣方法,又吸引了人來關(guān)注餐廳的微信號,也可以跟用戶進行互動,提高用戶粘度。用戶通過在朋友圈轉(zhuǎn)發(fā)該優(yōu)惠推廣活動,無疑是一個免費的廣告,大大能夠擴大該商家的知名度以及廣告效果。a)大轉(zhuǎn)盤功能用例用例描述:使用大轉(zhuǎn)盤抽取獎品參與者:客戶(微信使用者)前置條件:客戶必須關(guān)注該商家的微信公眾號,商家必須在系統(tǒng)開通大轉(zhuǎn)盤功能。基本流程:(1)客戶在該商家的微信公眾賬號里輸入該活動關(guān)鍵字.(2)微信服務(wù)器將關(guān)鍵字返回到訂餐系統(tǒng),系統(tǒng)根據(jù)關(guān)鍵字返回特定內(nèi)容的圖文入口,這里則返回一個大轉(zhuǎn)盤抽獎活動的webmobile頁面地址。(3)客戶點擊該圖文進入大轉(zhuǎn)盤抽獎界面,點擊開始抽獎。(4)系統(tǒng)按照一定中獎概率返回結(jié)果,若中獎則添加個人資料,方便到商家處領(lǐng)獎.b)刮刮卡功能用例用例描述:使用刮刮卡刮獎[2302959F5姵%389349816頖Kp238375D1D崝37679932F錯參與者:客戶(微信使用者)前置條件:客戶要關(guān)注該商家的公眾號,商家必須設(shè)置好刮刮卡功能?;玖鞒蹋?1)客戶在該商家的微信公眾賬號里輸入該活動關(guān)鍵字。(2)微信服務(wù)器將關(guān)鍵字返回到訂餐系統(tǒng),系統(tǒng)根據(jù)關(guān)鍵字返回刮刮卡的圖文入口,這里則返回一個刮刮卡活動的頁面地址。(3)客戶點擊該圖文進入刮刮卡抽獎界面,刮屏抽獎。(4)系統(tǒng)按照一定中獎概率返回結(jié)果,若中獎則添加個人資料,方便到商家處領(lǐng)獎。c)優(yōu)惠券功能用例用例描述:領(lǐng)取優(yōu)惠券參與者:客戶(微信使用者)前置條件:客戶必須是商家微信號的關(guān)注者,商家必須開通優(yōu)惠券功能?;玖鞒蹋?1)客戶在該商家的微信公眾賬號里輸入優(yōu)惠券關(guān)鍵字。(2)系統(tǒng)返回一個優(yōu)惠券圖文入口.(3)客戶點擊該圖文進入領(lǐng)取優(yōu)惠券頁面(4)優(yōu)惠券數(shù)量有限,按照先領(lǐng)先得的順序,且每個優(yōu)惠券有一個唯一的標識碼,通過這個標識碼商家可以與后臺發(fā)放出去的優(yōu)惠券進行匹配使用優(yōu)惠券.2704769A7榧2607065D6旖215205410吐210745252剒B380419499鈣3455386F9蛹407209F10鼐2.3領(lǐng)域類圖圖2.3.1領(lǐng)域類圖領(lǐng)域類說明(1)用戶(商家):使用該點餐系統(tǒng)的直接用戶,可以通過該微信點餐系統(tǒng)開發(fā)自己的微信公眾賬號,通過設(shè)置使其具備官網(wǎng),訂餐,會員卡等功能。(2)微信用戶:關(guān)注商家微信號的,通過關(guān)鍵字與商家微信號進行互動,從而獲得商家微信號再微信訂餐系統(tǒng)匹配關(guān)鍵字后返回的圖文信息,微信用戶可以點擊圖文進入具體功能頁面。(3)系統(tǒng)管理員:本系統(tǒng)的管理員,擁有最高權(quán)限??梢詫徍擞脩舻淖陨暾堃约肮芾碛脩艄δ軝?quán)限。(4)微信服務(wù)器:負責微信點餐系統(tǒng)與微信用戶通過微信客戶端間的交互(5)微信點餐系統(tǒng):通過用戶設(shè)置好的功能模塊的生成mobileweb網(wǎng)站,從微信服務(wù)器獲取用戶輸入的關(guān)鍵字并返回具體消息。記錄微信用戶點餐的訂單以及其他信息。3概要設(shè)計3.1技術(shù)選型主要使用開源框架ThinkPHP+apache+mysql來實現(xiàn)本系統(tǒng)。ThinkPHP是一個快速、簡單的基于MVC和面向?qū)ο蟮妮p量級PHP開發(fā)框架,遵循Apache2開源協(xié)議發(fā)布,從誕生以來一直秉承簡潔實用的設(shè)計原則,在保持出色的性能和至簡的代碼的同時,尤其注重開發(fā)體驗和易用性,并且擁有眾多的原創(chuàng)功能和特性,為WEB應(yīng)用開發(fā)提供了強有力的支持.ThinkPHP基于MVC(Model-View—Controller,模型-視圖—控制器)模式,并且均支持多層(multi-Layer)設(shè)計。在MVC三層中,ThinkPHP并不依賴M或者V,甚至可以只有C或者只有V,這個在ThinkPHP的設(shè)計里面是一個很重要的用戶體驗設(shè)計,用戶只需要定義視圖,在沒有C的情況下也能自動識別。3.2功能模塊劃分系統(tǒng)按照三種角色劃分三種功能模塊結(jié)構(gòu),包括:用戶功能模塊、系統(tǒng)管理員模塊、微信用戶模塊,如下為各個模塊的功能簡介:3.2.1用戶功能模塊圖3.2。1用戶功能模塊結(jié)構(gòu)圖描述:3=g394659A29騩277716C7B汻j22860594C奌注冊:用戶注冊登錄:用戶登錄基本回復(fù)管理:用戶與微信公眾號回復(fù)交互管理關(guān)注時回復(fù):微信用戶關(guān)注商家微信公眾號的回復(fù)設(shè)置文本回復(fù):微信用戶輸入關(guān)鍵字商家公眾號匹配回復(fù)的文本圖文回復(fù):微信用戶輸入關(guān)鍵字商家公眾號匹配回復(fù)的圖文添加圖文刪除圖文修改圖文設(shè)置微站:用戶打造其微信官網(wǎng)微信訂餐設(shè)置:微信訂餐回復(fù)設(shè)置:用于設(shè)置微信用戶使用訂餐關(guān)鍵字以及回復(fù)內(nèi)容餐桌管理:設(shè)置該餐廳用于微信訂餐或者預(yù)訂的餐桌菜品分類管理:用戶設(shè)置該餐廳用于微信訂餐的菜品分類菜品管理:添加菜品刪除菜品修改菜品331298169腩2660167E9柩220515623嘣t384879657陗3857296AC隬p-訂單管理查看訂單操作訂單刪除訂單營銷推廣活動設(shè)置:刮刮卡設(shè)置大轉(zhuǎn)盤設(shè)置優(yōu)惠券設(shè)置微信會員卡設(shè)置:設(shè)置微信會員卡卡面發(fā)放微信會員卡數(shù)量查看微信領(lǐng)卡會員資料3.2。2系統(tǒng)管理員功能模塊圖3。2.2系統(tǒng)管理員功能模塊結(jié)構(gòu)圖描述:登錄:管理員登錄用戶管理:管理用戶添加用戶:添加用戶203394F73佳x3016275D2癢0Dv278456CC5泅q修改用戶信息:審核注冊用戶,修改用戶權(quán)限,資料。刪除用戶:刪除用戶設(shè)置微信公眾號管理:管理用戶添加的微信公眾號修改微信公眾號:修改該微信公眾號能使用的功能刪除微信公眾號:刪除用戶添加的微信公眾號3.2.2微信用戶功能模塊圖3.2.2微信用戶功能模塊結(jié)構(gòu)圖描述:關(guān)注公眾號:微信用戶關(guān)注商家微信公眾號查看公眾號微站:微信用戶瀏覽使用微信訂餐系統(tǒng)建設(shè)的微信微站使用微信點餐:使用微信點餐功能微信訂位:通過商家微信公眾號進行餐桌預(yù)訂微信訂餐:進入微信點餐界面,瀏覽菜品分類,添加進購物車,下單查看訂單:微信用戶查看自己已下的單(可以修改訂單,刪除訂單)3.3系統(tǒng)架構(gòu)圖3。3系統(tǒng)架構(gòu)圖描述:微信點餐系統(tǒng)客戶端用戶通過HTTP請求微信點餐系統(tǒng)服務(wù)器,進行訂餐功能以及其他功能的設(shè)置;微信點餐系統(tǒng)服務(wù)器采用ThinkPHP的Action來處理來自微信點餐系統(tǒng)客戶端跟微信服務(wù)器的請求,再通過調(diào)用model與數(shù)據(jù)庫進行交互.3。4包圖R30078757E畾199774E09三21148529C劜.O圖3.4包圖包圖描述:包名描述包括下層wxording工程iMicro,iMicrodata,themesimicro整個工程后臺代碼Lib,_Core包名描述包括下層Lib項目后臺核心代碼Action,ORG,ModelAction?M>22572582C堬262286674晴gQ項目后臺ActionAdmin,Home,User,WapAdmin后臺管理員的ActionHome后臺首頁未登錄Action,以及微信端接口配置,請求響應(yīng)處理ActionUser后臺用戶操作ActionWap微信端用戶操作ActionORG第三方庫ModelModel層_CoreThinkPHP底層框架themes371379111鄑R2605965CB旋c243585F26弦整個工程前臺包Admin,User,Home,Wap,Static包名描述包括下層admin管理端前臺代碼Home用戶端未登錄前臺代碼User用戶端前臺代碼Wap移動端用戶前臺代碼Static靜態(tài)前臺代碼,可共用無iMicrodata269526948楈336508372荲367758FA7辧231035A3F娿2890770EB燙273996B07欇項目配置以及圖片上傳文件attachments,logs,conf包名描述包括下層attachments用戶文件上傳文件夾logs系統(tǒng)日志文件夾conf系統(tǒng)配置文件夾3.5類圖本系統(tǒng)是根據(jù)主要用戶類型進行分物理包層次的,主要劃分為:系統(tǒng)管理員代碼物理層;未登陸用戶代碼物理層;用戶(商家)代碼物理層;微信用戶代碼物理層。每個物理層再細分為:2659067DE柞261446620映22125566D噭_’zAction層:前臺與后臺交互層;Model層:數(shù)據(jù)庫低層操作層;由于每層結(jié)構(gòu)都是一樣,在此我們以微信用戶點餐模塊的類圖來分析,如下所示:圖3。5微信用戶點餐模塊類圖類圖描述:類名包/實現(xiàn)或繼承描述屬性/描述方法/描述ModelThinkPHP基礎(chǔ)Model類封裝了一系列與數(shù)據(jù)庫交互的屬性封裝了一系列與數(shù)據(jù)庫交互的方法ProductModelModel類與菜品數(shù)據(jù)對象Model_validate:自動校驗對象;274836B5B歛341818585薅Y291857201爁m:_auto:自動保存屬性gettoken():獲取session的token自動保存;getTime():獲取系統(tǒng)時間ProductCatModelModel類與菜品分類數(shù)據(jù)對象Model_validate:自動校驗對象;_auto:自動保存屬性gettoken():獲取session的token自動保存;ActionThinkPHP基礎(chǔ)Action類封裝了一系列與頁面交互屬性封裝了一系列與頁面交互的方法ProductActionAction負責點餐模塊與頁面交互,與model層交互token:微信公眾號標示;wecha_id:微信用戶唯一標示;381999537鍔372229166酦2712169F1槱266756833栳_2480460E4惤3097178FB磻product_model:菜品model;product_cat_model:菜品分類model;isDining:點餐標示__construct():構(gòu)造方法,用于構(gòu)造基本屬性;cat():菜品分類以及查看所有菜品方法;addProductToCart();點餐添加到購物車方法;calCartInfo():計算購物車數(shù)量價格;_getCart():獲取存在緩存中的購物車;orderCart():購物車;my():我的訂單3.6數(shù)據(jù)庫設(shè)計與實現(xiàn)根據(jù)前面列出的系統(tǒng)架構(gòu)圖、類圖、模塊劃分,開始設(shè)計數(shù)據(jù)庫.3.6。1數(shù)據(jù)庫E—R圖在數(shù)據(jù)庫技術(shù)中,我們用模型的概念描述數(shù)據(jù)庫的結(jié)構(gòu)與語義,對現(xiàn)實世界進行抽象。表示實體類型及實體間聯(lián)系的模型稱為“數(shù)據(jù)模型",其中之一就是實體聯(lián)系模型(ER模型)。ER模型是獨立于計算機系統(tǒng)的模型,完全不涉及信息在系統(tǒng)中的表示,只是用來描述某個特定組織關(guān)心的信息結(jié)構(gòu),這類模型稱為“概念數(shù)據(jù)模型”。在需求分析的基礎(chǔ)上對系統(tǒng)的數(shù)據(jù)庫進行詳細設(shè)計,數(shù)據(jù)庫設(shè)計中概念結(jié)構(gòu)設(shè)計尤為重要.數(shù)據(jù)庫概念結(jié)構(gòu)設(shè)計中比較常用的方法是實體一聯(lián)系方法,也就是E—R方法(Entity—RelationApproach).E-R圖是用來描述數(shù)據(jù)之間聯(lián)系的有效方法,有實體、屬性、聯(lián)系3種基本成分。(1)實體型:用矩形表示,矩形框內(nèi)寫明實體名(2)屬性:用橢圓型表示,并用無向邊與其相應(yīng)實體連接起來(3)聯(lián)系:用菱形表示,菱形框內(nèi)寫明聯(lián)系名,并用無向邊與其有關(guān)實體連接。f:2248757D7埗;38923980B頋9g$用戶用戶微信公眾號管理管理員管理微信點餐擁有菜品分類菜品餐桌關(guān)聯(lián)擁有訂單關(guān)聯(lián)1n1377539379鍹3320381B3膳'287387042灂288237097炗#*nn111n圖3。6。1微信點餐模塊E—R圖3。6.2數(shù)據(jù)庫設(shè)計基于上述的需求分析,需要設(shè)計下列各表.這些表之間相互關(guān)聯(lián).共同存儲著系統(tǒng)所需要的數(shù)據(jù).本系統(tǒng)數(shù)據(jù)庫wxorder中共有個數(shù)據(jù)庫表,表的名字和要存儲的內(nèi)容如表4-1所示。表3-6-2-1數(shù)據(jù)庫表序號數(shù)據(jù)庫表存儲內(nèi)容1imicro_areply存放商家設(shè)置的首次關(guān)注回復(fù)內(nèi)容2imicro_classify"g2301859EA姪302477627瘧394549A1E騞2070150DD僝T存放商家微官網(wǎng)分類信息3imicro_flash存放商家微官網(wǎng)首頁幻燈片信息4imicro_function存放商家的公眾號所具有的功能權(quán)限5imicro_home存放微信號首頁回復(fù)設(shè)置信息6imicro_keyword存放微信號關(guān)鍵詞設(shè)置信息7imicro_lettery存放推廣活動的設(shè)置信息8imicro_lettery_record239115D67嵧Gu332888208興292697255牕2935472AA犪zO存放推廣活動的中獎領(lǐng)獎記錄9imicro_member_card_contact存放會員卡上商家聯(lián)系方式地址等10imicro_member_card_create存放發(fā)放的會員卡信息以及領(lǐng)卡人信息11imicro_member_card_set存放微信會員卡卡面的圖片信息等12imicro_member_card_sign存放微信會員卡積分信息14imicro_other存放微信無法識別自動回復(fù)設(shè)置信息15imicro_productl204244FC8俈235495BFD寽363298DE9跩323957E8B纋q350748902褂存放微信訂餐菜品信息16imicro_product_cart存放客戶下單后的購物車信息17imicro_product_cart_list存放下單后每個購物車的詳細商品信息18imicro_product_cat存放菜品分類信息19imicro_product_dining_table存放訂餐桌臺信息20imicro_reply_info存放微信訂餐設(shè)置回復(fù)信息21imicro_requestdata

z398169B88鮈3937099CA駊298007468瑨T^存放微信用戶請求該商家公眾號信息22imicro_role存放微信訂餐系統(tǒng)用戶角色信息23imicro_text存放微信文字回復(fù)信息24imicro_img存放微信圖文回復(fù)信息25imicro_tokenopen存放微信賬號功能權(quán)限信息26imicro_user存放系統(tǒng)管理員信息27imicro_userinfo407099F05鼅5368608FFC迼tH217635503唃202554F1F偉存放微信會員卡信息28imicro_users存放商家注冊系統(tǒng)用戶信息29imicro_wxuser存放商家添加微信公眾號信息3.6.3數(shù)據(jù)邏輯結(jié)構(gòu)設(shè)計a)管理員數(shù)據(jù)表imicro_user字段含義類型是否為空備注id編號int(10)否30524773C眼239965DBC嶼403479D9B鶛399019BDD鯝j?38030948E釬3864696F6零主鍵username用戶名varchar(50)否password密碼char(32)否role組IDsmallint(6)否外鍵status狀態(tài)tinyint(1)否[27037699D榝;\256976461摡。B

remark備注說明varchar(255)是last_login_time最后登錄時間int(11)否last_login_ip最后登錄ipvarchar(15)是last_location最后登錄位置varchar(100)是b)用戶數(shù)據(jù)表imicro_users字段*30078757E畾199774E09三21148529C劜.O含義類型是否為空備注id編號int(11)否主鍵gid用戶組idint(11)否外鍵username用戶名varchar(60)否?M>22572582C堬262286674晴gQpassword密碼varchar(32)否email郵件varchar(90)否createtime創(chuàng)建時間varchar(13)否lasttime最后登錄時間varchar(13)否status激活狀態(tài)371379111鄑R2605965CB旋c243585F26弦varchar(1)否createip創(chuàng)建ipvarcahr(30)否lastip激活ipvarchar(30)否wechat_card_num可添加公眾號數(shù)量mediumint(4)否c)微信公眾號數(shù)據(jù)表imicro_wxuser字段含義269526948楈336508372荲367758FA7辧231035A3F娿2890770EB燙273996B07欇類型是否為空備注id微信號編號int(11)否主鍵uid用戶名int(11)否外鍵wxname微信名字varchar(60)否weixin2659067DE柞261446620映22125566D噭_’z微信號char(20)否wxid原始微信號varchar(20)否headerpic頭像圖片地址char(255)否token用戶微信號tokenchar(255)否province省varchar(30)274836B5B歛341818585薅Y291857201爁m:否city城市varchar(60)否qqqqchar(25)否wxfans賬號粉絲數(shù)int(11)否typeid微信號類型idint(11)否typename381999537鍔372229166酦2712169F1槱266756833栳_2480460E4惤3097178FB磻微信號類型名稱varchar(90)否createtime創(chuàng)建時間varchar(13)否tpltypeid首頁模板idvarchar(2)否updatetime更改時間varchar(13)否tpltypename首頁模板名稱varchar(20)f:2248757D7埗;38923980B頋9g$否homebgurl首頁背景圖片char(255)是tpllistid微站分類圖文列表模板idvarchar(2)否tpllistname微站分類圖文列表模板名稱varchar(20)否tplcontentid微站圖文模板idvarchar(2)否tplcontentname377539379鍹3320381B3膳’287387042灂288237097炗#*微站圖文模板名稱varchar(20)否allcardnum能開通會員卡數(shù)量int(11)否cardisok是否開通會員卡int(11)否totalcardnum已開通會員卡數(shù)量int(11)否d)訂餐回復(fù)設(shè)置數(shù)據(jù)表imicro_reply_info字段含義”g2301859EA姪302477627瘧394549A1E騞2070150DD僝T類型是否為空備注ididint否主鍵token用戶微信號tokenvarchar(60)否title標題varchar(30)否picurl回復(fù)圖片地址239115D67嵧Gu332888208興292697255牕2935472AA犪zOvarchar(120)否info回復(fù)內(nèi)容varchar(120)否infotype回復(fù)類型varchar(20)否diningyuding是否預(yù)訂tinyint(1)否diningwaimai是否外賣tinyint(1)否l204244FC8俈235495BFD寽363298DE9跩323957E8B纋q350748902褂e)菜品分類數(shù)據(jù)表imicro_product_cat字段含義類型是否為空備注id分類idint否主鍵token用戶微信號tokenvarchar(50)否name分類名稱varchar(50)

z398169B88鮈3937099CA駊298007468瑨T^否des分類描述varchar(500)否dining訂餐標示tinyint(1)否time創(chuàng)建時間int(10)否f)菜品數(shù)據(jù)表imicro_product字段含義類型是否為空407099F05鼅5368608FFC迼tH217635503唃202554F1F偉備注id菜品idint(10)否主鍵catid分類idmediumint(4)否外鍵name菜品名varchar(150)否price價格float30524773C眼239965DBC嶼403479D9B鶛399019BDD鯝j?38030948E釬3864696F6零否token用戶微信號tokenvarchar(50)否keyword菜品關(guān)鍵詞varchar(100)否salecount銷售數(shù)量mediumint(4)否logourl菜品圖片地址varchar(150)否dining[27037699D榝;\256976461摡.B

點餐標示tinyint(1)否time創(chuàng)建時間int(10)否g)訂餐訂單數(shù)據(jù)表imicro_product_cart字段含義類型是否為空備注id購物車idint(10)否主鍵*30078757E畾199774E09三21148529C劜.Otoken用戶微信號tokenvarcahr(50)否wecha_id微信用戶openidvarchar(60)否info訂單內(nèi)容varchar(300)否total總數(shù)量mediumint(4)否price總價格?M〉22572582C堬262286674晴gQfloat否truename訂餐人姓名varchar(20)否tel訂餐人電話varchar(14)否address訂餐人地址varchar(100)否diningtype就餐方式mediumint(2)否371379111鄑R2605965CB旋c243585F26弦tableid餐桌idmediumint(4)否外鍵time下單時間int(10)否buytime就餐時間varchar(100)否dining訂餐標示tinyint(1)否269526948楈336508372荲367758FA7辧231035A3F娿2890770EB燙273996B07欇handled訂單處理狀態(tài)tinyint(1)否h)訂餐訂單詳細數(shù)據(jù)表imicro_product_cart_list字段含義類型是否為空備注id訂單詳情idint(10)否主鍵cartid點餐訂單idint(10)2659067DE柞261446620映22125566D噭_’z否外鍵productid菜品idint(10)否外鍵price價格float否total數(shù)量mediumint(4)否wecha_id微信用戶openidvarahr(60)274836B5B歛341818585薅Y291857201爁m:否token用戶微信號tokenvarchar(50)否time下單時間int(1)0否i)餐桌數(shù)據(jù)表imicro_product_diningtable字段含義類型是否為空備注id餐桌idmediumint(4)381999537鍔372229166酦2712169F1槱266756833栳_2480460E4惤3097178FB磻否主鍵token用戶微信號tokenvarchar(50)否name餐桌名稱varchar(500)否intro餐桌介紹varchar(500)否taxis序號mediumint(4)否f:2248757D7埗;38923980B頋9g$3.7部署圖圖3。7部署圖4詳細設(shè)計4.1微信公眾號接口設(shè)計與實現(xiàn)4.1。1微信公眾號接口配置首先需要申請消息接口,用戶(商家)必須先在登陸其微信公眾賬號平臺,進入高級功能—開發(fā)者模式。接著會有一個接口配置信息需要填寫。其中URL是開發(fā)者用來接收微信服務(wù)器數(shù)據(jù)的接口URL,Token可以任意填寫,用作生成簽名(Token會和接口URL中包含的Token進行比對,從而驗證安全性)。 以上的URL跟token用戶在注冊完后,添加號其微信公眾號基本信息,在訂餐系統(tǒng)的API接口選項就能找到以上接口配置信息,將其填寫入公眾平臺接口配置信息表格即可。 填寫完接口配置信息后,提交到微信服務(wù)器.接著微信服務(wù)器將會驗證URL的有效性,微信服務(wù)器將發(fā)送GET請求到填寫的URL上,GET請求攜帶四個參數(shù):參數(shù)描述signature微信加密簽名,signature結(jié)合了開發(fā)者填寫的token參數(shù)和請求中的timestamp參數(shù)、nonce參數(shù)。timestamp時間戳nonce隨機數(shù)echostr377539379鍹3320381B3膳'287387042灂288237097炗#*隨機字符串開發(fā)者通過檢驗signature對請求進行校驗(下面有校驗方式)。若確認此次GET請求來自微信服務(wù)器,請原樣返回echostr參數(shù)內(nèi)容,則接入生效,成為開發(fā)者成功,否則接入失敗。加密/校驗流程如下:1。將token、timestamp、nonce三個參數(shù)進行字典序排序2。將三個參數(shù)字符串拼接成一個字符串進行sha1加密3。開發(fā)者獲得加密后的字符串可與signature對比,標識該請求來源于微信完成以上的校驗流程后,若驗證URL有效性成功后即接入生效,可以使用微信訂餐系統(tǒng)對公眾號進行自定義開發(fā)。此后微信用戶每次像商家公眾號發(fā)送消息,或者產(chǎn)生自定義菜單點擊事件時,響應(yīng)URL將得到推送.用戶向公眾號發(fā)送消息時,公眾號方首道的消息發(fā)送者是一個OpenID,是使用用戶微信號加密后的結(jié)果,每個用戶對每個公眾號有一個唯一的OpenID.4.1。2接收消息 當用戶(商家)使用微信訂餐平臺成功連通好微信服務(wù)器并設(shè)置相關(guān)功能后,普通微信用戶向商家公眾賬號發(fā)送消息時,微信服務(wù)器將POST消息的XML數(shù)據(jù)包到商家在為公眾賬號平臺填寫的由微信訂餐系統(tǒng)給出的URL上。各消息類型的推送xml數(shù)據(jù)包結(jié)構(gòu)都不同,分別有文本消息,圖片消息,語音消息,視頻消息,地理位置消息,鏈接消息以及事件消息等。用戶(商家)在微信訂餐系統(tǒng)上設(shè)置好功能后,會有一個關(guān)鍵字,此關(guān)鍵字用于匹配微信用戶在商家微信公眾號輸入的文字,從而識別微信用戶發(fā)送給微信服務(wù)器,微信服務(wù)器POST到微信訂餐系統(tǒng)的消息具體是什么。4.1.3發(fā)送消息 微信訂餐系統(tǒng)接收到微信服務(wù)器從微信用戶那里的輸入而格式化的XML數(shù)據(jù)包,從而記性判斷出用戶要使用的功能并具體返回特定的XML消息結(jié)構(gòu)給微信服務(wù)器,微信服務(wù)器根據(jù)收到的XML消息數(shù)據(jù)包結(jié)構(gòu)解析識別出具體需要返回的消息類型(文本,圖片,圖文,語音等)返回給想要調(diào)用該功能的微信用戶.4。2系統(tǒng)各功能詳細設(shè)計4。2。1用戶注冊與登錄設(shè)計與實現(xiàn)用戶(商家)要想使用該微信點餐系統(tǒng)必須先擁有自己的微信公眾號,然后在該微信點餐系統(tǒng)上面進行賬號注冊,后臺管理員會根據(jù)注冊信息判斷是否同意注冊.只有后臺管理員通過其注冊后,商家才能使用其注冊的賬號進行登錄圖4.2。1.1微信點餐系統(tǒng)登錄界面圖4.2。1。2微信點餐注冊頁面圖4。2.1.3微信點餐用戶登錄成功頁面用戶注冊登錄的時序圖如下圖4。2。1。4所示:”g2301859EA姪302477627瘧394549A1E騞2070150DD僝T圖4.2。1。4用戶注冊登錄時序圖4.2。2添加微信號功能設(shè)計與實現(xiàn)用戶(商家)在登錄該系統(tǒng)后,需要將其在騰訊微信公眾平臺申請的微信公眾賬號使其使用開發(fā)者模塊且與微信訂餐系統(tǒng)進行連通。用戶在登錄后,選擇添加微信公眾賬號,填寫商家其已經(jīng)申請好的微信公眾賬號信息。如圖所示。圖4。2。2.1微信點餐系統(tǒng)添加微信公眾號登錄商家微信公眾號,如圖4。2.2.2所示.圖4.2。2。2登錄微信公眾平臺 選擇設(shè)置,賬號信息,將信息填入微信訂餐系統(tǒng)添加微信公眾號表格中,如圖4。2.2.3,圖4.2。2。4所示。圖4.2。2.3商家微信公眾平臺公眾號信息圖4.2。2。4填寫微信公眾號信息進入微信訂餐系統(tǒng)添加公眾號表格 進入高級功能,選擇開發(fā)模式,將微信點餐系統(tǒng)生成的url跟token填入,如圖,4.2。2.6,4。2。2.7所示。圖4.2.2。5商家微信公眾平臺選擇開發(fā)者模式圖4.2。2.6商家微信公眾平臺接口配置圖4。2.2.7用戶微信點餐系統(tǒng)自動生成URL跟token4.2.3微信訂餐功能設(shè)計與實現(xiàn)微信訂餐功能是該微信訂餐系統(tǒng)的核心功能。用戶(商家)通過設(shè)置微信訂餐回復(fù)關(guān)鍵字,以及商家餐廳信息。并且設(shè)置菜品分類,菜品信息(名稱、圖片),餐桌信息,訂單管理等。微信用戶只要關(guān)注該商家的微信公眾賬號,即可通過輸入訂餐關(guān)鍵字,通過微信公眾號返回的訂餐圖文入口進去點餐頁面。4.2。3.1用戶(商家)設(shè)置微信訂餐功能 要使用微信訂餐功能,用戶(商家)需要設(shè)置訂餐回復(fù)關(guān)鍵字。即微信用戶通過在關(guān)注商家微信公眾賬號后,輸入該關(guān)鍵字,即會收到一條微信訂餐的入口圖文。設(shè)置關(guān)鍵字如圖4。1.4。1所示。圖4。2.3.1設(shè)置微信訂餐關(guān)鍵字回復(fù)239115D67嵧Gu332888208興292697255牕2935472AA犪zO 設(shè)置完訂餐回復(fù)關(guān)鍵字后,再設(shè)置菜品分類.如圖4。2。3.2所示。圖4。2.3.2設(shè)置微信訂餐菜品分類 設(shè)置完菜品分類后,接著設(shè)置菜品信息,如圖4。2.3.3所示。圖4。2.3.3設(shè)置微信訂餐菜品用戶設(shè)置微信訂餐功能的時序圖如下圖.所示:圖4.2。3.4用戶設(shè)置微信訂餐功能4。2.3.2微信用戶使用微信訂餐功能 微信用戶要使用微信訂餐功能,需要先關(guān)注商家的微信公眾號.之后輸入微信訂餐的關(guān)鍵字,微信服務(wù)器會將該關(guān)鍵字傳送到微信訂餐系統(tǒng)服務(wù)器,微信訂餐系統(tǒng)根據(jù)關(guān)鍵字識別后,返回微信點餐頁面的地址將其打包成圖文格式返回給微信服務(wù)器。微信服務(wù)器返回圖文信息給用戶,用戶點擊圖文進入微信點餐頁面。 用戶在商家微信號輸入“訂餐“關(guān)鍵字.如圖.1所示。 用戶點擊微信點餐圖文,進入微信點餐首頁。如圖.2所示。 用戶選擇我要點餐,進入菜品分類以及菜品詳情首頁。如圖4。2。3。2。3所示。圖4.2。3。2.1圖4.2。3.2.2圖4.2。3。2.3 用戶選擇左上角菜品類別進行菜品分類選擇。如圖4。2。3。2.4所示。 用戶選擇菜品數(shù)量,點擊購物車,進入購物車首頁。如圖4.2。3。2。5所示。用戶選擇結(jié)算,輸入用戶聯(lián)系方式,地址,確認下單。如圖4。2.3。2.6所示。圖4.2。3。2。4圖4。

溫馨提示

  • 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)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論