修改備案網(wǎng)站信息seo快速排名外包
在信息飛速發(fā)展的今天,網(wǎng)絡(luò)已成為人們重要的信息交流平臺(tái)。每天都有大量的農(nóng)產(chǎn)品需要通過(guò)網(wǎng)絡(luò)發(fā)布,為此,本人開(kāi)發(fā)了一個(gè)基于springboot農(nóng)產(chǎn)品銷售信息微信小程序。
對(duì)于本農(nóng)產(chǎn)品銷售信息系統(tǒng)的設(shè)計(jì)來(lái)說(shuō),它主要是采用后臺(tái)采用java語(yǔ)言、springboot框架,它是應(yīng)用mysql數(shù)據(jù)庫(kù)、微信小程序等技術(shù)動(dòng)態(tài)編程以及數(shù)據(jù)庫(kù)進(jìn)行努力學(xué)習(xí)和大量實(shí)踐,并運(yùn)用到了微信小程序的建設(shè)中在整個(gè)系統(tǒng)的設(shè)計(jì)當(dāng)中,具體根據(jù)網(wǎng)上農(nóng)產(chǎn)品銷售信息系統(tǒng)的現(xiàn)狀來(lái)進(jìn)行開(kāi)發(fā)的,具體根據(jù)用戶需求實(shí)現(xiàn)網(wǎng)上農(nóng)產(chǎn)品銷售信息系統(tǒng)網(wǎng)絡(luò)化的管理,各類信息有序地進(jìn)行存儲(chǔ),進(jìn)入農(nóng)產(chǎn)品銷售信息系統(tǒng)頁(yè)面之后,方可開(kāi)始操作主控界面,系統(tǒng)功能包括管理員服務(wù)端:首頁(yè)、網(wǎng)站管理(輪播圖、公告信息)人員管理(管理員、會(huì)員用戶、農(nóng)戶用戶)內(nèi)容管理(精品資訊、資訊分類)模塊管理(惠農(nóng)政策、課程學(xué)習(xí)、農(nóng)戶商城、訂單信息、物流信息、退換商品、訂單評(píng)價(jià)、客服咨詢、商品類型)個(gè)人管理;用戶客戶端:首頁(yè)、精品資訊(訂單信息、物流信息、退換商品、訂單評(píng)價(jià)、客服咨詢)等功能。
本論文主要講述了農(nóng)產(chǎn)品銷售信息系統(tǒng)開(kāi)發(fā)背景,該系統(tǒng)它主要是對(duì)需求分析和功能需求做了介紹,并且對(duì)系統(tǒng)做了詳細(xì)的測(cè)試和總結(jié)。具體從業(yè)務(wù)流程、數(shù)據(jù)庫(kù)設(shè)計(jì)和系統(tǒng)結(jié)構(gòu)等多方面的問(wèn)題。望能利用先進(jìn)的計(jì)算機(jī)技術(shù)和網(wǎng)絡(luò)技術(shù)來(lái)改變目前的農(nóng)產(chǎn)品銷售信息系統(tǒng)管理狀況,提高管理效率。
關(guān)鍵詞 :農(nóng)產(chǎn)品銷售信息系統(tǒng);微信小程序;Mysql數(shù)據(jù)庫(kù);Java語(yǔ)言?
With the rapid development of information today, the network has become an important information exchange platform for people. Every day, a large number of agricultural products need to be released through the network. For this reason, I developed a WeChat applet based on spring boot agricultural product sales information.
For the design of this agricultural product sales information system, it is mainly based on the use of java language and spring boot framework in the background. It is based on the dynamic programming of mysql database, WeChat applet and other technologies as well as the database for hard learning and a lot of practice, and applied to the construction of WeChat applet. In the design of the whole system, it is developed specifically according to the current situation of the online agricultural product sales information system, The network management of online agricultural product sales information system can be realized according to user needs. All kinds of information can be stored in an orderly manner. After entering the agricultural product sales information system page, the main control interface can be operated. The system functions include administrator server: home page Website management (rotation chart, announcement information) Personnel management (administrator, member user, farmer user) Content management (boutique information, information classification) Module management (preferential agricultural policy, course learning, farmer shopping mall, order information, logistics information, return and exchange goods, order evaluation, customer service consulting, commodity type) Personal management; User client: Home page, boutique information (order information, logistics information, return and exchange of goods, order evaluation, customer service consultation) and other functions.
This paper mainly describes the development background of agricultural product sales information system, which mainly introduces the demand analysis and functional requirements, and makes a detailed test and summary of the system. Specific from the business process, database design and system structure. We hope to use advanced computer technology and network technology to change the current management situation of agricultural product sales information system and improve management efficiency.
Key words: agricultural product sales information system; WeChat applet; MySQL database; Java language
目??錄
1 概述
1.1研究背景
1.2 研究意義
1.3 本課題主要工作
2 系統(tǒng)開(kāi)發(fā)環(huán)境
2.1 java技術(shù)
2.2 Mysql數(shù)據(jù)庫(kù)
2.3 小程序框架以及目錄結(jié)構(gòu)介紹
2.4 spring boot框架介紹
3 系統(tǒng)分析
3.1 可行性分析
3.1.1 技術(shù)可行性
3.1.2操作可行性
3.1.3 經(jīng)濟(jì)可行性
3.1.4 法律可行性
3.2系統(tǒng)流程分析
3.2.1系統(tǒng)開(kāi)發(fā)流程
3.2.2 用戶登錄流程
3.2.3 系統(tǒng)操作流程
3.2.4 添加信息流程
3.2.5 修改信息流程
3.2.6 刪除信息流程
3.3用例分析
3.4系統(tǒng)流程分析
3.4.1添加信息流程
3.4.2操作流程
3.4.3刪除信息流程
4系統(tǒng)概述
4.1?系統(tǒng)結(jié)構(gòu)設(shè)計(jì)
4.2數(shù)據(jù)庫(kù)設(shè)計(jì)
4.2.1 數(shù)據(jù)庫(kù)設(shè)計(jì)原則
4.2.2 數(shù)據(jù)庫(kù)實(shí)體
4.3?數(shù)據(jù)庫(kù)設(shè)計(jì)原則
4.3.1?數(shù)據(jù)庫(kù)表設(shè)計(jì)
5系統(tǒng)界面實(shí)現(xiàn)
5.1 登錄
5.2 ?管理員功能模塊
管理員首頁(yè)
用戶信息管理
商品信息管理
訂單管理
5.3用戶客戶端功能模塊
6系統(tǒng)測(cè)試
6.1系統(tǒng)測(cè)試的意義
6.2 測(cè)試方法
6.3測(cè)試分析
結(jié) ???論
致 ???謝
參考文獻(xiàn)
1.1研究背景
系統(tǒng)管理也都將通過(guò)計(jì)算機(jī)進(jìn)行整體智能化操作,對(duì)于農(nóng)產(chǎn)品銷售信息系統(tǒng)所牽扯的管理及數(shù)據(jù)保存都是非常多的,例如管理員;首頁(yè)、網(wǎng)站管理(輪播圖、公告信息)人員管理(管理員、會(huì)員用戶、農(nóng)戶用戶)內(nèi)容管理(精品資訊、資訊分類)模塊管理(惠農(nóng)政策、課程學(xué)習(xí)、農(nóng)戶商城、訂單信息、物流信息、退換商品、訂單評(píng)價(jià)、客服咨詢、商品類型)個(gè)人管理等,這給管理者的工作帶來(lái)了巨大的挑戰(zhàn),面對(duì)大量的信息,傳統(tǒng)的管理系統(tǒng),都是通過(guò)筆記的方式進(jìn)行詳細(xì)信息的統(tǒng)計(jì),后來(lái)出現(xiàn)電腦,通過(guò)電腦輸入軟件將紙質(zhì)的信息統(tǒng)計(jì)到電腦上,這種方式比較傳統(tǒng),而且想要統(tǒng)計(jì)數(shù)據(jù)信息比較麻煩,還受時(shí)間和空間的影響,所以為此開(kāi)發(fā)了農(nóng)產(chǎn)品銷售信息系統(tǒng);為用戶提供了方便管理平臺(tái),方便管理員查看及維護(hù),并且可以通過(guò)需求進(jìn)行內(nèi)容的編輯及維護(hù)等;對(duì)于用戶而言,可以隨時(shí)進(jìn)行查詢所需信息,管理員可以足不出戶就可以獲取到系統(tǒng)的數(shù)據(jù)信息等,而且還能節(jié)省用戶很多時(shí)間,所以開(kāi)發(fā)農(nóng)產(chǎn)品銷售信息系統(tǒng)給管理者帶來(lái)了很大的方便,同時(shí)也方便管理員對(duì)用戶信息進(jìn)行處理。
本論文農(nóng)產(chǎn)品銷售信息系統(tǒng)主要牽扯到的程序,數(shù)據(jù)庫(kù)與計(jì)算機(jī)技術(shù)等。覆蓋知識(shí)面大,可以大大的提高系統(tǒng)人員工作效率。
1.2 研究意義
隨著國(guó)內(nèi)經(jīng)濟(jì)形勢(shì)的不斷發(fā)展,中國(guó)互聯(lián)網(wǎng)進(jìn)入了一個(gè)難得的高峰發(fā)展時(shí)期,這使得中外資本家紛紛轉(zhuǎn)向互聯(lián)網(wǎng)市場(chǎng)。 然而,許多管理領(lǐng)域的不合理結(jié)構(gòu),人員不足以及市場(chǎng)管理需求的增加使得更多的人具備了互聯(lián)網(wǎng)管理的意識(shí)。
在當(dāng)今高度發(fā)達(dá)的信息中,信息管理改革已成為一種更加廣泛和全面的趨勢(shì)。 “農(nóng)產(chǎn)品銷售信息系統(tǒng)”是基于Mysql數(shù)據(jù)庫(kù),在springboot框架程序設(shè)計(jì)的基礎(chǔ)上實(shí)現(xiàn)的。為確保中國(guó)經(jīng)濟(jì)的持續(xù)發(fā)展,信息時(shí)代日益更新,服務(wù)行業(yè)仍在蓬勃發(fā)展。同時(shí),隨著信息社會(huì)的快速發(fā)展,各種管理系統(tǒng)面臨著越來(lái)越多的數(shù)據(jù)需要處理,如何用方便快捷的方式使管理者在廣闊的數(shù)據(jù)海洋里面查詢、存儲(chǔ)、管理和共享有效的數(shù)據(jù)信息,對(duì)我們的學(xué)習(xí),工作和生活具有重要的現(xiàn)實(shí)意義。因此,國(guó)內(nèi)外學(xué)術(shù)界對(duì)此進(jìn)行了深入而廣泛的研究,一個(gè)新的研究領(lǐng)域——農(nóng)產(chǎn)品銷售信息系統(tǒng)誕生了。
1.3 本課題主要工作
一開(kāi)始,本文就對(duì)系統(tǒng)內(nèi)談到的基本知識(shí),從整體上進(jìn)行了描述,并在此基礎(chǔ)上進(jìn)行了系統(tǒng)分析。為了能夠使本系統(tǒng)較好、較為完善的被設(shè)計(jì)實(shí)現(xiàn)出來(lái),就必須先進(jìn)行分析調(diào)查?;谥跋嚓P(guān)的基礎(chǔ),在功能上,對(duì)新系統(tǒng)進(jìn)行了細(xì)致的分析。然后通過(guò)詳細(xì)的分析,進(jìn)行系統(tǒng)設(shè)計(jì),其次,系統(tǒng)在實(shí)施的可行性上,我選擇了微信小程序技術(shù)來(lái)進(jìn)行開(kāi)發(fā)設(shè)計(jì),在數(shù)據(jù)存儲(chǔ)上,采用 Mysql數(shù)據(jù)庫(kù)來(lái)進(jìn)行設(shè)計(jì)。由于微信小程序和Mysql都已經(jīng)非常成熟,因此無(wú)論在各個(gè)方面,都非??煽堪踩珜?shí)用。最后對(duì)系統(tǒng)進(jìn)行測(cè)試完善并發(fā)布。
2 系統(tǒng)開(kāi)發(fā)環(huán)境??
2.1 java技術(shù)
Java語(yǔ)言是在二十世紀(jì)末由Sun公司發(fā)布的,而且公開(kāi)源代碼,這一優(yōu)點(diǎn)吸引了許多世界各地優(yōu)秀的編程愛(ài)好者,也使得他們開(kāi)發(fā)出當(dāng)時(shí)一款又一款經(jīng)典好玩的小游戲。Java語(yǔ)言是純面向?qū)ο笳Z(yǔ)言之一,從發(fā)布初期到現(xiàn)今,可以說(shuō)有將近20多年的歷史,已發(fā)展成為人類計(jì)算機(jī)編程語(yǔ)言發(fā)展史上的一個(gè)深遠(yuǎn)影響。
Java語(yǔ)言具有非常多種的特性:(1)跨平臺(tái)的無(wú)關(guān)性;(2)面向?qū)ο?#xff1b; (3)安全性得以保障;(4)支持多個(gè)任務(wù);(5)多種編寫(xiě)方式,代碼編寫(xiě)簡(jiǎn)單。對(duì)比其他的低級(jí)語(yǔ)言、高級(jí)語(yǔ)言,Java語(yǔ)言具有明顯的顯著優(yōu)勢(shì)以及未來(lái)開(kāi)闊的前景,可以廣泛的應(yīng)用在個(gè)人筆記本電腦、大數(shù)據(jù)、大型游戲等等。
首先,Java語(yǔ)言具有面向?qū)ο蟮奶匦?#xff0c;并且易于理解。關(guān)于對(duì)象,其實(shí)可以理解成每一種事物都是一種對(duì)象,包括我們?nèi)祟愖陨矶际且环N對(duì)象。利用面向?qū)ο笳Z(yǔ)言的基本特征來(lái)解決軟件開(kāi)發(fā)中的實(shí)際問(wèn)題,為有效軟件開(kāi)發(fā)提供了技術(shù)支持。
其次,Java 語(yǔ)言具有很好的跨平臺(tái)無(wú)關(guān)性。所編寫(xiě)出來(lái)的應(yīng)用程序是Java語(yǔ)言編寫(xiě)的,那么就無(wú)需再使用編譯器來(lái)修改程序代碼,可以直接在任何計(jì)算機(jī)系統(tǒng)中運(yùn)行,Windows系統(tǒng)可以運(yùn)行,在Linux系統(tǒng)中也可以,也就是經(jīng)過(guò)一次編譯,可以到處運(yùn)行,所以Java語(yǔ)言具有卓越的可移植性,可以很好的跨平臺(tái)實(shí)現(xiàn)。
2.2?Mysql數(shù)據(jù)庫(kù)
mysql 數(shù)據(jù)庫(kù)它有很多的優(yōu)點(diǎn),例如它在操作上能夠讓人通俗易懂、功能強(qiáng)大、信息儲(chǔ)存量高等優(yōu)點(diǎn)。所以被人們廣泛應(yīng)用,對(duì)于mysql數(shù)據(jù)庫(kù)來(lái)說(shuō)它一般主要是對(duì)數(shù)據(jù)進(jìn)行編碼和查詢,而且在很多的設(shè)計(jì)當(dāng)中都應(yīng)用到了該數(shù)據(jù)庫(kù),在此過(guò)程當(dāng)中我們可以對(duì)常規(guī)的數(shù)據(jù)進(jìn)行查詢和組合,所以我們?cè)谶M(jìn)行使用mysql數(shù)據(jù)庫(kù)的時(shí)候只要對(duì)編寫(xiě)一小段的數(shù)據(jù)就能實(shí)現(xiàn)相應(yīng)的功能。數(shù)據(jù)庫(kù),就是數(shù)據(jù)存儲(chǔ)的儲(chǔ)藏室,只不過(guò)數(shù)據(jù)是存儲(chǔ)在計(jì)算機(jī)上的,而不是現(xiàn)實(shí)中的儲(chǔ)藏室,數(shù)據(jù)的存放是按固定格式,而不是無(wú)序的,則定義就是 :長(zhǎng)期有固定格式,可以共享的存儲(chǔ)在計(jì)算機(jī)存儲(chǔ)器上。數(shù)據(jù)庫(kù)管理主要包括數(shù)據(jù)表的建立,數(shù)據(jù)存儲(chǔ)、修改和增加數(shù)據(jù),為了使數(shù)據(jù)庫(kù)系統(tǒng)能夠正常運(yùn)行,相關(guān)人員進(jìn)行的管理工作。數(shù)據(jù)表的建立,可以對(duì)數(shù)據(jù)表中的數(shù)據(jù)進(jìn)行調(diào)整,數(shù)據(jù)的重新組合及重新構(gòu)造,保證數(shù)據(jù)的安全性。
2.3 小程序框架以及目錄結(jié)構(gòu)介紹
2.4 spring boot框架介紹
Spring框架是Java平臺(tái)上的一種開(kāi)源應(yīng)用框架,提供具有控制反轉(zhuǎn)特性的容器。盡管Spring框架自身對(duì)編程模型沒(méi)有限制,但其在Java應(yīng)用中的頻繁使用讓它備受青睞,以至于后來(lái)讓它作為EJB(EnterpriseJavaBeans)模型的補(bǔ)充,甚至是替補(bǔ)。Spring框架為開(kāi)發(fā)提供了一系列的解決方案,比如利用控制反轉(zhuǎn)的核心特性,并通過(guò)依賴注入實(shí)現(xiàn)控制反轉(zhuǎn)來(lái)實(shí)現(xiàn)管理對(duì)象生命周期容器化,利用面向切面編程進(jìn)行聲明式的事務(wù)管理,整合多種持久化技術(shù)管理數(shù)據(jù)訪問(wèn),提供大量?jī)?yōu)秀的Web框架方便開(kāi)發(fā)等等。Spring框架具有控制反轉(zhuǎn)(IOC)特性,IOC旨在方便項(xiàng)目維護(hù)和測(cè)試,它提供了一種通過(guò)Java的反射機(jī)制對(duì)Java對(duì)象進(jìn)行統(tǒng)一的配置和管理的方法。Spring框架利用容器管理對(duì)象的生命周期,容器可以通過(guò)掃描XML文件或類上特定Java注解來(lái)配置對(duì)象,開(kāi)發(fā)者可以通過(guò)依賴查找或依賴注入來(lái)獲得對(duì)象。Spring框架具有面向切面編程(AOP)框架,SpringAOP框架基于代理模式,同時(shí)運(yùn)行時(shí)可配置;AOP框架主要針對(duì)模塊之間的交叉關(guān)注點(diǎn)進(jìn)行模塊化。Spring框架的AOP框架僅提供基本的AOP特性,雖無(wú)法與AspectJ框架相比,但通過(guò)與AspectJ的集成,也可以滿足基本需求。Spring框架下的事務(wù)管理、遠(yuǎn)程訪問(wèn)等功能均可以通過(guò)使用SpringAOP技術(shù)實(shí)現(xiàn)。Spring的事務(wù)管理框架為Java平臺(tái)帶來(lái)了一種抽象機(jī)制,使本地和全局事務(wù)以及嵌套事務(wù)能夠與保存點(diǎn)一起工作,并且?guī)缀蹩梢栽贘ava平臺(tái)的任何環(huán)境中工作。Spring集成多種事務(wù)模板,系統(tǒng)可以通過(guò)事務(wù)模板、XML或Java注解進(jìn)行事務(wù)配置,并且事務(wù)框架集成了消息傳遞和緩存等功能。Spring的數(shù)據(jù)訪問(wèn)框架解決了開(kāi)發(fā)人員在應(yīng)用程序中使用數(shù)據(jù)庫(kù)時(shí)遇到的常見(jiàn)困難。它不僅對(duì)Java:JDBC、iBATS/MyBATIs、Hibernate、Java數(shù)據(jù)對(duì)象(JDO)、ApacheOJB和ApacheCayne等所有流行的數(shù)據(jù)訪問(wèn)框架中提供支持,同時(shí)還可以與Spring的事務(wù)管理一起使用,為數(shù)據(jù)訪問(wèn)提供了靈活的抽象。Spring框架最初是沒(méi)有打算構(gòu)建一個(gè)自己的WebMVC框架,其開(kāi)發(fā)人員在開(kāi)發(fā)過(guò)程中認(rèn)為現(xiàn)有的StrutsWeb框架的呈現(xiàn)層和請(qǐng)求處理層之間以及請(qǐng)求處理層和模型之間的分離不夠,于是創(chuàng)建了SpringMVC。
3 系統(tǒng)分析
所謂系統(tǒng)分析就是,管理員通過(guò)與用戶客戶端的溝通,所獲取的信息,然后把這些信息通過(guò)需求說(shuō)明書(shū)的方式展示給用戶和開(kāi)發(fā)人員。在軟件功能發(fā)展的歷史長(zhǎng)河中,很長(zhǎng)時(shí)間,特別是最開(kāi)始的時(shí)候,需求分析的重要性并不被人們所認(rèn)同,例如當(dāng)時(shí)美國(guó)IBM公司為英國(guó)電信公司開(kāi)發(fā)一套信息管理系統(tǒng),在需求不明確的情況下開(kāi)始開(kāi)發(fā),最初的工期為一年,由于需求獲取不清晰導(dǎo)致工期推遲了半年多,造成巨大損失。我們很多軟件公司也存在這種情況,邊需求,邊開(kāi)發(fā),甚至與客戶沒(méi)有溝通清楚的情況下,直接照搬同類型的項(xiàng)目進(jìn)行更改,導(dǎo)致到系統(tǒng)驗(yàn)收的時(shí)候,重新更改,造成了人力、物力的極大浪費(fèi)。而導(dǎo)致這一切后果的原因就是需求獲取不及時(shí)、不清楚、不全面。
3.1 可行性分析
農(nóng)產(chǎn)品銷售信息系統(tǒng)主要目標(biāo)是實(shí)現(xiàn)惠農(nóng)政策、課程學(xué)習(xí)、農(nóng)戶商城、訂單信息、物流信息、退換商品、訂單評(píng)價(jià)、客服咨詢、商品類型的相關(guān)信息管理服務(wù)。在確定了目標(biāo)后,我們從以下四方面對(duì)能否實(shí)現(xiàn)本系統(tǒng)目標(biāo)進(jìn)行可行性分析。
3.1.1 技術(shù)可行性
小程序農(nóng)產(chǎn)品銷售信息系統(tǒng)主要采用微信小程序技術(shù),java語(yǔ)言,Mysql數(shù)據(jù)庫(kù),對(duì)于應(yīng)用程序的開(kāi)發(fā)要求具備完整功能,使用簡(jiǎn)單的特點(diǎn),并建立一個(gè)數(shù)據(jù)完整安全穩(wěn)定的數(shù)據(jù)庫(kù)。農(nóng)產(chǎn)品銷售信息系統(tǒng)的開(kāi)發(fā)技術(shù)具有很高可行性,且開(kāi)發(fā)人員掌握了一定的開(kāi)發(fā)技術(shù),所以系統(tǒng)的開(kāi)發(fā)具有可行性。
3.1.2操作可行性
小程序農(nóng)產(chǎn)品銷售信息系統(tǒng)的登錄界面簡(jiǎn)單易于操作,采用常見(jiàn)的界面窗口來(lái)登錄界面,通過(guò)電腦進(jìn)行訪問(wèn)操作,用戶只要平時(shí)使用過(guò)電腦都能進(jìn)行訪問(wèn)操作。此系統(tǒng)的開(kāi)發(fā)采用微信小程序開(kāi)發(fā),后臺(tái)結(jié)合java語(yǔ)言,這些開(kāi)發(fā)環(huán)境使系統(tǒng)更加完善。本系統(tǒng)具有易操作、易管理、交互性好的特點(diǎn),在操作上是非常簡(jiǎn)單的。因此本系統(tǒng)可以進(jìn)行開(kāi)發(fā)。
3.1.3 經(jīng)濟(jì)可行性
農(nóng)產(chǎn)品銷售信息系統(tǒng)是服務(wù)端基于B/S模式、java技術(shù),客戶端采用微信小程序、采用Mysql數(shù)據(jù)庫(kù)儲(chǔ)存數(shù)據(jù),所要求的硬件和軟件環(huán)境,市場(chǎng)上都很容易購(gòu)買(mǎi),程序開(kāi)發(fā)主要是管理系統(tǒng)的開(kāi)發(fā)和維護(hù)。所以程序在開(kāi)發(fā)人力、財(cái)力上要求不高,而且此系統(tǒng)不是很復(fù)雜,開(kāi)發(fā)周期短,在經(jīng)濟(jì)方面具有較高的可行性。
3.1.4 法律可行性
此農(nóng)產(chǎn)品銷售信息系統(tǒng)是自己設(shè)計(jì)的管理系統(tǒng),具有很大的實(shí)際意義。因?yàn)闊o(wú)論是軟件還是數(shù)據(jù)庫(kù),采用的都是開(kāi)源代碼,因此這個(gè)系統(tǒng)的開(kāi)發(fā)和設(shè)計(jì),并不存在侵權(quán)等問(wèn)題,在法律上完全具有可行性。
綜上所述,農(nóng)產(chǎn)品銷售信息系統(tǒng)在技術(shù)、經(jīng)濟(jì)、操作和法律上都具有很高的可行性,開(kāi)發(fā)此程序是可行的。
3.2系統(tǒng)流程分析
3.2.1系統(tǒng)開(kāi)發(fā)流程
農(nóng)產(chǎn)品銷售信息系統(tǒng)開(kāi)發(fā)時(shí),首先進(jìn)行需求分析,進(jìn)而對(duì)系統(tǒng)進(jìn)行總體的設(shè)計(jì)規(guī)劃,設(shè)計(jì)系統(tǒng)功能模塊,數(shù)據(jù)庫(kù)的選擇等,本系統(tǒng)的開(kāi)發(fā)流程如圖3-1所示
圖3-1系統(tǒng)開(kāi)發(fā)流程圖
3.2.2 用戶登錄流程
為了保證系統(tǒng)的安全性,要使用本系統(tǒng)對(duì)系統(tǒng)信息進(jìn)行管理,必須先登陸到系統(tǒng)中。如圖3-3所示。

圖3-2 登錄流程圖
3.2.3 系統(tǒng)操作流程
用戶打開(kāi)客戶端并進(jìn)入系統(tǒng)后,會(huì)先顯示登錄界面,輸入正確的用戶名和密碼,系統(tǒng)自動(dòng)檢測(cè)信息,若信息無(wú)誤,則用戶會(huì)進(jìn)入系統(tǒng)功能界面,進(jìn)行操作,否則會(huì)提示錯(cuò)誤無(wú)法登錄,操作流程如圖3-3所示。
圖3-3 系統(tǒng)操作流程圖
3.2.4 添加信息流程
管理員可以對(duì)用戶信息、等進(jìn)行信息的添加、刪除、修改,用戶也可以對(duì)自己權(quán)限內(nèi)的信息進(jìn)行添加刪除、修改等等操作,輸入信息后,系統(tǒng)會(huì)自行驗(yàn)證輸入的信息和數(shù)據(jù),若信息正確,會(huì)將其添加到數(shù)據(jù)庫(kù)內(nèi),若信息有誤,則會(huì)提示重新輸入信息,添加信息流程如圖3-4所示。
圖3-4 添加信息流程圖
3.2.5 修改信息流程
管理員可以對(duì)職位信息、職位推薦等進(jìn)行信息的修改,用戶也可以對(duì)自己權(quán)限內(nèi)的信息進(jìn)行修改,首先進(jìn)入修改信息界面,輸入修改信息數(shù)據(jù),系統(tǒng)進(jìn)行數(shù)據(jù)的判斷驗(yàn)證,修改信息合法則修改成功,信息更新至數(shù)據(jù)庫(kù),信息不合法則修改失敗,重新輸入。修改信息流程圖如圖3-5所示。
圖3-5 修改信息流程圖
3.2.6 刪除信息流程
管理員可以對(duì)商品信息管理、系統(tǒng)管理等進(jìn)行信息的刪除,對(duì)要?jiǎng)h除的信息進(jìn)行選中后,點(diǎn)擊刪除按鈕,系統(tǒng)會(huì)詢問(wèn)是否確定,若點(diǎn)擊確定,則系統(tǒng)會(huì)刪除掉選中的信息,并在數(shù)據(jù)庫(kù)內(nèi)對(duì)信息進(jìn)行刪除,刪除信息流程圖如圖3-6所示。
圖3-6 刪除信息流程圖
3.3用例分析
1.普通用戶主要使用系統(tǒng)的農(nóng)產(chǎn)品銷售信息系統(tǒng)發(fā)布商品信息,下圖所示為普通用戶的用例圖。

圖3-1 普通用戶用例圖
3.管理員主要負(fù)責(zé)首頁(yè)、網(wǎng)站管理(輪播圖、公告信息)人員管理(管理員、會(huì)員用戶、農(nóng)戶用戶)內(nèi)容管理(精品資訊、資訊分類)模塊管理(惠農(nóng)政策、課程學(xué)習(xí)、農(nóng)戶商城、訂單信息、物流信息、退換商品、訂單評(píng)價(jià)、客服咨詢、商品類型)個(gè)人管理,下圖所示描述管理員的用例圖。

圖3-3 管理員用例圖
- 商戶主要負(fù)責(zé)首頁(yè)、模塊管理(農(nóng)戶商城、訂單信息、物流信息、退換商品、訂單評(píng)價(jià))個(gè)人管理、商家,下圖所示描述管理員的用例圖

3.4系統(tǒng)流程分析
3.4.1添加信息流程
添加信息,編號(hào)系統(tǒng)使用自動(dòng)編號(hào)模式,沒(méi)有用戶填寫(xiě),用戶添加信息輸入信息,系統(tǒng)將自動(dòng)確認(rèn)的信息和數(shù)據(jù),驗(yàn)證的成功是有效的信息添加到數(shù)據(jù)庫(kù),信息無(wú)效,重新輸入信息。添加信息流程如圖3-3所示。
圖3-3?添加信息流程圖
3.4.2操作流程
用戶想進(jìn)入系統(tǒng),首先進(jìn)入系統(tǒng)登錄界面,通過(guò)正確的用戶名、密碼,選擇登錄類型登錄,系統(tǒng)會(huì)檢查登錄信息,信息正確,然后輸入相應(yīng)的功能界面,提示信息錯(cuò)誤,登錄失敗。系統(tǒng)操作流程如圖3-4所示。

圖3-4操作流程圖
3.4.3刪除信息流程
用戶選擇要?jiǎng)h除的信息并單擊Delete按鈕。系統(tǒng)提示是否刪除信息。如果用戶想要?jiǎng)h除信息,系統(tǒng)將刪除信息。系統(tǒng)數(shù)據(jù)庫(kù)刪除信息。刪除信息流程圖如圖3-5所示。
圖3-5?刪除信息流程圖
4系統(tǒng)概述
進(jìn)過(guò)系統(tǒng)的分析后,就開(kāi)始記性系統(tǒng)的設(shè)計(jì),系統(tǒng)設(shè)計(jì)包含總體設(shè)計(jì)和詳細(xì)設(shè)計(jì)??傮w設(shè)計(jì)只是一個(gè)大體的設(shè)計(jì),經(jīng)過(guò)了總體設(shè)計(jì),我們能夠劃分出系統(tǒng)的一些東西,例如文件、文檔、數(shù)據(jù)等。而且我們通過(guò)總體設(shè)計(jì),大致可以劃分出了程序的模塊,以及功能。但是只是一個(gè)初步的分類,并沒(méi)有真正的實(shí)現(xiàn)。
整體設(shè)計(jì),只是一個(gè)初步設(shè)計(jì),而且,對(duì)于一個(gè)項(xiàng)目,我們可以進(jìn)行多個(gè)整體設(shè)計(jì),通過(guò)對(duì)比,包括性能的對(duì)比、成本的對(duì)比、效益的對(duì)比,來(lái)最終確定一個(gè)最優(yōu)的設(shè)計(jì)方案,選擇優(yōu)秀的整體設(shè)計(jì)可以降低開(kāi)發(fā)成本,增加公司效益,從這一點(diǎn)來(lái)講,整體設(shè)計(jì)還是非常重要的。
農(nóng)產(chǎn)品銷售信息系統(tǒng)工作原理圖如圖4-1所示:

圖4-1 系統(tǒng)工作原理圖
4.1?系統(tǒng)結(jié)構(gòu)設(shè)計(jì)
系統(tǒng)架構(gòu)圖屬于系統(tǒng)設(shè)計(jì)階段,系統(tǒng)架構(gòu)圖只是這個(gè)階段一個(gè)產(chǎn)物,系統(tǒng)的總體架構(gòu)決定了整個(gè)系統(tǒng)的模式,是系統(tǒng)的基礎(chǔ)?;谵r(nóng)產(chǎn)品銷售信息系統(tǒng)的整體結(jié)構(gòu)設(shè)計(jì)如圖4-2所示。

圖4-2 系統(tǒng)結(jié)構(gòu)圖
4.2數(shù)據(jù)庫(kù)設(shè)計(jì)
數(shù)據(jù)庫(kù)是計(jì)算機(jī)信息系統(tǒng)的基礎(chǔ)。目前,電腦系統(tǒng)的關(guān)鍵與核心部分就是數(shù)據(jù)庫(kù)。數(shù)據(jù)庫(kù)開(kāi)發(fā)的優(yōu)劣對(duì)整個(gè)系統(tǒng)的質(zhì)量和速度有著直接影響。
4.2.1 數(shù)據(jù)庫(kù)設(shè)計(jì)原則
概念模式它主要是建立在數(shù)據(jù)需求分析的基礎(chǔ)上,它通常是用概念數(shù)據(jù)模型來(lái)表示各個(gè)數(shù)據(jù)之間的聯(lián)系,并且對(duì)系統(tǒng)用戶進(jìn)行信息的處理和管理,同時(shí)建立起E-R圖來(lái)表示具體的實(shí)體、屬性和聯(lián)系的關(guān)系。
4.2.2 數(shù)據(jù)庫(kù)實(shí)體
4.3?數(shù)據(jù)庫(kù)設(shè)計(jì)原則
每個(gè)數(shù)據(jù)庫(kù)的應(yīng)用它們都是和區(qū)分開(kāi)的,當(dāng)運(yùn)行到一定的程序當(dāng)中,它就會(huì)與自己相關(guān)的協(xié)議與客戶端進(jìn)行通訊。那么這個(gè)系統(tǒng)就會(huì)對(duì)使這些數(shù)據(jù)進(jìn)行連接。當(dāng)我們選擇哪個(gè)橋段的時(shí)候,接下來(lái)就會(huì)簡(jiǎn)單的敘述這個(gè)數(shù)據(jù)庫(kù)是如何來(lái)創(chuàng)建的。當(dāng)點(diǎn)擊完成按鈕的時(shí)候就會(huì)自動(dòng)在對(duì)話框內(nèi)彈出數(shù)據(jù)源的名稱,在進(jìn)行點(diǎn)擊下一步即可,直接在輸入相對(duì)應(yīng)的身份驗(yàn)證和登錄密碼。?
農(nóng)產(chǎn)品銷售網(wǎng)站的數(shù)據(jù)流程:

圖4-4??系統(tǒng)數(shù)據(jù)流程圖
農(nóng)產(chǎn)品銷售信息系統(tǒng)實(shí)體E-R圖,如圖4.5所示。

圖4.5實(shí)體E-R圖
4.3.1?數(shù)據(jù)庫(kù)表設(shè)計(jì)
數(shù)據(jù)庫(kù)的表信息屬于設(shè)計(jì)的一部分,下面介紹數(shù)據(jù)庫(kù)中的各個(gè)表的詳細(xì)信息。
commodity | |||||
字段名稱 | 類型 | 長(zhǎng)度 | 不是null | 主鍵 | 字段說(shuō)明 |
commodity_id | int | 11 | 是 | 主鍵 | 商品類型ID |
product_type | varchar | 64 | 否 | 商品類型 | |
recommend | int | 11 | 是 | 智能推薦 | |
create_time | datetime | 0 | 是 | 創(chuàng)建時(shí)間 | |
update_time | timestamp | 0 | 是 | 更新時(shí)間 | |
course_learning | |||||
字段名稱 | 類型 | 長(zhǎng)度 | 不是null | 主鍵 | 字段說(shuō)明 |
course_learning_id | int | 11 | 是 | 主鍵 | 課程學(xué)習(xí)ID |
course_name | varchar | 64 | 否 | 課程名稱 | |
course_type | varchar | 64 | 否 | 課程類型 | |
release_date | date | 0 | 否 | 發(fā)布日期 | |
course_introduction | text | 0 | 否 | 課程簡(jiǎn)介 | |
course_cover | varchar | 255 | 否 | 課程封面 | |
course_video | varchar | 255 | 否 | 課程視頻 | |
course_details | longtext | 0 | 否 | 課程詳情 | |
hits | int | 11 | 是 | 點(diǎn)擊數(shù) | |
praise_len | int | 11 | 是 | 點(diǎn)贊數(shù) | |
recommend | int | 11 | 是 | 智能推薦 | |
create_time | datetime | 0 | 是 | 創(chuàng)建時(shí)間 | |
update_time | timestamp | 0 | 是 | 更新時(shí)間 | |
customer_service_consultation | |||||
字段名稱 | 類型 | 長(zhǎng)度 | 不是null | 主鍵 | 字段說(shuō)明 |
customer_service_consultation_id | int | 11 | 是 | 主鍵 | 客服咨詢ID |
member_information | int | 11 | 否 | 會(huì)員信息 | |
member_name | varchar | 64 | 否 | 會(huì)員姓名 | |
consultation_date | date | 0 | 否 | 咨詢?nèi)掌?/span> | |
consultation_content | text | 0 | 否 | 咨詢內(nèi)容 | |
content_reply | text | 0 | 否 | 內(nèi)容回復(fù) | |
send_pictures | varchar | 255 | 否 | 發(fā)送圖片 | |
recommend | int | 11 | 是 | 智能推薦 | |
create_time | datetime | 0 | 是 | 創(chuàng)建時(shí)間 | |
update_time | timestamp | 0 | 是 | 更新時(shí)間 | |
farmers_mall | |||||
字段名稱 | 類型 | 長(zhǎng)度 | 不是null | 主鍵 | 字段說(shuō)明 |
farmers_mall_id | int | 11 | 是 | 主鍵 | 農(nóng)戶商城ID |
farmer_information | int | 11 | 否 | 農(nóng)戶信息 | |
trade_name | varchar | 64 | 否 | 商品名稱 | |
product_type | varchar | 64 | 否 | 商品類型 | |
commodity_price | varchar | 64 | 否 | 商品價(jià)格 | |
product_features | varchar | 64 | 否 | 商品特色 | |
product_details | text | 0 | 否 | 商品詳情 | |
product_cover | varchar | 255 | 否 | 商品封面 | |
hits | int | 11 | 是 | 點(diǎn)擊數(shù) | |
praise_len | int | 11 | 是 | 點(diǎn)贊數(shù) | |
examine_state | varchar | 16 | 是 | 審核狀態(tài) | |
recommend | int | 11 | 是 | 智能推薦 | |
create_time | datetime | 0 | 是 | 創(chuàng)建時(shí)間 | |
update_time | timestamp | 0 | 是 | 更新時(shí)間 | |
farmers_users | |||||
字段名稱 | 類型 | 長(zhǎng)度 | 不是null | 主鍵 | 字段說(shuō)明 |
farmers_users_id | int | 11 | 是 | 主鍵 | 農(nóng)戶用戶ID |
name_of_farmers | varchar | 64 | 否 | 農(nóng)戶名稱 | |
gender_of_farmers | varchar | 64 | 否 | 農(nóng)戶性別 | |
age_of_farmers | varchar | 64 | 否 | 農(nóng)戶年齡 | |
store_name | varchar | 64 | 否 | 店鋪名稱 | |
examine_state | varchar | 16 | 是 | 審核狀態(tài) | |
recommend | int | 11 | 是 | 智能推薦 | |
user_id | int | 11 | 是 | 用戶ID | |
create_time | datetime | 0 | 是 | 創(chuàng)建時(shí)間 | |
update_time | timestamp | 0 | 是 | 更新時(shí)間 | |
logistics_information | |||||
字段名稱 | 類型 | 長(zhǎng)度 | 不是null | 主鍵 | 字段說(shuō)明 |
logistics_information_id | int | 11 | 是 | 主鍵 | 物流信息ID |
order_no | varchar | 64 | 否 | 訂單編號(hào) | |
member_information | int | 11 | 否 | 會(huì)員信息 | |
farmer_information | int | 11 | 否 | 農(nóng)戶信息 | |
trade_name | varchar | 64 | 否 | 商品名稱 | |
express_no | varchar | 64 | 否 | 快遞編號(hào) | |
express_type | varchar | 64 | 否 | 快遞類型 | |
express_status | varchar | 64 | 否 | 快遞狀態(tài) | |
logistics_details | text | 0 | 否 | 物流詳情 | |
recommend | int | 11 | 是 | 智能推薦 | |
create_time | datetime | 0 | 是 | 創(chuàng)建時(shí)間 | |
update_time | timestamp | 0 | 是 | 更新時(shí)間 | |
order_evaluation | |||||
字段名稱 | 類型 | 長(zhǎng)度 | 不是null | 主鍵 | 字段說(shuō)明 |
order_evaluation_id | int | 11 | 是 | 主鍵 | 訂單評(píng)價(jià)ID |
order_no | varchar | 64 | 否 | 訂單編號(hào) | |
member_information | int | 11 | 否 | 會(huì)員信息 | |
farmer_information | int | 11 | 否 | 農(nóng)戶信息 | |
trade_name | varchar | 64 | 否 | 商品名稱 | |
product_type | varchar | 64 | 否 | 商品類型 | |
evaluation_grade | varchar | 64 | 否 | 評(píng)價(jià)星級(jí) | |
evaluation_details | text | 0 | 否 | 評(píng)價(jià)詳情 | |
evaluation_picture | varchar | 255 | 否 | 評(píng)價(jià)圖片 | |
recommend | int | 11 | 是 | 智能推薦 | |
create_time | datetime | 0 | 是 | 創(chuàng)建時(shí)間 | |
update_time | timestamp | 0 | 是 | 更新時(shí)間 | |
order_information | |||||
字段名稱 | 類型 | 長(zhǎng)度 | 不是null | 主鍵 | 字段說(shuō)明 |
order_information_id | int | 11 | 是 | 主鍵 | 訂單信息ID |
order_no | varchar | 64 | 否 | 訂單編號(hào) | |
member_information | int | 11 | 否 | 會(huì)員信息 | |
farmer_information | int | 11 | 否 | 農(nóng)戶信息 | |
trade_name | varchar | 64 | 否 | 商品名稱 | |
product_type | varchar | 64 | 否 | 商品類型 | |
commodity_price | varchar | 64 | 否 | 商品價(jià)格 | |
purchase_quantity | varchar | 64 | 否 | 購(gòu)買(mǎi)數(shù)量 | |
total_price_of_goods | varchar | 64 | 否 | 商品總價(jià) | |
pay_state | varchar | 16 | 是 | 支付狀態(tài) | |
pay_type | varchar | 16 | 否 | 支付類型: 微信、支付寶、網(wǎng)銀 | |
recommend | int | 11 | 是 | 智能推薦 | |
create_time | datetime | 0 | 是 | 創(chuàng)建時(shí)間 | |
update_time | timestamp | 0 | 是 | 更新時(shí)間 | |
ordinary_users | |||||
字段名稱 | 類型 | 長(zhǎng)度 | 不是null | 主鍵 | 字段說(shuō)明 |
ordinary_users_id | int | 11 | 是 | 主鍵 | 會(huì)員用戶ID |
member_name | varchar | 64 | 否 | 會(huì)員姓名 | |
member_gender | varchar | 64 | 否 | 會(huì)員性別 | |
membership_age | varchar | 64 | 否 | 會(huì)員年齡 | |
examine_state | varchar | 16 | 是 | 審核狀態(tài) | |
recommend | int | 11 | 是 | 智能推薦 | |
user_id | int | 11 | 是 | 用戶ID | |
create_time | datetime | 0 | 是 | 創(chuàng)建時(shí)間 | |
update_time | timestamp | 0 | 是 | 更新時(shí)間 | |
preferential_agricultural_policy | |||||
字段名稱 | 類型 | 長(zhǎng)度 | 不是null | 主鍵 | 字段說(shuō)明 |
preferential_agricultural_policy_id | int | 11 | 是 | 主鍵 | 惠農(nóng)政策ID |
policy_name | varchar | 64 | 否 | 政策名稱 | |
policy_type | varchar | 64 | 否 | 政策類型 | |
release_date | date | 0 | 否 | 發(fā)布日期 | |
policy_introduction | text | 0 | 否 | 政策簡(jiǎn)介 | |
policy_cover | varchar | 255 | 否 | 政策封面 | |
policy_video | varchar | 255 | 否 | 政策視頻 | |
policy_details | longtext | 0 | 否 | 政策詳情 | |
hits | int | 11 | 是 | 點(diǎn)擊數(shù) | |
praise_len | int | 11 | 是 | 點(diǎn)贊數(shù) | |
recommend | int | 11 | 是 | 智能推薦 | |
create_time | datetime | 0 | 是 | 創(chuàng)建時(shí)間 | |
update_time | timestamp | 0 | 是 | 更新時(shí)間 | |
returns | |||||
字段名稱 | 類型 | 長(zhǎng)度 | 不是null | 主鍵 | 字段說(shuō)明 |
returns_id | int | 11 | 是 | 主鍵 | 退換商品ID |
order_no | varchar | 64 | 否 | 訂單編號(hào) | |
member_information | int | 11 | 否 | 會(huì)員信息 | |
farmer_information | int | 11 | 否 | 農(nóng)戶信息 | |
trade_name | varchar | 64 | 否 | 商品名稱 | |
product_type | varchar | 64 | 否 | 商品類型 | |
commodity_price | varchar | 64 | 否 | 商品價(jià)格 | |
purchase_quantity | varchar | 64 | 否 | 購(gòu)買(mǎi)數(shù)量 | |
total_price_of_goods | varchar | 64 | 否 | 商品總價(jià) | |
application_type | varchar | 64 | 否 | 申請(qǐng)類型 | |
application_details | text | 0 | 否 | 申請(qǐng)?jiān)斍?/span> | |
examine_state | varchar | 16 | 是 | 審核狀態(tài) | |
examine_reply | varchar | 16 | 否 | 審核回復(fù) | |
recommend | int | 11 | 是 | 智能推薦 | |
create_time | datetime | 0 | 是 | 創(chuàng)建時(shí)間 | |
update_time | timestamp | 0 | 是 | 更新時(shí)間 |
5系統(tǒng)界面實(shí)現(xiàn)
5.1 登錄
管理員輸入個(gè)人的賬號(hào)、密碼登錄系統(tǒng),這時(shí)候系統(tǒng)的數(shù)據(jù)庫(kù)就會(huì)在進(jìn)行查找相關(guān)的信息,如果我們輸入的賬號(hào)、密碼不正確,數(shù)據(jù)庫(kù)就會(huì)提示出錯(cuò)誤的信息提示,同時(shí)會(huì)提示管理員重新輸入自己的賬號(hào)、密碼,直到賬號(hào)密碼輸入成功后,會(huì)提示登錄成功的信息。管理員登錄效果圖如圖5.1所示:

?????
圖5.1登錄界面
登錄代碼如下:
/**
?????* 登錄
?????* @param data
?????* @param httpServletRequest
?????* @return
?????*/
????@PostMapping("login")
????public Map<String, Object> login(@RequestBody Map<String, String> data, HttpServletRequest httpServletRequest) {
????????log.info("[執(zhí)行登錄接口]");
????????String username = data.get("username");
????????String email = data.get("email");
????????String phone = data.get("phone");
????????String password = data.get("password");
????????List resultList = null;
????????Map<String, String> map = new HashMap<>();
????????if(username != null && "".equals(username) == false){
????????????map.put("username", username);
????????????resultList = service.select(map, new HashMap<>()).getResultList();
????????}
????????else if(email != null && "".equals(email) == false){
????????????map.put("email", email);
????????????resultList = service.select(map, new HashMap<>()).getResultList();
????????}
????????else if(phone != null && "".equals(phone) == false){
????????????map.put("phone", phone);
????????????resultList = service.select(map, new HashMap<>()).getResultList();
????????}else{
????????????return error(30000, "賬號(hào)或密碼不能為空");
????????}
????????if (resultList == null || password == null) {
????????????return error(30000, "賬號(hào)或密碼不能為空");
????????}
????????//判斷是否有這個(gè)用戶
????????if (resultList.size()<=0){
????????????return error(30000,"用戶不存在");
????????}
????????User byUsername = (User) resultList.get(0);
????????Map<String, String> groupMap = new HashMap<>();
????????groupMap.put("name",byUsername.getUserGroup());
????????List groupList = userGroupService.select(groupMap, new HashMap<>()).getResultList();
????????if (groupList.size()<1){
????????????return error(30000,"用戶組不存在");
????????}
????????UserGroup userGroup = (UserGroup) groupList.get(0);
????????//查詢用戶審核狀態(tài)
????????if (!StringUtils.isEmpty(userGroup.getSourceTable())){
????????????String sql = "select examine_state from "+ userGroup.getSourceTable() +" WHERE user_id = " + byUsername.getUserId();
????????????String res = String.valueOf(service.runCountSql(sql).getSingleResult());
????????????if (res==null){
????????????????return error(30000,"用戶不存在");
????????????}
????????????if (!res.equals("已通過(guò)")){
????????????????return error(30000,"該用戶審核未通過(guò)");
????????????}
????????}
????????//查詢用戶狀態(tài)
????????if (byUsername.getState()!=1){
????????????return error(30000,"用戶非可用狀態(tài),不能登錄");
????????}
????????String md5password = service.encryption(password);
????????if (byUsername.getPassword().equals(md5password)) {
????????????// 存儲(chǔ)Token到數(shù)據(jù)庫(kù)
????????????AccessToken accessToken = new AccessToken();
????????????accessToken.setToken(UUID.randomUUID().toString().replaceAll("-", ""));
????????????accessToken.setUser_id(byUsername.getUserId());
????????????tokenService.save(accessToken);
????????????// 返回用戶信息
????????????JSONObject user = JSONObject.parseObject(JSONObject.toJSONString(byUsername));
????????????user.put("token", accessToken.getToken());
????????????JSONObject ret = new JSONObject();
????????????ret.put("obj",user);
????????????return success(ret);
????????} else {
????????????return error(30000, "賬號(hào)或密碼不正確");
????????}
}
5.2 ?管理員功能模塊
?管理員首頁(yè)
管理員可以查看后臺(tái)服務(wù)端后臺(tái)首頁(yè)、網(wǎng)站管理(輪播圖、公告信息)人員管理(管理員、會(huì)員用戶、農(nóng)戶用戶)內(nèi)容管理(精品資訊、資訊分類)模塊管理(惠農(nóng)政策、課程學(xué)習(xí)、農(nóng)戶商城、訂單信息、物流信息、退換商品、訂單評(píng)價(jià)、客服咨詢、商品類型)個(gè)人管理等操作。管理員服務(wù)端效果圖如圖5.2所示。

圖5.2管理員服務(wù)端界面圖
管理員功能頁(yè)代碼如下:
???@RequestMapping("/get_obj")
????public Map<String, Object> obj(HttpServletRequest request) {
????????Query select = service.select(service.readQuery(request), service.readConfig(request));
????????List resultList = select.getResultList();
????????if (resultList.size() > 0) {
????????????JSONObject jsonObject = new JSONObject();
????????????jsonObject.put("obj",resultList.get(0));
????????????return success(jsonObject);
????????} else {
????????????return success(null);
????????}
}
?public Query select(Map<String,String> query,Map<String,String> config){
????????StringBuffer sql = new StringBuffer("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("group by ").append(config.get(FindConfig.GROUP_BY)).append(" ");
????????}
????????if (config.get(FindConfig.ORDER_BY) != null && !"".equals(config.get(FindConfig.ORDER_BY))){
????????????sql.append("order by ").append(config.get(FindConfig.ORDER_BY)).append(" ");
????????}
????????if (config.get(FindConfig.PAGE) != null && !"".equals(config.get(FindConfig.PAGE))){
????????????int page = config.get(FindConfig.PAGE) != null && !"".equals(config.get(FindConfig.PAGE)) ? Integer.parseInt(config.get(FindConfig.PAGE)) : 1;
????????????int limit = config.get(FindConfig.SIZE) != null && !"".equals(config.get(FindConfig.SIZE)) ? Integer.parseInt(config.get(FindConfig.SIZE)) : 10;
????????????sql.append(" limit ").append( (page-1)*limit ).append(" , ").append(limit);
????????}
????????log.info("[{}] - 查詢操作,sql: {}",table,sql);
????????return runEntitySql(sql.toString());
????}
用戶信息管理
管理員對(duì)用戶信息管理進(jìn)行審核等操作,并可進(jìn)行進(jìn)行刪除、修改、查看等操作。用戶信息管理效果圖如圖5.3所示。

圖5.3用戶信息管理界面圖
用戶管理代碼如下:
???@RequestMapping("/get_list")
????public Map<String, Object> getList(HttpServletRequest request) {
????????Map<String, Object> map = service.selectToPage(service.readQuery(request), service.readConfig(request));
????????return success(map);
}
商品信息管理
管理員對(duì)商品信息進(jìn)行管理審核、查看、編輯等操作。商品信息效果圖如圖5.4所示。

圖5.4商品信息界面圖
商品信息代碼如下:
?@PostMapping("/upload")
????public Map<String, Object> upload(@RequestParam("file") MultipartFile file) {
????????log.info("進(jìn)入方法");
????????if (file.isEmpty()) {
????????????return error(30000, "沒(méi)有選擇文件");
????????}
????????try {
????????????//判斷有沒(méi)路徑,沒(méi)有則創(chuàng)建
????????????String filePath = System.getProperty("user.dir") + "\\target\\classes\\static\\upload\\";
????????????File targetDir = new File(filePath);
????????????if (!targetDir.exists() && !targetDir.isDirectory()) {
????????????????if (targetDir.mkdirs()) {
????????????????????log.info("創(chuàng)建目錄成功");
????????????????} else {
????????????????????log.error("創(chuàng)建目錄失敗");
????????????????}
????????????}
????????????String fileName = file.getOriginalFilename();
????????????File dest = new File(filePath + fileName);
????????????log.info("文件路徑:{}", dest.getPath());
????????????log.info("文件名:{}", dest.getName());
????????????file.transferTo(dest);
????????????JSONObject jsonObject = new JSONObject();
????????????jsonObject.put("url", "/api/upload/" + fileName);
????????????return success(jsonObject);
????????} catch (IOException e) {
????????????log.info("上傳失敗:{}", e.getMessage());
????????}
????????return error(30000, "上傳失敗");
}
訂單管理
管理員對(duì)訂單管理編輯提交、確認(rèn)、發(fā)布、審核等操作。訂單管理效果圖如圖5.5所示。

圖5.5訂單界面圖
訂單管理代碼如下:
?@PostMapping("/add")
????@Transactional
????public Map<String, Object> add(HttpServletRequest request) throws IOException {
????????service.insert(service.readBody(request.getReader()));
????????return success(1);
????}
????@Transactional
????public Map<String, Object> addMap(Map<String,Object> map){
????????service.insert(map);
????????return success(1);
}
????public Map<String,Object> readBody(BufferedReader reader){
????????BufferedReader br = null;
????????StringBuilder sb = new StringBuilder("");
????????try{
????????????br = reader;
????????????String str;
????????????while ((str = br.readLine()) != null){
????????????????sb.append(str);
????????????}
????????????br.close();
????????????String json = sb.toString();
????????????return JSONObject.parseObject(json, Map.class);
????????}catch (IOException e){
????????????e.printStackTrace();
????????}finally{
????????????if (null != br){
????????????????try{
????????????????????br.close();
????????????????}catch (IOException e){
????????????????????e.printStackTrace();
????????????????}
????????????}
????????}
????????return null;
}
????public void insert(Map<String,Object> body){
????????StringBuffer sql = new StringBuffer("INSERT INTO ");
????????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()){
????????????Object value = entry.getValue();
????????????if (value instanceof String){
????????????????sql.append("'").append(entry.getValue()).append("'").append(",");
????????????}else {
????????????????sql.append(entry.getValue()).append(",");
????????????}
????????}
????????sql.deleteCharAt(sql.length() - 1);
????????sql.append(")");
????????log.info("[{}] - 插入操作:{}",table,sql);
????????Query query = runCountSql(sql.toString());
????????query.executeUpdate();
????}
5.3用戶客戶端功能模塊
用戶注冊(cè)
用戶注冊(cè)在登陸頁(yè)面填寫(xiě)賬號(hào)、密碼、郵箱、手機(jī)昵稱、姓名等信息,進(jìn)行注冊(cè)如圖5.7所示

圖5.7用戶注冊(cè)界面圖
注冊(cè)代碼如下:
/**
?????* 注冊(cè)
?????* @param user
?????* @return
?????*/
????public Map<String, Object> signUp(@RequestBody User user) {
????????// 查詢用戶
????????Map<String, String> query = new HashMap<>();
????????query.put("username",user.getUsername());
????????List list = service.select(query, new HashMap<>()).getResultList();
????????if (list.size()>0){
????????????return error(30000, "用戶已存在");
????????}
????????user.setUserId(null);
????????user.setPassword(service.encryption(user.getPassword()));
????????service.save(user);
????????return success(1);
}
/**
?????* 用戶ID:[0,8388607]用戶獲取其他與用戶相關(guān)的數(shù)據(jù)
?????*/
????@Id
????@GeneratedValue(strategy = GenerationType.IDENTITY)
????@Column(name = "user_id")
????private Integer userId;
????/**
?????* 賬戶狀態(tài):[0,10](1可用|2異常|3已凍結(jié)|4已注銷)
?????*/
????@Basic
????@Column(name = "state")
????private Integer state;
????/**
?????* 所在用戶組:[0,32767]決定用戶身份和權(quán)限
?????*/
????@Basic
????@Column(name = "user_group")
????private String userGroup;
????/**
?????* 上次登錄時(shí)間:
?????*/
????@Basic
????@Column(name = "login_time")
????private Timestamp loginTime;
????/**
?????* 手機(jī)號(hào)碼:[0,11]用戶的手機(jī)號(hào)碼,用于找回密碼時(shí)或登錄時(shí)
?????*/
????@Basic
????@Column(name = "phone")
????private String phone;
????/**
?????* 手機(jī)認(rèn)證:[0,1](0未認(rèn)證|1審核中|2已認(rèn)證)
?????*/
????@Basic
????@Column(name = "phone_state")
????private Integer phoneState;
????/**
?????* 用戶名:[0,16]用戶登錄時(shí)所用的賬戶名稱
?????*/
????@Basic
????@Column(name = "username")
????private String username;
????/**
?????* 昵稱:[0,16]
?????*/
????@Basic
????@Column(name = "nickname")
????private String nickname;
????/**
?????* 密碼:[0,32]用戶登錄所需的密碼,由6-16位數(shù)字或英文組成
?????*/
????@Basic
????@Column(name = "password")
????private String password;
????/**
?????* 郵箱:[0,64]用戶的郵箱,用于找回密碼時(shí)或登錄時(shí)
?????*/
????@Basic
????@Column(name = "email")
????private String email;
????/**
?????* 郵箱認(rèn)證:[0,1](0未認(rèn)證|1審核中|2已認(rèn)證)
?????*/
????@Basic
????@Column(name = "email_state")
????private Integer emailState;
????/**
?????* 頭像地址:[0,255]
?????*/
????@Basic
????@Column(name = "avatar")
????private String avatar;
????/**
?????* 創(chuàng)建時(shí)間:
?????*/
????@Basic
????@Column(name = "create_time")
????@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
????private Timestamp createTime;
????@Basic
????@Transient
????private String code;
}
用戶信息
在用戶信息頁(yè)面用戶信息可以進(jìn)行添加、查看、編輯基本信息、收貨地址、收藏、訂單、購(gòu)物車等操作如圖5.8所示。
圖5.8用戶信息界面圖
???前臺(tái)首頁(yè)
用戶對(duì)查看首頁(yè)詳情頁(yè)面,如圖5.9所示。
圖5.9前臺(tái)首頁(yè)功能界面圖
???產(chǎn)品展示列表
產(chǎn)品展示詳情頁(yè)面可查看名稱、產(chǎn)品圖片、價(jià)格、加入購(gòu)物車等操作,如圖5.10所示。
圖5.10產(chǎn)品展示界面圖
訂單詳情
訂單列表詳情頁(yè)面可訂單狀態(tài)、收貨地址、電話、購(gòu)買(mǎi)商品、價(jià)格、訂單編號(hào)、下單時(shí)間等信息,如圖5.11所示。

圖5.11訂單界面圖
6系統(tǒng)測(cè)試
近年來(lái),軟件包含測(cè)試從現(xiàn)在的檢驗(yàn)當(dāng)中來(lái)看,系統(tǒng)接近預(yù)期目標(biāo)可能出現(xiàn)的問(wèn)題,并對(duì)這些錯(cuò)誤做出相應(yīng)的修正,假如我們不進(jìn)行早期的測(cè)試錯(cuò)誤就會(huì)延續(xù)下去,最后所做出的成品就會(huì)有很大的困難。
我們要在這個(gè)測(cè)試的過(guò)程當(dāng)中找出錯(cuò)誤。測(cè)試成軟件開(kāi)發(fā)的主要一部分,自從有了程序的設(shè)計(jì)那天開(kāi)始,它就成為了重要的組成部分。經(jīng)過(guò)統(tǒng)計(jì)來(lái)看,軟件測(cè)試可以占據(jù)這個(gè)系統(tǒng)45%的工作量,而在軟件開(kāi)發(fā)的成本當(dāng)中,對(duì)于測(cè)試成本來(lái)說(shuō)它包含了很多的測(cè)試工作。每個(gè)程序測(cè)試時(shí)都會(huì)出現(xiàn)和遇到錯(cuò)誤。在整個(gè)程序的開(kāi)發(fā)過(guò)程當(dāng)中,人為去查找錯(cuò)誤是非常復(fù)雜和困難的,所以我們一般都會(huì)找一些測(cè)試的工具來(lái)進(jìn)行測(cè)試
6.1系統(tǒng)測(cè)試的意義
隨著現(xiàn)代信息的快速發(fā)展,在社會(huì)各大領(lǐng)域中已經(jīng)都開(kāi)始應(yīng)用網(wǎng)絡(luò)信息技術(shù),在應(yīng)用網(wǎng)絡(luò)技術(shù)的同時(shí)人們也開(kāi)始把軟件的質(zhì)量問(wèn)題作為了一個(gè)重要焦點(diǎn)來(lái)關(guān)注,因?yàn)橐粋€(gè)軟件的好與壞它決定著這個(gè)系統(tǒng)在市場(chǎng)上的生存,所以我們必須要把軟件質(zhì)量來(lái)做好,這樣才有一定的生存能力。對(duì)于用戶來(lái)說(shuō)它們首先選用的都是保證這個(gè)系統(tǒng)軟件的質(zhì)量問(wèn)題,因?yàn)橐粋€(gè)系統(tǒng)的軟件質(zhì)量決定著用戶在后期上成本經(jīng)濟(jì)的問(wèn)題。圖6-1就是糾錯(cuò)測(cè)試流程。

圖6-1 測(cè)試與糾錯(cuò)信息流程
6.2?測(cè)試方法
具體測(cè)試方法包括:黑盒測(cè)試和白盒測(cè)試。
黑盒測(cè)試又被人們稱作為功能測(cè)試,通常是在程序的接口來(lái)做一些測(cè)試的方法,它一般包括對(duì)程序的功能和使用的方法來(lái)做出一些數(shù)據(jù)的接受和輸出,同時(shí)還可以做出正確的輸出信息,并保證與外部信息的完整性。
白盒測(cè)試通常被人們稱作為結(jié)構(gòu)測(cè)試,在整個(gè)程序的結(jié)構(gòu)和處理當(dāng)中它是由程序當(dāng)中的邏輯測(cè)試和檢驗(yàn)程序來(lái)完成一些正確的工作。
具體的功能測(cè)試它是包括:系統(tǒng)的適用性、準(zhǔn)確性、安全性等功能測(cè)試。
6.3測(cè)試分析
本農(nóng)產(chǎn)品銷售信息系統(tǒng)滿足相關(guān)信息的管理需求,在設(shè)計(jì)時(shí)借鑒了國(guó)內(nèi)外優(yōu)秀網(wǎng)站的優(yōu)點(diǎn),從界面到系統(tǒng)設(shè)計(jì)都保證了管理員以及用戶能夠方便操作。系統(tǒng)的主要特點(diǎn)和優(yōu)點(diǎn)歸納如下:
(1)本系統(tǒng)用的移置性和針對(duì)性都比較高,因?yàn)獒槍?duì)性高可以提供更好的服務(wù)而移置性可以在多個(gè)系統(tǒng)上運(yùn)行,更給用戶帶來(lái)了極大的方便。
(2)該農(nóng)產(chǎn)品銷售信息系統(tǒng)內(nèi)容全面,管理方便可以及時(shí)的全面的處理各種錯(cuò)誤,異常,這樣避免了很多因用戶的馬虎操作而出現(xiàn)的失誤,其操作方便,用戶界面友好,能夠上網(wǎng)的人都可以很好的進(jìn)行操作。
經(jīng)過(guò)對(duì)上述的測(cè)試結(jié)果分析,所有基本功能齊全,操作簡(jiǎn)單,系統(tǒng)運(yùn)行性能良好,系統(tǒng)安全可靠,能促進(jìn)農(nóng)產(chǎn)品銷售信息系統(tǒng)的發(fā)展,發(fā)展前景廣闊。
結(jié) ???論
本系統(tǒng)通過(guò)對(duì)微信小程序、java和Mysql數(shù)據(jù)庫(kù)的簡(jiǎn)介,從硬件和軟件兩反面說(shuō)明了農(nóng)產(chǎn)品銷售信息系統(tǒng)的可行性,本文結(jié)論及研究成果如下:實(shí)現(xiàn)了微信小程序、java與Mysql相結(jié)合構(gòu)建的農(nóng)產(chǎn)品銷售信息系統(tǒng),網(wǎng)站可以響應(yīng)式展示。通過(guò)本次農(nóng)產(chǎn)品銷售信息系統(tǒng)的研究與實(shí)現(xiàn),我感到學(xué)海無(wú)涯,學(xué)習(xí)是沒(méi)有終點(diǎn)的,而且實(shí)踐出真知,只有多動(dòng)手才能盡快掌握它,經(jīng)驗(yàn)對(duì)系統(tǒng)的開(kāi)發(fā)非常重要,經(jīng)驗(yàn)不足,就難免會(huì)有許多考慮不周之處。比如要有美觀的界面,更完善的功能,才能吸引更多的用戶。
由于在此之前對(duì)于Java知識(shí)沒(méi)有深入了解,所以從一開(kāi)始就碰到許多困難,例如一開(kāi)始的頁(yè)面顯示不規(guī)范、數(shù)據(jù)庫(kù)連接有問(wèn)題已經(jīng)無(wú)法實(shí)現(xiàn)參數(shù)的傳遞等等,不過(guò)通過(guò)在網(wǎng)上尋找有關(guān)資料以及同學(xué)的幫助下最后都得到了解決,在此過(guò)程中,我不僅學(xué)到了很多知識(shí),也提高了自己解決問(wèn)題的能力,尤其是學(xué)會(huì)如何從大量的信息中篩選出所需有用的信息,同時(shí)我更加深刻的體會(huì)到了,雖然書(shū)本上的大部分知識(shí)都是有價(jià)值,正確的,但實(shí)際上每個(gè)人編程的思路和對(duì)數(shù)據(jù)處理的方法、思想都是不同的,這就要求我們一定要通過(guò)實(shí)踐才能找到解決問(wèn)題的方案。在此次畢業(yè)設(shè)計(jì)活動(dòng)中,我不斷的提高了自己,也得到了寶貴的經(jīng)驗(yàn),我相信這些對(duì)我以后的發(fā)展都會(huì)有很大幫助。
通過(guò)這次農(nóng)產(chǎn)品銷售信息系統(tǒng)的開(kāi)發(fā),我參考了很多相關(guān)系統(tǒng)的例子,取長(zhǎng)補(bǔ)短,吸取了其他系統(tǒng)的長(zhǎng)處,逐步對(duì)該系統(tǒng)進(jìn)行了完善,但是該系統(tǒng)還是有很多的不足之處,有待以后進(jìn)一步學(xué)習(xí)。
實(shí)踐證明,農(nóng)產(chǎn)品銷售信息系統(tǒng)有著非常好的發(fā)展前景,經(jīng)過(guò)測(cè)試運(yùn)行,系統(tǒng)各項(xiàng)功能都十分完善,界面漂亮,使用方便,操作容易,在技術(shù)理論上已經(jīng)成熟。
致 ???謝
大學(xué)的學(xué)習(xí)生活在這個(gè)季節(jié)將結(jié)束,但是在我的生命這僅僅只是一個(gè)逗號(hào),我將面對(duì)另一個(gè)的開(kāi)始。通過(guò)這次畢業(yè)設(shè)計(jì)的整個(gè)開(kāi)發(fā)過(guò)程,從需求分析到具體功能實(shí)現(xiàn),再到最終測(cè)試和維護(hù)的理解有了很大的進(jìn)步,讓我對(duì)系統(tǒng)開(kāi)發(fā)有了更深刻的認(rèn)識(shí),對(duì)我個(gè)人的實(shí)踐能力和解決問(wèn)題的能力,都有了很大的幫助。這是這次畢業(yè)設(shè)計(jì)最大的收獲。
首先要感謝我的指導(dǎo)老師,他在論文寫(xiě)作上,給予了我各種無(wú)私的幫助,治學(xué)嚴(yán)謹(jǐn),嚴(yán)格要求,使我獲得了很大的收獲。老師深厚的理論知識(shí)和豐富的實(shí)踐經(jīng)驗(yàn),都深深的影響到我,在這方面,我謹(jǐn)表示衷心的感謝。
其次,我還要對(duì)所有的老師和同學(xué)表示感謝,他們?cè)谖覍W(xué)習(xí)的過(guò)程中,都積極的提供了很多幫助,無(wú)論是專業(yè)知識(shí),還是實(shí)踐操作技能,也能夠讓我在論文寫(xiě)作中,遇到的一些難題迎刃而解。
最后,對(duì)閱讀和評(píng)審本論文的各位老師表示衷心的感謝!
參考文獻(xiàn)?
[1]陽(yáng)博,溫志萍.基于SpringBoot的在線協(xié)同辦公系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)[J].電腦知識(shí)與技術(shù),2022,18(22):49-51.DOI:10.14004/j.cnki.ckt.2022.1515.
[2]Yadav Chandra Shekhar,Singh Jagendra,Yadav Aruna,Pattanayak Himansu Sekhar,Kumar Ravindra,Khan Arfat Ahmad,Haq Mohd Anul,Alhussen Ahmed,Alharby Sultan. Malware Analysis in IoT & 微信小程序?Systems with Defensive Mechanism[J]. Electronics,2022,11(15).
[3]宋旸.使用Java語(yǔ)言開(kāi)發(fā)Web應(yīng)用軟件的知識(shí)探討[J].中國(guó)設(shè)備工程,2022(14):121-123.
[4]. 主要農(nóng)產(chǎn)品銷售信息系統(tǒng)數(shù)據(jù)傳輸情況[N]. 中國(guó)交通報(bào),2022-07-22(004).DOI:10.28099/n.cnki.ncjtb.2022.001641.
[5]張海越,范曦.淺析Java語(yǔ)言中線程的生命周期及實(shí)現(xiàn)方式[J].大眾科技,2022,24(07):18-20+28.
[6]李伊秋,王曉昱,朱書(shū)蕾,盛紫怡.農(nóng)產(chǎn)品銷售信息系統(tǒng)大學(xué)生用戶體驗(yàn)現(xiàn)狀及優(yōu)化研究[J].中國(guó)市場(chǎng),2022(20):183-187.DOI:10.13939/j.cnki.zgsc.2022.20.183.
[7]李璋,趙鴻皓,黃震,陳逸凡,楊洲.Java在程序設(shè)計(jì)語(yǔ)言課程中的應(yīng)用[J].長(zhǎng)江信息通信,2022,35(07):108-111.
[8]吳拓.Java編程語(yǔ)言在計(jì)算機(jī)軟件開(kāi)發(fā)中的應(yīng)用[J].無(wú)線互聯(lián)科技,2022,19(12):35-37.
[9]趙俊.基于微信小程序系統(tǒng)的英語(yǔ)閱讀移動(dòng)學(xué)習(xí)APP設(shè)計(jì)[J].自動(dòng)化技術(shù)與應(yīng)用,2022,41(06):154-156.DOI:10.20033/j.1003-7241.(2022)06-0154-03.
[10]夏宇,朱俊武,姜藝,高欣,孫茂圣.運(yùn)力緊張情形下的網(wǎng)約車跨區(qū)域訂單分配機(jī)制[J].計(jì)算機(jī)應(yīng)用,2022,42(06):1776-1781.
[11]王家順,李枝勇,竇潤(rùn)亮,南國(guó)芳,李敏強(qiáng).競(jìng)爭(zhēng)市場(chǎng)中農(nóng)產(chǎn)品銷售信息系統(tǒng)開(kāi)放策略研究[J].系統(tǒng)工程理論與實(shí)踐,2022,42(07):1884-1899.
[12]. The CursedMasters - A Java Edition Minecraft Server[J]. M2 Presswire,2022.
[13]. Java Developer Survey Reveals Teams Not Realizing Full Promise of Microservices[J]. M2 Presswire,2022.
[14]Guan Dejun. Mobile Learning Platform in Cloud Computing with Information Security and 微信小程序?System[J]. Security and Communication Networks,2022,2022.
[15]張鈺浩,閆慧.出租車司機(jī)網(wǎng)約車APP采納后行為研究[J].圖書(shū)情報(bào)工作,2021,65(18):117-124.DOI:10.13266/j.issn.0252-3116.2021.18.012.
[16]劉勇,陸小慧.一種基于微信小程序系統(tǒng)的大數(shù)據(jù)計(jì)算和存儲(chǔ)平臺(tái)[J].廣東通信技術(shù),2021,41(09):53-59.
[17]周元林,張常泉,鄧國(guó)印.面向微信小程序系統(tǒng)的APP安全加固技術(shù)研究[J].南方農(nóng)機(jī),2021,52(11):164-165+175.
[18]李坤東. 基于深度學(xué)習(xí)的微信小程序惡意應(yīng)用檢測(cè)系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)[D].西安電子科技大學(xué),2021.DOI:10.27389/d.cnki.gxadu.2021.002017.
[19]王倩楠. 基于微信小程序系統(tǒng)的手機(jī)處理器微體系結(jié)構(gòu)基準(zhǔn)測(cè)試集構(gòu)建方法[D].中國(guó)科學(xué)院大學(xué)(中國(guó)科學(xué)院深圳先進(jìn)技術(shù)研究院),2021.DOI:10.27822/d.cnki.gszxj.2021.000029.
[20]廖祥森. 定制微信小程序系統(tǒng)服務(wù)測(cè)試技術(shù)研究[D].南京大學(xué),2021.DOI:10.27235/d.cnki.gnjiu.2021.000964.
免費(fèi)領(lǐng)取項(xiàng)目源碼,請(qǐng)關(guān)注?點(diǎn)贊收藏并私信博主,謝謝-