

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、本科畢業(yè)設(shè)計(jì)(論文)基于微信小程序的助農(nóng)系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)Design and implementation of agriculturalaid system based on wechat small program學(xué)生姓名指導(dǎo)教師提交日期2020 年 XX 月 XX 日畢業(yè)設(shè)計(jì)(論文)原創(chuàng)性聲明行的設(shè)計(jì)(研究)工作及取得的成果,論文中引用他人的文獻(xiàn)、數(shù)據(jù)、圖件、資料均已全意識(shí)到本聲明的法律結(jié)果由本人承擔(dān)。畢業(yè)論文作者(簽字):簽字日期:年月日指導(dǎo)教師評(píng)分:評(píng)閱教師評(píng)分:答辯小組評(píng)分:總評(píng)成績(jī):系主任簽字(蓋章):年月日內(nèi)容摘要本文主要研究基于微信小程序和TinkPHP 5框架設(shè)計(jì)與開(kāi)發(fā)的助
2、農(nóng)系統(tǒng)。該系統(tǒng)是在互聯(lián)網(wǎng)飛速發(fā)展和電商物流快速發(fā)展的背景下應(yīng)運(yùn)而生的,為解決農(nóng)戶銷售農(nóng)產(chǎn)品難和消費(fèi)者購(gòu)買綠色無(wú)害農(nóng)場(chǎng)品難的問(wèn)題而設(shè)計(jì)的。對(duì)于助農(nóng)系統(tǒng)的設(shè)計(jì)與開(kāi)發(fā),本系統(tǒng)的數(shù)據(jù)庫(kù)采用 MySQL,前端使用微信小程序的 MINA 技術(shù),后端使用 ThinkPHP 5技術(shù),在前端與服務(wù)器數(shù)據(jù)庫(kù)通信上采用REST API 接口獲取 MySQL 數(shù)據(jù),真正實(shí)現(xiàn)前端與后端分離開(kāi)發(fā),降低開(kāi)發(fā)壓力,提高維護(hù)效率。本系統(tǒng)采用面向?qū)ο蟮拈_(kāi)發(fā)方法,高度模塊化,業(yè)務(wù)清晰,對(duì)后期維護(hù)和二次開(kāi)發(fā)十分友好。本系統(tǒng)的用戶角色分別是:正式用戶和游客用戶,系統(tǒng)主要功能模塊有:用戶信息管理、商品展示、商品分類、購(gòu)物車、商品下單支付
3、以及數(shù)據(jù)庫(kù)設(shè)計(jì)管理。各個(gè)功能模塊的開(kāi)發(fā)相互獨(dú)立,但又有相互聯(lián)系。在系統(tǒng)的開(kāi)發(fā)周期當(dāng)中,也進(jìn)行了軟件測(cè)試,包括黑盒測(cè)試和性能測(cè)試等等,并且系統(tǒng)功能都很好的通過(guò)測(cè)試,各用戶能夠根據(jù)實(shí)際使用進(jìn)行操作系統(tǒng)。整個(gè)開(kāi)發(fā)過(guò)程比較全面,體現(xiàn)了軟件開(kāi)發(fā)工程的完整性以及嚴(yán)謹(jǐn)性。關(guān)鍵詞:微信小程序、互聯(lián)網(wǎng)農(nóng)業(yè)、助農(nóng)系統(tǒng)AbstractThis paper focuses on the design and development of agriculturalaid system based on Wechat applet and Tinkphp5 framework. Under thebackground o
4、f the rapid development of Internet and e-commercelogistics, the system is designed to solve the problems of farmersselling agricultural products and consumers buying green and harmlessfarm products.For the design and development of agricultural aid system, MySQLis used as the database of the system
5、, Mina technology of wechat smallprogram is used as the front-end, thinkph5 technology is used as theback-end, and rest API interface is used to obtain MySQL data on thecommunication between the front-end and server database, so as torealize the separation of front-end and back-end development, redu
6、cedevelopment pressure and improve maintenance efficiency. The systemadopts object-oriented development method, highly modularized, clearbusiness, and is very friendly to later maintenance and secondarydevelopment.The user roles of the system are: formal user and tourist user.The main function modul
7、es of the system are: user informationmanagement, commodity display, commodity classification, shopping cart,commodity order payment and database design management. The developmentof each functional module is independent but interrelated.In the development cycle of the system, software testing is al
8、socarried out, including black box testing and performance testing, andthe system functions are well tested, and users can operate the systemaccording to the actual use. The whole development process isrelatively comprehensive, reflecting the integrity and preciseness ofsoftware development engineer
9、ing.Key words: wechat applet, Internet agriculture, agricultural aid system目錄第一章緒論.11.1課題背景與研究現(xiàn)狀.11.2項(xiàng)目研究目的與意義.11.3項(xiàng)目主要研究工作.2第二章系統(tǒng)相關(guān)技術(shù)與開(kāi)發(fā)環(huán)境.32.1 ThinkPHP 5框架.32.2 MySQL數(shù)據(jù)庫(kù).32.3 Restful API.32.4 微信小程序.32.5 微信支付技術(shù).4第三章系統(tǒng)需求分析與設(shè)計(jì).53.1 系統(tǒng)業(yè)務(wù)流程分析.53.2 系統(tǒng)總功能需求分析.63.3 詳細(xì)功能需求分析.73.3.1 用戶信息管理.73.3.2 商品展示.93.3.
10、3 商品分類.103.3.4 購(gòu)物車.113.3.5 商品下單支付.123.4 系統(tǒng)數(shù)據(jù)庫(kù)設(shè)計(jì) .133.4.1 數(shù)據(jù)庫(kù)相關(guān)配置 .133.4.2 數(shù)據(jù)庫(kù) E-R 圖設(shè)計(jì).143.4.3 數(shù)據(jù)庫(kù)邏輯表設(shè)計(jì).173.5 系統(tǒng)可行性分析 .20第四章 系統(tǒng)功能設(shè)計(jì)與實(shí)現(xiàn) .214.1 用戶信息管理的設(shè)計(jì)與實(shí)現(xiàn) .214.1.1 用戶信息管理.214.1.2 用戶訂單管理.224.2 商品展示的設(shè)計(jì)與實(shí)現(xiàn).234.2.1 廣告商品展示.234.2.2 精選主題展示.244.2.3 最近新品展示.264.3 商品分類的設(shè)計(jì)與實(shí)現(xiàn).274.3.1 商品分類模塊.274.3.2 商品詳情模塊.284.4
11、購(gòu)物車功能的設(shè)計(jì)實(shí)現(xiàn).294.5 商品下單支付的設(shè)計(jì)與實(shí)現(xiàn) .32第五章 系統(tǒng)測(cè)試.335.1 測(cè)試說(shuō)明.335.2 測(cè)試環(huán)境.335.3 功能測(cè)試.33第六章 總結(jié) .35參考文獻(xiàn).36致謝.37第一章 緒論 數(shù)據(jù)庫(kù)等多種技術(shù)聯(lián)合開(kāi)發(fā)的系統(tǒng),它是電商與小程序相結(jié)合的產(chǎn)物,用戶通過(guò)掃微信小程序二維碼獲方便用戶購(gòu)買綠色農(nóng)產(chǎn)品,也給農(nóng)戶增加了一種銷售自家綠色農(nóng)產(chǎn)品的途徑,可謂是互利共贏。1.1 課題背景與研究現(xiàn)狀隨著當(dāng)今社會(huì)的不斷發(fā)展,人們生活水平的提高,人們對(duì)吃的有了新追求,以前只追求溫飽,現(xiàn)在追求健康、綠色。由于人們不斷追求更高的經(jīng)濟(jì)效益,在農(nóng)業(yè)生產(chǎn)上泛濫使用農(nóng)藥化肥,人們已經(jīng)很難購(gòu)買到真正的
12、綠色無(wú)害的有機(jī)農(nóng)產(chǎn)品。與此同時(shí),在每年收獲季節(jié),總能在網(wǎng)上看到許多地方的農(nóng)產(chǎn)品滯銷的新聞,果子全爛在田地里,無(wú)人問(wèn)津,農(nóng)戶損失慘重,嚴(yán)重打擊了農(nóng)戶的生成積極性,從而導(dǎo)致地方經(jīng)濟(jì)發(fā)展緩慢。不過(guò)隨著互聯(lián)網(wǎng)的快速發(fā)展,互聯(lián)網(wǎng)的加入,給農(nóng)產(chǎn)品市場(chǎng)增添新活力。其中近年來(lái)一種火熱的新模式就是微信小程序了,微信小程序其他模式所無(wú)法相比的先天優(yōu)勢(shì),它借用微信公眾平臺(tái)的優(yōu)勢(shì),微信用戶數(shù)量眾多,市場(chǎng)需求廣闊。同時(shí)微信小程序又可以說(shuō)是簡(jiǎn)潔版的原生態(tài) APP,可以實(shí)現(xiàn)原生 APP 大部分功能。用戶可以在微信小程序上購(gòu)買到健康無(wú)害的農(nóng)產(chǎn)品,農(nóng)戶也可在上面銷售自家的農(nóng)產(chǎn)品,雙方互利共贏,拉動(dòng)經(jīng)濟(jì)的增長(zhǎng)。1.2 項(xiàng)目研究目
13、的與意義為了順應(yīng)國(guó)家大力推廣精準(zhǔn)扶貧的號(hào)召,同時(shí)解決用戶購(gòu)買難和農(nóng)戶銷售難的難題,助農(nóng)系統(tǒng)的開(kāi)發(fā)設(shè)計(jì)將充分考慮各地特色農(nóng)產(chǎn)品以及當(dāng)?shù)亟?jīng)濟(jì)環(huán)境,從實(shí)際情況出發(fā),借用當(dāng)下最為火熱平臺(tái)之一的微信公眾平臺(tái),把農(nóng)業(yè)與互聯(lián)網(wǎng)聯(lián)系起來(lái),使用微信 Web 開(kāi)發(fā)者工具開(kāi)發(fā)一款基于微信小程序的助農(nóng)系統(tǒng),該系統(tǒng)不需要下載,只需掃取小程序二維碼即可獲得使用。助農(nóng)系統(tǒng)通過(guò)微信小程序整理出各地區(qū)特色農(nóng)產(chǎn)品信息服務(wù)用戶,不僅給各地農(nóng)民的特色農(nóng)產(chǎn)品提供了一個(gè)開(kāi)放、優(yōu)質(zhì)的平臺(tái),還為企業(yè)產(chǎn)品宣傳推廣需求提供了一種新途徑。這種互聯(lián)網(wǎng)+農(nóng)業(yè)的模式可以有效解決農(nóng)村市場(chǎng)信息閉塞、地域分散、物流成本高的難題,而助農(nóng)系統(tǒng)就是利用微信小程序進(jìn)
14、行開(kāi)發(fā)設(shè)計(jì),目的是利用互聯(lián)網(wǎng)平臺(tái)把各地特色農(nóng)產(chǎn)品銷往各地,減少商業(yè)流通的中間環(huán)節(jié),縮短營(yíng)銷周期,降低經(jīng)營(yíng)成本。實(shí)際解決了各地農(nóng)戶銷售農(nóng)產(chǎn)品難的1問(wèn)題,提高了農(nóng)民的收入,帶動(dòng)了當(dāng)?shù)亟?jīng)濟(jì)發(fā)展,改善了各地區(qū)農(nóng)民的生活狀況。1.3 項(xiàng)目主要研究工作本項(xiàng)目研究的助農(nóng)系統(tǒng)主要是由三部分組成:小程序客戶端、后臺(tái)服務(wù)器和數(shù)據(jù)庫(kù)管理。本文的工作就是設(shè)計(jì)與實(shí)現(xiàn)三者的交互,具體工作是實(shí)現(xiàn)六大模塊:商品展示、商品分類、購(gòu)物車、商品下單支付、用戶信息管理和數(shù)據(jù)庫(kù)。息管理頁(yè)面上進(jìn)行賬號(hào)信息和收貨地址的修改,查看訂單信息等功能。2第二章 系統(tǒng)相關(guān)技術(shù)與開(kāi)發(fā)環(huán)境2.1 ThinkPHP 5框架ThinkPHP,一個(gè)開(kāi)源的、面
15、向?qū)ο蟮妮p量級(jí)PHP開(kāi)發(fā)框架, 它簡(jiǎn)潔實(shí)用,易用性強(qiáng)、拓展性廣、效率高和代碼簡(jiǎn)潔。它采用表現(xiàn)層、業(yè)務(wù)層和數(shù)據(jù)層三層是ThinkPHP的核心層,各種業(yè)務(wù)的接口層;數(shù)據(jù)層支持多種數(shù)據(jù)庫(kù)的使用。本系統(tǒng)采用的ThinkPHP 框架是5.0 了核心和對(duì)API的開(kāi)發(fā),重構(gòu)了路由、異常、模型、數(shù)據(jù)庫(kù)和驗(yàn)證等模塊,還去除冗余的依賴,引入了新PHP特性。2.2 MySQL數(shù)據(jù)庫(kù)MySQL,具有體積小,易使用,易維護(hù),安裝及維護(hù)成本低,速度快、性能快捷多用戶支持、可移植性強(qiáng)、支持多種操作系統(tǒng)等特點(diǎn)。而且 MySQL 屬于開(kāi)源產(chǎn)品,無(wú)版權(quán)制約,自主性強(qiáng)、使用成本低。MySQL 數(shù)據(jù)庫(kù)采用的是客戶/服務(wù)器結(jié)構(gòu),其中服
16、務(wù)器部分是運(yùn)行在數(shù)據(jù)庫(kù)主要負(fù)責(zé)連接數(shù)據(jù)庫(kù)服務(wù)器,返回信息給服務(wù)器。MySQL 結(jié)構(gòu)大致分為三層:頂層是C/S 網(wǎng)絡(luò)服務(wù)層,主要負(fù)責(zé)連接處理、緩存和內(nèi)置函數(shù)等;底層是存儲(chǔ)層,主要負(fù)責(zé)數(shù)據(jù)的存儲(chǔ)和提取。2.3 Restful APIREST描述一個(gè)架構(gòu)樣式的網(wǎng)絡(luò)系統(tǒng),是一種Web服務(wù)交互模式。簡(jiǎn)單來(lái)說(shuō),它就是一種設(shè)計(jì)APIJSON格式編寫(xiě)的RESTAPIAPIAPI更簡(jiǎn)單。Restful是一種基于HTTP的網(wǎng)絡(luò)應(yīng)用程序的設(shè)計(jì)風(fēng)格和開(kāi)發(fā)方式,它是通過(guò)URI實(shí)現(xiàn)對(duì)資源的管理及訪問(wèn),具有擴(kuò)展性強(qiáng)、結(jié)構(gòu)清晰的特點(diǎn)。2.4 微信小程序3同時(shí)小程序的文件占用內(nèi)存空間小,反應(yīng)速度快。小程序還可以實(shí)現(xiàn)原生 APP
17、的基本功能。微信小程序 MINA 框架,簡(jiǎn)單來(lái)說(shuō)就是一組開(kāi)發(fā)微信小程序的工具,它可以圖層語(yǔ)言和邏輯層框架,還在視圖層與邏輯層間提供了數(shù)據(jù)傳輸和事件系統(tǒng)。MINA 的核心是一個(gè)響應(yīng)的數(shù)據(jù)綁定系統(tǒng),它的數(shù)據(jù)與視圖保持同步非常簡(jiǎn)單,當(dāng)做數(shù)據(jù)修改時(shí),只需在邏輯層修改數(shù)據(jù),視圖層就會(huì)做相應(yīng)的更新。2.5 微信支付技術(shù)助農(nóng)系統(tǒng)的微信支付技術(shù)是采用最常規(guī)的普通模式,開(kāi)發(fā)者先申請(qǐng)自己的appid 和 mch_id,然后在微信公眾號(hào)微信支付模塊中申請(qǐng)微信支付功能。小程序助農(nóng)系統(tǒng)的微信支付在開(kāi)發(fā)過(guò)程中調(diào)用了一個(gè)微信支付功能的 SDK,SDK 件WxPay.Data.php(參數(shù)對(duì)象WxPay.Exception.
18、php(錯(cuò)誤異常4第三章 系統(tǒng)需求分析與設(shè)計(jì)3.1 系統(tǒng)業(yè)務(wù)流程分析序客戶端上,用戶可以瀏覽商品、搜索分類商品、向購(gòu)物車添加商品,管理購(gòu)物車,下單支付和管理個(gè)人信息等操作。在數(shù)據(jù)庫(kù)上,合理分析實(shí)體之間的關(guān)系,在此基礎(chǔ)上設(shè)計(jì)出數(shù)據(jù)表,讓數(shù)據(jù)表與數(shù)據(jù)表之間有可靠的關(guān)聯(lián)關(guān)系。具體的業(yè)務(wù)流程圖如下圖 3-1 所示:開(kāi)始結(jié)束打開(kāi)小程序是取消支付否瀏覽商品是否結(jié)算否添加購(gòu)物車管理購(gòu)物車確認(rèn)訂單信息否下單是創(chuàng)建客戶是是否客戶本人結(jié)算購(gòu)物車否圖 3-1 助農(nóng)系統(tǒng)客戶端業(yè)務(wù)流程圖5如上圖3.1歷史訂單信息。3.2 系統(tǒng)總功能需求分析與原生APP相比,小程序開(kāi)發(fā)設(shè)計(jì)的三大原則:功能更單一,設(shè)計(jì)更簡(jiǎn)潔,使用場(chǎng)景更明
19、確。本系統(tǒng)的定位是為了方便農(nóng)戶銷售自家農(nóng)產(chǎn)品,消費(fèi)者能在該系統(tǒng)平臺(tái)上購(gòu)買到綠色健康的農(nóng)產(chǎn)品,并且是易傳播、易使用的線上購(gòu)物渠道,基于該定位,本系統(tǒng)應(yīng)結(jié)合當(dāng)?shù)氐奶厣r(nóng)產(chǎn)品為消費(fèi)者提供明確的購(gòu)物服務(wù),減少與購(gòu)物無(wú)關(guān)的功能模塊的設(shè)計(jì)開(kāi)發(fā),為消費(fèi)者提供更舒適的使用體驗(yàn)。綜合以上分析,可以得出小程序助農(nóng)系統(tǒng)的總功能模塊結(jié)構(gòu)圖,如圖 3-2所示:購(gòu)物車下單支付用戶基本信息用戶信息管理用戶訂單管理向購(gòu)物車添加商品獲取用戶微信信息獲取用戶地址信息專題商品詳情商品詳細(xì)信息商品分類概述商品詳細(xì)信息購(gòu)物車商品展示購(gòu)物車商品管理廣告商品專題商品最近新品商品分類生成預(yù)訂單生成訂單訂單管理結(jié)算支付訂單信息圖3-2 助農(nóng)系
20、統(tǒng)客戶端總功能模塊結(jié)構(gòu)圖從圖3-2總功能模塊圖中可以看出本系統(tǒng)的主要功能模塊,分別是用戶查6看商品功能,用戶搜索分類商品,購(gòu)物車功能,管理用戶信息功能和微信支付功能五個(gè)功能模塊。3.3 詳細(xì)功能需求分析正式用戶,否則就是游客用戶,游客用戶是不能使用客戶端的一些功能的。助農(nóng)系統(tǒng)小程序用戶的系統(tǒng)總功能用例圖,如下圖 3-3 所示:圖 3-3 助農(nóng)系統(tǒng)小程序用戶的系統(tǒng)總功能用例圖3.3.1 用戶信息管理和管理個(gè)人信息、地址信息以及查看和管理訂單信息。助農(nóng)系統(tǒng)小程序的用戶信息管理用例圖,如下圖 3-4 所示:7圖 3-4 助農(nóng)系統(tǒng)小程序的用戶信息管理用例圖用戶信息管理的功能用例需求分析如下:用戶掃微信
21、小程序二維碼獲取到小程序,進(jìn)入到小程序客戶端1.用戶點(diǎn)擊導(dǎo)航欄“我的”按鈕跳轉(zhuǎn)到用戶信息管理頁(yè)面2.用戶點(diǎn)擊“頭像”可以進(jìn)行用戶頭像和昵稱修改3.用戶點(diǎn)擊“用戶地址”跳轉(zhuǎn)到用戶地址管理頁(yè)面,用戶可以修改個(gè)人信息(如姓名、電話、地址等)4.正式用戶點(diǎn)擊“我的訂單”跳轉(zhuǎn)訂單管理頁(yè)面,用戶可以查看或刪除訂單,或點(diǎn)擊某一訂單,直接進(jìn)入該訂單詳情頁(yè)。其他事件流 1.用戶修改頭像或昵稱不合法,系統(tǒng)給出相應(yīng)錯(cuò)誤提示2.用戶填寫(xiě)個(gè)人信息不合法,系統(tǒng)給出相應(yīng)錯(cuò)誤提示系統(tǒng)成功把修改過(guò)后的信息添加到數(shù)據(jù)庫(kù)中83.3.2 商品展示用戶只要掃小程序二維碼進(jìn)入到助農(nóng)系統(tǒng)小程序,無(wú)論是正式用戶還是游客用戶,都可以在客戶端上
22、的瀏覽各個(gè)頁(yè)面。用戶在 “首頁(yè)”頁(yè)面,可以瀏覽廣告商品、專題商品和新品等。小程序助農(nóng)系統(tǒng)的商品展示用例圖,如下圖 3-5 所示:查看商品詳情瀏覽專題商品詳情頁(yè)查看商品詳情正式用戶、游客用戶瀏覽最近新商品查看商品詳情圖 3-5 商品展示用例圖商品展示功能用例需求分析如下:用戶掃微信小程序二維碼獲取到小程序,進(jìn)入到小程序客戶端1.用戶瀏覽廣告商品,點(diǎn)擊廣告商品圖片,跳轉(zhuǎn)到該商品詳情頁(yè),用戶可在該頁(yè)面將商品添加到購(gòu)物車。2.用戶瀏覽主題商品,點(diǎn)擊主題商品圖片,頁(yè)面跳轉(zhuǎn)到該主題商品類型詳情頁(yè),再點(diǎn)擊商品圖片,頁(yè)面跳轉(zhuǎn)到該商品詳情頁(yè),用戶可在該頁(yè)面將商品添加到購(gòu)物車。3.用戶瀏覽最近新商品,點(diǎn)擊最近新商
23、品圖片,跳轉(zhuǎn)到該商品詳情頁(yè),用戶可在該頁(yè)面將商品添加到購(gòu)物車。4.用戶手動(dòng)下拉,可獲取最新的商品信息。其他事件流 1.添加商品到購(gòu)物車,系統(tǒng)自動(dòng)檢測(cè)庫(kù)存量,若庫(kù)存不足,系統(tǒng)會(huì)給出相應(yīng)提示信息。后置條件無(wú)93.3.3 商品分類用戶可在小程序客戶端的 “分類”頁(yè)面,進(jìn)行某類商品瀏覽,這樣的設(shè)計(jì)方信息、查看商品詳細(xì)信息等。小程序助農(nóng)系統(tǒng)的商品分類用例圖。如下圖 3-6 所示:查看商品分類選擇分類同類商品顯示正式用戶、游客用戶查看商品詳情圖 3-6 商品分類用例圖商品分類功能用例需求分析如下:用戶掃微信小程序二維碼獲取到小程序,進(jìn)入到小程序客戶端1.用戶點(diǎn)擊導(dǎo)航欄“分類”跳轉(zhuǎn)到商品分類頁(yè)面。2.用戶在
24、商品分類頁(yè)面點(diǎn)擊左邊某一分類詞,頁(yè)面跳轉(zhuǎn)到這類商品信息頁(yè)面。3.用戶分類商品頁(yè)面,點(diǎn)擊右側(cè)商品圖片跳轉(zhuǎn)到該商品詳情頁(yè),查看商品詳細(xì)信息。其他事件流 1.添加商品到購(gòu)物車,系統(tǒng)自動(dòng)檢測(cè)庫(kù)存量,若庫(kù)存不足,系統(tǒng)會(huì)給出相應(yīng)提示信息。103.3.4 購(gòu)物車用戶在逛商品時(shí),碰到自己喜歡的商品,只要點(diǎn)擊該商品詳情頁(yè)中的購(gòu)物車小圖標(biāo)便可將該商品添加到購(gòu)物車,用戶可在購(gòu)物車頁(yè)面進(jìn)行下單支付結(jié)算和對(duì)購(gòu)物車商品進(jìn)行管理。助農(nóng)系統(tǒng)小程序的購(gòu)物車用例圖,如下圖 3-7 所示:查看購(gòu)物車商品信息查看購(gòu)物車商品總數(shù)正式用戶修改購(gòu)物車商品個(gè)數(shù)查看商品總金額提交商品訂單圖 3-7 助農(nóng)系統(tǒng)小程序的購(gòu)物車用例圖購(gòu)物車功能用例需
25、求分析如下:1.用戶掃小程序二維碼獲取到小程序,進(jìn)入到小程序客戶端2.用戶將商品添加到購(gòu)物車1.用戶點(diǎn)擊導(dǎo)航欄“購(gòu)物車”跳轉(zhuǎn)到購(gòu)物車詳情頁(yè)面2.用戶在購(gòu)物車頁(yè)面可以增加或減少購(gòu)物車商品數(shù)量3.用戶在購(gòu)物車頁(yè)面點(diǎn)擊某商品條目,便跳轉(zhuǎn)到該商品的商品詳情頁(yè)4.用戶點(diǎn)擊“全選”按鈕可以對(duì)購(gòu)物車所以商品進(jìn)行金額結(jié)算5.用戶點(diǎn)擊“下單”按鈕進(jìn)行訂單提交11其他事件流 1.若增加商品數(shù)量超過(guò)商品庫(kù)存量,系統(tǒng)給出相應(yīng)提示后置條件特殊需求系統(tǒng)成功把修改過(guò)后的信息添加到數(shù)據(jù)庫(kù)中無(wú)3.3.5 商品下單支付用戶可以通過(guò)微信支付在購(gòu)物車頁(yè)面或用戶信息管理頁(yè)面對(duì)商品進(jìn)行下訂單付款結(jié)算操作。助農(nóng)系統(tǒng)小程序的商品下單支付用例
26、圖,如下圖 3-8 所示:正式用戶生成歷史訂單圖 3-8 商品下單支付用例圖商品下單支付功能用例需求分析如下:1.用戶掃小程序二維碼獲取到小程序,進(jìn)入到小程序客戶端2.用戶已經(jīng)完善個(gè)人信息并提交了商品訂單12主事件流 1.用戶在購(gòu)物車頁(yè)面點(diǎn)擊“下單”跳轉(zhuǎn)到訂單確認(rèn)頁(yè)面2.用戶訂單確認(rèn)頁(yè)面點(diǎn)擊“付款”,成功支付后頁(yè)面跳轉(zhuǎn)到訂單管理頁(yè)面其他事件流 1.用戶沒(méi)完善個(gè)人信息或是未登錄狀態(tài),系統(tǒng)會(huì)給出相應(yīng)提示2.下單時(shí),系統(tǒng)自動(dòng)進(jìn)行商品庫(kù)存量檢測(cè),若數(shù)量不足,系統(tǒng)會(huì)給出提示特殊需求 無(wú)3.4 系統(tǒng)數(shù)據(jù)庫(kù)設(shè)計(jì)3.4.1 數(shù)據(jù)庫(kù)相關(guān)配置根據(jù)項(xiàng)目的業(yè)務(wù)邏輯結(jié)果分析,本項(xiàng)目采用的數(shù)據(jù)庫(kù)是 MySQL,用 Nav
27、icat圖形化管理數(shù)據(jù)庫(kù),根據(jù)數(shù)據(jù)表設(shè)計(jì),建立 MySQL 數(shù)據(jù)庫(kù)名稱為 nc, 用戶名為root,本系統(tǒng)的數(shù)據(jù)庫(kù)一共建立 14 張表。本系統(tǒng)主要通過(guò) ORM對(duì)象-關(guān)系映射的方式,實(shí)現(xiàn)服務(wù)器與數(shù)據(jù)庫(kù)的通信,數(shù)據(jù)庫(kù)主要的配置參數(shù)如下圖3-9所示:圖3-9 數(shù)據(jù)庫(kù)主要的配置圖133.4.2 數(shù)據(jù)庫(kù) E-R 圖設(shè)計(jì)(1)用戶信息的模型設(shè)計(jì),如圖 3-10 所示:用戶 id用戶信息用戶昵稱openid用戶備注圖 3-10 用戶信息 E-R 圖(2)用戶地址信息的模型設(shè)計(jì),如圖 3-11 所示:省市圖 3-11 用戶地址信息 E-R 圖(3)商品信息的模型設(shè)計(jì),如圖 3-12 所示:商品名稱商品圖片來(lái)源
28、商品信息id商品主圖( url 路徑)id商品庫(kù)存圖 3-12 商品信息 E-R 圖14(4)商品分類信息的模型設(shè)計(jì),如圖 3-13 所示:商品圖片id商品分類分類概述信息種類名稱圖 3-13 商品分類信息 E-R 圖(5)專題信息的模型設(shè)計(jì),如圖 3-14 所示:圖 3-14 專題信息 E-R 圖(6)訂單商品信息模型設(shè)計(jì),如圖 3-15 所示圖 3-15 訂單商品信息 E-R 圖15(7)訂單信息的模型設(shè)計(jì),如圖 3-16 所示:訂單號(hào)訂單信息訂單狀態(tài)圖 3-16 訂單信息 E-R 圖由以上各個(gè)實(shí)體與實(shí)體模型的 E-R 圖可以得出助農(nóng)系統(tǒng)的總 E-R 圖,如下圖 3-17 所示:1nn電話
29、1 n 1息nnmn1商品數(shù)量 圖 3-17 助農(nóng)系統(tǒng)的數(shù)據(jù)庫(kù)總 E-R 圖163.4.3 數(shù)據(jù)庫(kù)邏輯表設(shè)計(jì)本系統(tǒng)的數(shù)據(jù)庫(kù)根據(jù)概念結(jié)構(gòu)設(shè)計(jì)中的E-R 圖進(jìn)行實(shí)體之間的關(guān)系轉(zhuǎn)換,確定實(shí)體之間屬性關(guān)系,最后以數(shù)據(jù)表的形式展現(xiàn),并具體說(shuō)明表中信息。助農(nóng)系統(tǒng)詳細(xì)數(shù)據(jù)庫(kù)表設(shè)計(jì)如下:(1)用戶信息數(shù)據(jù)表User,如下表3-1所示:字段名id234openidn_nameextendvarcharvarcharvarchar用戶昵稱用戶備注250表3-1 用戶信息表(2)用戶地址信息數(shù)據(jù)表User_Addr,如下表3-2所示:字段名id是否為空1234567810102520202020120否否否否否否否
30、否用戶地址id(主鍵)用戶id(外鍵)收貨人姓名手機(jī)號(hào)碼省u_idnamevarcharvarcharvarcharvarcharvarcharvarcharphoneprovincecitycountrydetail地址詳情表 3-2 用戶地址信息表(3)商品信息數(shù)據(jù)表Product,如下表3-3所示:是否為空121050否否商品信息id(主鍵)商品名稱namevarchar17否否否否否main_img_u varcharrl89img_idfrom105否否商品圖片 id(外鍵)tinyint商品圖片來(lái)源表 3-3 商品信息表(4)商品圖片信息數(shù)據(jù)表 Product_img,如下表 3.
31、4 所示:商品圖片 id(主鍵)img_id34intint1010否否商品 id(外鍵)圖片排序號(hào)order表 3-4 商品圖片信息表(5)商品圖片信息數(shù)據(jù)表 Image,如下表 3-5 所示:序號(hào) 字段名是否為空否123img_urlfromvarchartinyint2504否否圖片路徑圖片來(lái)源表 3-5 圖片信息表(6)商品分類信息數(shù)據(jù)表 Category,如下表 3-6 所示:序號(hào) 字段名id數(shù)據(jù)類型int數(shù)據(jù)長(zhǎng)度10是否為空否1分類 id(主鍵)18否否專題圖(外鍵)關(guān)聯(lián) image 表分類概述4resumevarchar50表 3-6 分類信息表(7)專題商品信息數(shù)據(jù)表 Them
32、e_Product,如下表 3-7 所示:序號(hào) 字段名12t_idp_id1010否否主題商品 id(外鍵)商品外鍵int表 3-7 專題商品信息表(8)專題欄信息表數(shù)據(jù)表 Theme,如下表 3-8 所示:序號(hào) 字段名是否為空1234510502501010否否否否否專題 id(主鍵)商品專題名稱商品專題描述專題圖(外鍵)專題列表頭圖description varchartop_img_id inthead_img_id int表 3-8 專題欄信息表(9)訂單信息數(shù)據(jù)表 Order,如下表 3-9 所示:序號(hào) 字段名是否為空123451025101010否否否否否o_numu_idtota
33、l_price decimaltotal_count Int商品總數(shù)1967statuspay_idtinyintint否10預(yù)支付訂單id表3-9 訂單信息表(10)訂單商品信息數(shù)據(jù)表Order_Product,如下表3-10所示:序號(hào) 字段名23intint1010否否商品id(聯(lián)合主鍵)count商品數(shù)量表3-10 訂單商品信息表3.5 系統(tǒng)可行性分析(1)技術(shù)可行性。助農(nóng)系統(tǒng)整個(gè)項(xiàng)目的開(kāi)發(fā),不需要太復(fù)雜的技術(shù),難度PHP的TinkPHP 5框PHP語(yǔ)言以及相關(guān)框架技術(shù),就可以完成助農(nóng)系統(tǒng)的開(kāi)發(fā)。助農(nóng)系統(tǒng)的小程序客戶端的UI設(shè)計(jì)較為簡(jiǎn)潔,功能明確,在技術(shù)上面來(lái)說(shuō)是具備可行性。(2)經(jīng)濟(jì)可
34、行性。助農(nóng)系統(tǒng)的小程序客戶端借用微信平臺(tái)可以運(yùn)行在各種移動(dòng)設(shè)備上,如手機(jī)、平板等,人們獲取容易,使用更容易;本系統(tǒng)開(kāi)發(fā)只需一足需求的,客戶端后臺(tái)在Xampp服務(wù)器上運(yùn)行,可以穩(wěn)定地讓客戶端正常運(yùn)行。因此從經(jīng)濟(jì)的可行性角度來(lái)看,助農(nóng)系統(tǒng)的開(kāi)發(fā)是可行的。(3)操作可行性。助農(nóng)系統(tǒng)主要由微信小程序客戶端和后臺(tái)服務(wù)器組成的,整系統(tǒng)在界面設(shè)計(jì)上優(yōu)雅美觀、交互良好,并且UI布局分布明確。在功能需求助農(nóng)系統(tǒng)具備可行性。20第四章 系統(tǒng)功能設(shè)計(jì)與實(shí)現(xiàn)4.1 用戶信息管理的設(shè)計(jì)與實(shí)現(xiàn)4.1.1 用戶信息管理(1)用戶基本信息用戶在登錄助農(nóng)系統(tǒng)小程序客戶端時(shí),微信會(huì)自動(dòng)調(diào)用登錄 wx.login()接口來(lái)獲取用戶
35、授權(quán)和調(diào)用用戶信息 wx.getUserInfo() 接口來(lái)獲取用戶基本信的頭像和昵稱;若用戶拒絕請(qǐng)求,助農(nóng)系統(tǒng)自動(dòng)默認(rèn)用戶昵稱和頭像信息。核心的實(shí)現(xiàn)代碼如下:my.js 文件中的 進(jìn)行修改或新添加收貨地址操作,其實(shí)現(xiàn)代碼主要在 address.js 基類文件中,系統(tǒng)調(diào)用 my.js 控制器中的 editAddress()事件訪問(wèn) address.js 基類文件中g(shù)etAddress() 方 法 來(lái) 獲 取 用 戶 地 址 信 息 、 submitAddress() 方 法 和setUpAddress()方法更新保存用戶地址信息。核心的實(shí)現(xiàn)代碼如下:214.1.2 用戶訂單管理用戶在“我的”頁(yè)
36、面中的訂單部分可以查看訂單信息。訂單信息上記錄著商品信息和訂單狀態(tài)信息。若用戶點(diǎn)擊訂單信息,小程序自動(dòng)向服務(wù)器發(fā)起數(shù)據(jù)請(qǐng)求,這時(shí)頁(yè)面跳轉(zhuǎn)到訂單詳情頁(yè)面。如果訂單還未完成支付,系統(tǒng)會(huì)自動(dòng)調(diào)用 單的狀態(tài)。核心的實(shí)現(xiàn)代碼如下:小程序?qū)崿F(xiàn)用戶訂單管理效果圖,如圖4-1所示:圖4-1 用戶訂單管理效果圖4.2 商品展示的設(shè)計(jì)與實(shí)現(xiàn)4.2.1 廣告商品展示廣告商品是展示在“首頁(yè)”的頂部,采用自動(dòng)循環(huán)輪播,分三步實(shí)現(xiàn)其效swiper類可以實(shí)現(xiàn)圖片自動(dòng)循環(huán)輪播。如果用戶點(diǎn)擊商品圖片,便會(huì)跳轉(zhuǎn)到該商品的詳情頁(yè)面,這個(gè)功能的實(shí)現(xiàn)是系統(tǒng)調(diào)用了 home.js文件中的onProductemTap方法。其實(shí)現(xiàn)核心代碼如
37、下:23小程序客戶端的所有圖片都是從數(shù)據(jù)庫(kù)獲取的,圖片獲取流程:先設(shè)定URLbase.js文件中的request基類來(lái)獲取數(shù)據(jù)庫(kù)中的圖片,接著小程序客戶端再調(diào)用callback異步回調(diào)函數(shù)獲取服務(wù)器的圖片參數(shù)。其實(shí)現(xiàn)核心代碼如下:小程序?qū)崿F(xiàn)廣告商品展示效果圖,如圖4-2所示:圖4-2 廣告商品展示效果圖4.2.2 精選主題展示精選主題展示的實(shí)現(xiàn)跟廣告商品的實(shí)現(xiàn)類似,區(qū)別是精選主題是在 home-model.js文件中實(shí)現(xiàn)的,并在home.wxml文件上設(shè)計(jì)UI界面,圖片的展示則是系統(tǒng)調(diào)用了 home.js文件中的onThemesItemTap方法實(shí)現(xiàn)的。精選主題實(shí)現(xiàn)核心代碼如下:24點(diǎn)擊圖片跳
38、轉(zhuǎn)到精選主題商品頁(yè)面核心代碼如下:小程序?qū)崿F(xiàn)精選主題展示效果圖,如圖 4-3 所示:圖 4-3 精選主題展示效果圖254.2.3 最近新品展示 15 種設(shè)計(jì)便于用戶查看新上貨架商品信息。由于考慮到后面的編碼工作也會(huì)多次使用矩陣類型展示商品,為了增加代碼的復(fù)用性和簡(jiǎn)潔性,把商品的矩陣列表UI 設(shè)計(jì)封裝成一個(gè) template 模板,有效減少了后續(xù)編碼工作量。模板的核心代碼設(shè)計(jì)如下:小程序?qū)崿F(xiàn)最近新品展示效果圖,如圖 4-4 所示:圖 4-4 最近新品展示效果圖264.3 商品分類的設(shè)計(jì)與實(shí)現(xiàn)用戶在分類頁(yè)面點(diǎn)擊任意一種左側(cè)的商品種類欄目,系統(tǒng)會(huì)相應(yīng)的在右側(cè)顯示出屬于該種類型的商品圖片,用戶只要點(diǎn)擊
39、商品圖片,便會(huì)自動(dòng)跳轉(zhuǎn)到商品詳情頁(yè)面。4.3.1 商品分類模塊品分類矩陣。由于在這個(gè)模塊中統(tǒng)一了矩陣顯示商品的 UI 設(shè)計(jì),為了減少代碼工作量,這里引用了之前封裝好的 template 模板來(lái)加載顯示商品分類圖片信息。調(diào)用模塊的核心代碼如下:小程序?qū)崿F(xiàn)商品分類展示效果圖,如圖 4-5 所示:圖 4-5 商品分類展示效果圖274.3.2 商品詳情模塊于 0,用戶才可以把商品添加到購(gòu)物車。實(shí)現(xiàn)商品庫(kù)存量檢測(cè)的 picker 組件的核心代碼如下:商品詳情頁(yè)面的實(shí)現(xiàn)核心代碼如下:小程序?qū)崿F(xiàn)商品詳情信息展示效果圖,如圖 4-6 所示:圖 4-6 商品詳情信息展示效果圖284.4 購(gòu)物車功能的設(shè)計(jì)實(shí)現(xiàn)購(gòu)物
40、車的代碼主要在 cart 文件中,該模塊主要分向購(gòu)物車添加商品和管理會(huì)自動(dòng)計(jì)算購(gòu)物車商品的總價(jià),頁(yè)面跳轉(zhuǎn)到訂單的詳情頁(yè)面。購(gòu)物車功能流程圖如圖 4-7 所示:瀏覽商品管理購(gòu)物車商品數(shù)量和種類清空購(gòu)物車相應(yīng)的商品信息結(jié)束圖 4-7 購(gòu)物車功能流程圖29(1)向購(gòu)物車添加商品上,當(dāng)用戶有添加操作時(shí),系統(tǒng)會(huì)自動(dòng)調(diào)用 product.js 文件中的 addToCart()存。商品詳情頁(yè)的購(gòu)物車功能的核心代碼如下:30(2)管理購(gòu)物車戶進(jìn)行以上操作時(shí),系統(tǒng)會(huì)調(diào)用 cart-model.js 文件中的 addCount()方法和cutCount()方法以及 delete()方法來(lái)對(duì)商品進(jìn)行增減或刪除,操作
41、完之后,系統(tǒng)會(huì)自動(dòng)更新保存數(shù)據(jù)在緩存中。實(shí)現(xiàn)管理購(gòu)物車商品功能的核心代碼如下:客戶端實(shí)現(xiàn)購(gòu)物車功能展示效果圖,如圖 4-8 所示:圖 4-8 購(gòu)物車功能展示效果圖314.5 商品下單支付的設(shè)計(jì)與實(shí)現(xiàn)該功能的代碼實(shí)現(xiàn)主要在order示支付成功,則商品下單成功,否則就是失敗。實(shí)現(xiàn)小程序向服務(wù)器請(qǐng)求支付的核心代碼如下:客戶端實(shí)現(xiàn)商品下單支付功能展示效果圖,如圖 4-9 所示:圖 4-9 商品下單支付功能展示效果圖32第五章 系統(tǒng)測(cè)試夠正常運(yùn)行,功能是否實(shí)現(xiàn),UI設(shè)計(jì)是否合適。本章對(duì)微信小程序助農(nóng)系統(tǒng)的主要功能模塊用例進(jìn)行了功能測(cè)試,以確保系統(tǒng)的可靠性。5.1 測(cè)試說(shuō)明助農(nóng)系統(tǒng)功能測(cè)試采用的是黑盒測(cè)試方法,對(duì)助農(nóng)系統(tǒng)的功能進(jìn)行了測(cè)試,性能測(cè)試上是采用微信開(kāi)發(fā)者工具提供的開(kāi)發(fā)階段的小程序測(cè)試工具。5.2 測(cè)試環(huán)境助農(nóng)系統(tǒng)測(cè)試采用的軟硬件環(huán)境如下表5-1所示:Xampp(Apche+MySQL)Chrome、Microsoft Edge微信開(kāi)發(fā)者工具W
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年度車輛抵押給個(gè)人質(zhì)押貸款合同:豪華轎車使用權(quán)協(xié)議
- 2025年度特種車輛拖車與吊裝作業(yè)服務(wù)合同
- 二零二五年度旅游居間協(xié)議合同服務(wù)項(xiàng)目解析
- 二零二五年度泳池安全知識(shí)培訓(xùn)免責(zé)協(xié)議
- 二零二五年度空調(diào)銷售與節(jié)能改造升級(jí)合同
- 二零二五年度餐飲管理公司員工培訓(xùn)與用工合同
- 高速公路排水溝施工合同(2025年度)包含臨時(shí)道路修復(fù)服務(wù)
- 2025年度銷售人員商業(yè)秘密保護(hù)及保密補(bǔ)償協(xié)議
- 二零二五年度傳媒行業(yè)勞動(dòng)合同終止及競(jìng)業(yè)限制協(xié)議范本
- 2025年度道路養(yǎng)護(hù)承包合同解除書(shū)
- SLT 478-2021 水利數(shù)據(jù)庫(kù)表結(jié)構(gòu)及標(biāo)識(shí)符編制總則
- 2024年春學(xué)期人教版小學(xué)道德與法治六年級(jí)下冊(cè)教學(xué)計(jì)劃附教學(xué)進(jìn)度表
- MIL-STD-1916抽樣計(jì)劃表(抽樣數(shù))大
- 中考數(shù)學(xué)一輪復(fù)習(xí)各章節(jié)復(fù)習(xí)有答案完美版
- 2024 年袋鼠數(shù)學(xué)競(jìng)賽 等級(jí)E(中國(guó)區(qū))
- 【《海信電器企業(yè)作業(yè)成本法下的物流成本核算分析》8500字】
- 2024年南京旅游職業(yè)學(xué)院?jiǎn)握新殬I(yè)適應(yīng)性測(cè)試題庫(kù)匯編
- 馬克思主義基本原理概論400道(考點(diǎn)提分)
- 研究生調(diào)劑合同
- 2024年湖南生物機(jī)電職業(yè)技術(shù)學(xué)院?jiǎn)握新殬I(yè)技能測(cè)試題庫(kù)及一套參考答案
- 2022年袋鼠數(shù)學(xué)競(jìng)賽真題一二年級(jí)組含答案
評(píng)論
0/150
提交評(píng)論