《基于SpringBoot的圖書(shū)銷(xiāo)售系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)》17000字(論文)_第1頁(yè)
《基于SpringBoot的圖書(shū)銷(xiāo)售系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)》17000字(論文)_第2頁(yè)
《基于SpringBoot的圖書(shū)銷(xiāo)售系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)》17000字(論文)_第3頁(yè)
《基于SpringBoot的圖書(shū)銷(xiāo)售系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)》17000字(論文)_第4頁(yè)
《基于SpringBoot的圖書(shū)銷(xiāo)售系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)》17000字(論文)_第5頁(yè)
已閱讀5頁(yè),還剩38頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

第1章緒論[27]。與傳統(tǒng)的權(quán)限分配思想不同,RBAC中是對(duì)角色的權(quán)限分配,在系統(tǒng)開(kāi)發(fā)初期明確系統(tǒng)所需要的角色種類(lèi),對(duì)每種角色進(jìn)行權(quán)限permission的分配操作,而對(duì)于系統(tǒng)中具體操作的某一個(gè)用戶(hù)user,我們只需要給它分配屬于哪一個(gè)角色role即可,這樣這個(gè)用戶(hù)便擁有了其所屬角色的權(quán)限值。RBAC具有四種層級(jí)模型0到3,。RBAC0的實(shí)現(xiàn)會(huì)對(duì)五張表進(jìn)行操作。在用戶(hù)角色關(guān)聯(lián)表中記錄著某一個(gè)具體的用戶(hù)對(duì)應(yīng)的角色信息,一個(gè)用戶(hù)可以對(duì)應(yīng)多種角色。在角色權(quán)限關(guān)聯(lián)表中記錄著某一個(gè)具體角色擁有的所有的權(quán)限操作。通過(guò)對(duì)某一個(gè)具體的用戶(hù)關(guān)聯(lián)具體的角色實(shí)現(xiàn)權(quán)限的分配操作。這樣無(wú)需對(duì)每一個(gè)單獨(dú)的個(gè)體賬號(hào)進(jìn)行操作。在后續(xù)的系統(tǒng)維護(hù)與擴(kuò)展中僅需要修改少量的代碼,極大的降低了系統(tǒng)的工作量與復(fù)雜性。并且整體分配過(guò)程清晰,使得開(kāi)發(fā)簡(jiǎn)單。圖STYLEREF1\s4SEQ圖\*ARABIC\s11RBAC0模型示意圖數(shù)據(jù)庫(kù)表的設(shè)計(jì)權(quán)限表的設(shè)計(jì)基于以上RBAC0的設(shè)計(jì)思想,在本論文的后臺(tái)管理系統(tǒng)中需要實(shí)現(xiàn)權(quán)限的控制功能。通過(guò)前面的對(duì)系統(tǒng)的功能需求分析,后臺(tái)系統(tǒng)中目前需要有管理員以及商家兩種用戶(hù)角色,為了整個(gè)權(quán)限分配的實(shí)現(xiàn)設(shè)計(jì)了五張表:用戶(hù)表user、角色表role、用戶(hù)角色關(guān)聯(lián)表user_role、權(quán)限表permission、角色權(quán)限關(guān)聯(lián)表role_permission。用戶(hù)表user,記錄了平臺(tái)用戶(hù)的基本信息,基本的需要id用來(lái)唯一標(biāo)識(shí)每一個(gè)用戶(hù),賬號(hào)username、密碼password。在注冊(cè)功能中需要對(duì)username判重才能進(jìn)行因此username的設(shè)定也是唯一的。并且在進(jìn)行用戶(hù)的權(quán)限分配時(shí)也是根據(jù)username賦予對(duì)應(yīng)權(quán)限。user表設(shè)計(jì)如下所示:表權(quán)限用戶(hù)表(user)字段名稱(chēng)數(shù)據(jù)類(lèi)型字段解釋備注idchar(19)用戶(hù)編號(hào)主鍵usernamevarchar(20)用戶(hù)賬號(hào)名稱(chēng)passwordvarchar(32)用戶(hù)密碼加密處理nick_namevarchar(50)用戶(hù)昵稱(chēng)saltvarchar(255)用戶(hù)頭像tokenvarchar(100)用戶(hù)簽名is_deletedtinyint邏輯刪除默認(rèn)0不刪除gmt_createdatetime創(chuàng)建時(shí)間gmt_modifieddatetime更新時(shí)間角色表role,需要用到id和role_name來(lái)記錄其基本信息。在本論文的后臺(tái)管理系統(tǒng)中,目前分為了管理員和商戶(hù)兩種角色。Role表設(shè)計(jì)如下所示:表權(quán)限角色表(role)字段名稱(chēng)數(shù)據(jù)類(lèi)型字段解釋備注idChar(19)角色編號(hào)主鍵role_namevarchar(20)角色名稱(chēng)role_codevarchar(20)角色編碼remarkvarchar(255)角色備注is_deletedtinyint邏輯刪除默認(rèn)不刪除值為0gmt_createdatetime創(chuàng)建時(shí)間gmt_modifieddatetime更新時(shí)間對(duì)于以上的user表和role表,需要?jiǎng)?chuàng)建user_role用戶(hù)角色關(guān)聯(lián)表來(lái)描述它們之間的關(guān)系。需要用到id,role_id,user_id,id表示標(biāo)識(shí)表中的唯一一條記錄,user_id存儲(chǔ)user表中具體每一個(gè)用戶(hù)的id,role_id存儲(chǔ)role表中每一個(gè)角色的id值,因此便可以描述出user與role之間的關(guān)系,user_role表的設(shè)計(jì)如下所示:表權(quán)限用戶(hù)角色表(user_role)字段名稱(chēng)數(shù)據(jù)類(lèi)型字段解釋備注idChar(19)表的編號(hào)主鍵role_idChar(19)角色id角色表中存在user_idChar(19)用戶(hù)id用戶(hù)表中存在is_deletedtinyint邏輯刪除默認(rèn)不刪除值為0gmt_createdatetime創(chuàng)建時(shí)間gmt_modifieddatetime更新時(shí)間權(quán)限表permission,用來(lái)記錄后臺(tái)管理系統(tǒng)所有可以執(zhí)行的操作,包括了三級(jí)內(nèi)容:菜單目錄,每一個(gè)菜單目錄下的頁(yè)面,頁(yè)面內(nèi)具體內(nèi)容的增加、刪除、修改、查詢(xún)、顯示。因此需要主鍵id用來(lái)表示不同的操作權(quán)限、所屬的pid標(biāo)志其屬于哪個(gè)權(quán)限下的一部分、權(quán)限名稱(chēng)name、類(lèi)型type標(biāo)志此權(quán)限類(lèi)型是菜單還是頁(yè)面內(nèi)的按鈕。permission表的設(shè)計(jì)如下所示:表權(quán)限菜單表(permission)字段名稱(chēng)數(shù)據(jù)類(lèi)型字段解釋備注idChar(19)菜單數(shù)據(jù)的編號(hào)主鍵pidchar(19)所屬上級(jí)菜單編號(hào)namevarchar(20)菜單名稱(chēng)typetinyint類(lèi)型(1:菜單,2:按鈕)permission_valueVarchar(50)權(quán)限值pathVarchar(100)訪問(wèn)路徑componentVarchar(100)組件路徑iconVarchar(50)圖標(biāo)statustinyint狀態(tài)(0:禁止,1:正常)is_deletedtinyint邏輯刪除默認(rèn)不刪除值為0gmt_createdatetime創(chuàng)建時(shí)間gmt_modifieddatetime更新時(shí)間為了關(guān)聯(lián)permission和role兩張表,需要role_permission角色權(quán)限關(guān)聯(lián)表來(lái)描述它們之間的關(guān)系。id標(biāo)志了表中唯一的一條數(shù)據(jù),role_id存儲(chǔ)role表中具體的一個(gè)角色的id值,permission_id存儲(chǔ)permission表中的具體權(quán)限操作的id值,因此便可以描述出每一個(gè)角色擁有的所有權(quán)限操作。role_permission表的設(shè)計(jì)如下所示:表權(quán)限角色菜單表(role_permission)字段名稱(chēng)數(shù)據(jù)類(lèi)型字段解釋備注idchar(19)表數(shù)據(jù)編號(hào)主鍵role_idchar(19)角色id角色表中存在permission_idchar(19)菜單id菜單表中存在is_deletedtinyint邏輯刪除默認(rèn)不刪除值為0gmt_createdatetime創(chuàng)建時(shí)間gmt_modifieddatetime更新時(shí)間基于上述表的創(chuàng)建,便能清晰且方便的對(duì)用戶(hù)進(jìn)行權(quán)限的分配操作,在權(quán)限表中可以事先將系統(tǒng)的所有權(quán)限操作添加進(jìn)去,然后對(duì)每一個(gè)具體的角色分配好權(quán)限,當(dāng)我們需要對(duì)每一個(gè)具體的賬號(hào)用戶(hù)分配權(quán)限時(shí),只需要指定其為某一個(gè)角色,它便擁有的該角色的所有權(quán)限操作。并且這樣的設(shè)計(jì)也利于平臺(tái)的擴(kuò)展與維護(hù),當(dāng)系統(tǒng)功能增加時(shí),我們只需要修改角色擁有的權(quán)限操作,那么之前綁定為此角色的具體用戶(hù)的權(quán)限操作也會(huì)對(duì)應(yīng)的得到修改,而不需要單獨(dú)的修改用戶(hù)的權(quán)限,降低的維護(hù)人員的工作量,也使得用戶(hù)擁有的權(quán)限清晰可見(jiàn)。圖書(shū)類(lèi)別表的設(shè)計(jì)圖書(shū)類(lèi)別表用來(lái)對(duì)圖書(shū)商品進(jìn)行歸類(lèi)。類(lèi)別中分為了圖書(shū)的三級(jí)分類(lèi),例如文學(xué)-中國(guó)文學(xué)-小說(shuō)的形式,因此為了方便數(shù)據(jù)的存儲(chǔ)以及可擴(kuò)展性,需要id唯一標(biāo)識(shí)表中的一條數(shù)據(jù)、name表示分類(lèi)名稱(chēng)、level表示分類(lèi)級(jí)別、以及parent_id表示其上一級(jí)分類(lèi)。因此我們使用parent_id項(xiàng)便可以表示出分類(lèi)之間的關(guān)系,如果系統(tǒng)有需求上的擴(kuò)展,也只需要添加新的數(shù)據(jù)進(jìn)去,而不需要改變?cè)瓉?lái)的數(shù)據(jù)。category表的設(shè)計(jì)如下所示:圖圖書(shū)分類(lèi)E-R圖表圖書(shū)分類(lèi)表(item_category)字段名稱(chēng)數(shù)據(jù)類(lèi)型字段解釋備注idchar(19)圖書(shū)類(lèi)別表id主鍵namevarchar(50)類(lèi)別名稱(chēng)角色表中存在levelint類(lèi)別層級(jí)分類(lèi)為三級(jí)parent_idchar(19)父級(jí)iddeletedint邏輯刪除默認(rèn)不刪除值為0gmt_createdatetime創(chuàng)建時(shí)間gmt_modifieddatetime修改時(shí)間圖書(shū)表的設(shè)計(jì)圖書(shū)商品需要商家進(jìn)行添加并進(jìn)行商家出售,因此商家需要在添加具體圖書(shū)商品時(shí)填寫(xiě)對(duì)應(yīng)的表單數(shù)據(jù)。圖書(shū)商品基本包含圖書(shū)名稱(chēng)、所屬分類(lèi)、所屬商家、圖書(shū)價(jià)格、數(shù)量、折扣、圖書(shū)封面、圖片集、描述等屬性信息。并且在給圖書(shū)添加封面時(shí)可以上傳單張圖片,添加圖片集時(shí)允許添加不同的圖片集合。圖書(shū)商品book表的設(shè)計(jì)如下所示:圖圖書(shū)E-R圖表圖書(shū)表(item_book)字段名稱(chēng)數(shù)據(jù)類(lèi)型字段解釋備注idchar(19)商品圖書(shū)id主鍵book_namevarchar(100)圖書(shū)名稱(chēng)user_idchar(19)圖書(shū)所屬商戶(hù)idcat_idchar(19)圖書(shū)所屬分類(lèi)idbook_urlvarchar(255)圖書(shū)主圖地址book_desccarhar(1000)v圖書(shū)描述book_countint圖書(shū)數(shù)量book_statusint圖書(shū)狀態(tài)1上架0下架book_pricedecimal圖書(shū)價(jià)格book_discountdecimal圖書(shū)折扣deletedint邏輯刪除默認(rèn)不刪除值為0gmt_createdatetime創(chuàng)建時(shí)間gmt_modifieddatetime修改時(shí)間訂單表的設(shè)計(jì)當(dāng)前臺(tái)用戶(hù)將圖書(shū)商品加入購(gòu)物車(chē)后進(jìn)行結(jié)算時(shí),對(duì)進(jìn)行結(jié)算的圖書(shū)將會(huì)生成對(duì)應(yīng)的訂單數(shù)據(jù),此時(shí)的訂單表與圖書(shū)商品表之間存在著關(guān)聯(lián)關(guān)系但是訂單表又有自己的獨(dú)立性。訂單表中需要有的基本項(xiàng)有訂單id、訂單的用戶(hù)id、訂單的金額、訂單狀態(tài)(待付款、代發(fā)貨、已發(fā)貨),只有用戶(hù)付完款訂單處于代發(fā)貨狀態(tài)此訂單才算生效。訂單表的設(shè)計(jì)如下所示:表訂單表(item_front_order)字段名稱(chēng)數(shù)據(jù)類(lèi)型字段解釋備注idchar(19)表唯一id主鍵member_idchar(19)下單用戶(hù)idorder_idvarchar(64)訂單號(hào)idmember_namevarchar(64)下單用戶(hù)名pay_acountdecimal下單金額order_statusint訂單狀態(tài)0待付款1代發(fā)貨confirm_statusint確認(rèn)收貨狀態(tài)1已收貨delete_statusint刪除狀態(tài)1已刪除payment_timedatetime支付時(shí)間gmt_createdatetime創(chuàng)建時(shí)間gmt_modifieddatetime修改時(shí)間訂單項(xiàng)表的設(shè)計(jì)對(duì)于每一個(gè)訂單而言,里面的購(gòu)買(mǎi)項(xiàng)可能會(huì)有多條圖書(shū)商品數(shù)據(jù),因此在訂單表中并不能體現(xiàn)出來(lái),需要將每一個(gè)訂單里購(gòu)買(mǎi)的每一條商品數(shù)據(jù)進(jìn)行記錄。當(dāng)一條訂單生效的時(shí)候才會(huì)將里面的購(gòu)物項(xiàng)記錄下來(lái)。在訂單項(xiàng)表中需要訂單id、圖書(shū)商品id、圖書(shū)商品名稱(chēng)、所屬商戶(hù)、圖書(shū)數(shù)量、圖書(shū)價(jià)格、訂單狀態(tài)來(lái)表示每一個(gè)訂單項(xiàng),這樣改圖書(shū)商品所屬的商家才能對(duì)商品的訂單進(jìn)行查看并發(fā)貨操作等。訂單項(xiàng)表的設(shè)計(jì)如下所示:表訂單項(xiàng)表(item_front_order_item)字段名稱(chēng)數(shù)據(jù)類(lèi)型字段解釋備注idchar(19)表唯一id主鍵order_idvarchar(64)訂單idbook_idchar(19)圖書(shū)idbook_namevarchar(64)商品名稱(chēng)book_catchar(19)商品所屬分類(lèi)idmerchant_idchar(19)訂單所屬商戶(hù)book_urlvarchar(100)商品封面圖片book_countint購(gòu)買(mǎi)商品的數(shù)量book_pricedecimal商品價(jià)格statusint訂單項(xiàng)狀態(tài)0待付款1待發(fā)貨gmt_createdatetime創(chuàng)建時(shí)間gmt_modifieddatetime修改時(shí)間第5章系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn) 系統(tǒng)總體功能設(shè)計(jì)根據(jù)前面對(duì)系統(tǒng)的的需求分析,本論文分為了后臺(tái)管理系統(tǒng)以及前臺(tái)用戶(hù)系統(tǒng)。系統(tǒng)總體的功能設(shè)計(jì)架構(gòu)如圖下:圖系統(tǒng)整體功能后臺(tái)管理系統(tǒng)權(quán)限控制功能后臺(tái)管理系統(tǒng)權(quán)限控制功能設(shè)計(jì)根據(jù)前面對(duì)權(quán)限控制模塊功能的需求分析,后臺(tái)系統(tǒng)中分為了商家以及管理員兩種角色。基于RBAC0模型實(shí)現(xiàn)權(quán)限的分配操作。因此權(quán)限菜單模塊下分為了用戶(hù)管理、角色管理、菜單管理。菜單管理頁(yè)面以樹(shù)形結(jié)構(gòu)的形式顯示出所有的權(quán)限操作,并且可以進(jìn)行增加、刪除、修改、查詢(xún)等基本操作。角色管理頁(yè)面顯示出目前系統(tǒng)所擁有的全部角色,例如:商家、管理員。在角色管理頁(yè)面也能進(jìn)行基本的增加、刪除、修改的操作,另外還需要添加授權(quán)操作,當(dāng)選擇某一個(gè)角色時(shí),點(diǎn)擊授權(quán)按鈕,便會(huì)顯示出菜單管理中的所有數(shù)據(jù),此時(shí)可以勾選其中的某一些菜單,即為所分配的權(quán)限所能執(zhí)行的操作。用戶(hù)管理中顯示出后臺(tái)系統(tǒng)中的所有用戶(hù),也具有基本增加、刪除、修改、查詢(xún)的功能,其次還需要添加一個(gè)編輯的按鈕操作,當(dāng)此按鈕被點(diǎn)擊時(shí)可以顯示目前后臺(tái)系統(tǒng)中所有的角色,勾選對(duì)應(yīng)角色此用戶(hù)便擁有角色所對(duì)應(yīng)的菜單權(quán)限操作。后臺(tái)管理系統(tǒng)權(quán)限控制功能實(shí)現(xiàn)項(xiàng)目的開(kāi)發(fā)使用的是idea開(kāi)發(fā)工具,首先在項(xiàng)目中創(chuàng)建一個(gè)用于實(shí)現(xiàn)權(quán)限控制模塊的SpringBoot子項(xiàng)目acl。通過(guò)MVC的架構(gòu)思想創(chuàng)建出controller控制訪問(wèn)層、service業(yè)務(wù)邏輯處理層、entity數(shù)據(jù)模型層。例如:當(dāng)此時(shí)想要對(duì)具體的用戶(hù)A分配商家的角色身份時(shí),當(dāng)在后臺(tái)管理系統(tǒng)中為為用戶(hù)A選擇了商家的角色身份,點(diǎn)擊確認(rèn)授權(quán)時(shí)會(huì)調(diào)用后臺(tái)接口saveAssign(userId,roleId),此時(shí)需要傳入用戶(hù)A的id以及商家角色的id,此時(shí)后臺(tái)接口的UserController中將會(huì)接受到這個(gè)請(qǐng)求,并執(zhí)行roleService.saveUserRoleRealtionShip(userId,roleId),此接口會(huì)執(zhí)行其實(shí)現(xiàn)類(lèi)中的publicvoidsaveUserRoleRealtionShip(StringuserId,String[]roleIds)方法,即向用戶(hù)角色關(guān)聯(lián)表中添加了一條數(shù)據(jù),這樣它們之間便形成了關(guān)聯(lián)關(guān)系,也就是用戶(hù)A擁有的商家角色的操作權(quán)限。同時(shí)在該SpringBoot子項(xiàng)目中整合了SpringSecurity服務(wù),在SpringSecurity服務(wù)中編寫(xiě)了相應(yīng)的配置文件以及工具類(lèi),并主要實(shí)現(xiàn)了核心的登錄認(rèn)證過(guò)濾器TokenLoginFilter,以及授權(quán)過(guò)濾器TokenAuthenticationFilter。認(rèn)證過(guò)濾器中當(dāng)用戶(hù)在填寫(xiě)登錄表單進(jìn)行登錄時(shí)會(huì)進(jìn)入publicAuthenticationattemptAuthentication(HttpServletRequestreq,HttpServletResponseres)方法中驗(yàn)證用戶(hù)有效性,驗(yàn)證成功會(huì)進(jìn)入protectedvoidsuccessfulAuthentication方法并在數(shù)據(jù)庫(kù)中讀取該用戶(hù)的權(quán)限操作保存在redis數(shù)據(jù)庫(kù)中并保存到SpringSecuriy上下文。驗(yàn)證失敗進(jìn)入protectedvoidunsuccessfulAuthentication方法中返回錯(cuò)誤信息。每次后臺(tái)管理系統(tǒng)中進(jìn)行權(quán)限操作時(shí)都會(huì)進(jìn)入授權(quán)過(guò)濾器中的protectedvoiddoFilterInternal方法判斷當(dāng)前用戶(hù)是否有執(zhí)行此操作的權(quán)限。圖管理員進(jìn)入后臺(tái)顯示頁(yè)面圖商戶(hù)進(jìn)入后臺(tái)顯示頁(yè)面后臺(tái)管理系統(tǒng)的注冊(cè)功能后臺(tái)管理系統(tǒng)的注冊(cè)功能設(shè)計(jì)在后臺(tái)管理系統(tǒng)中注冊(cè)是用戶(hù)想要進(jìn)入平臺(tái)成為商家的渠道。根據(jù)之前的需求分析,注冊(cè)時(shí)用戶(hù)需要填寫(xiě)申請(qǐng)的用戶(hù)名username、密碼password等基本信息。并發(fā)送異步請(qǐng)求判斷注冊(cè)用戶(hù)名是否存在并給出提示信息。當(dāng)所有表單內(nèi)容填寫(xiě)完后也會(huì)進(jìn)行數(shù)據(jù)的有效性校驗(yàn),全部合法才能進(jìn)行注冊(cè)請(qǐng)求的發(fā)送。后臺(tái)管理系統(tǒng)的注冊(cè)功能實(shí)現(xiàn)在后臺(tái)注冊(cè)頁(yè)面的表單中,只要用戶(hù)輸入完用戶(hù)名username,立馬便會(huì)進(jìn)行數(shù)據(jù)校驗(yàn)觸發(fā)checkUserNameOnly方法調(diào)用registerApi中的異步方法checkUserNameOnly然后后臺(tái)接口代碼中收到此請(qǐng)求便會(huì)查詢(xún)數(shù)據(jù)庫(kù)進(jìn)行校驗(yàn)并返回結(jié)果。圖后臺(tái)系統(tǒng)注冊(cè)功能異步請(qǐng)求判斷用戶(hù)名不唯一圖后臺(tái)系統(tǒng)注冊(cè)功能異步請(qǐng)求判斷用戶(hù)名唯一后臺(tái)管理系統(tǒng)圖書(shū)分類(lèi)功能后臺(tái)管理系統(tǒng)圖書(shū)分類(lèi)功能設(shè)計(jì)根據(jù)之前的需求分析,圖書(shū)商品的分類(lèi)為三級(jí)分類(lèi),因此為了存儲(chǔ)的方便以及可擴(kuò)展性在分類(lèi)表category中設(shè)置了pid項(xiàng),表示其上一級(jí)分類(lèi)的id。在后臺(tái)管理系統(tǒng)中,需要將圖書(shū)三級(jí)分類(lèi)以樹(shù)形結(jié)構(gòu)的形式展示出來(lái),并可以進(jìn)行基本操作的維護(hù)。后臺(tái)管理系統(tǒng)圖書(shū)分類(lèi)功能實(shí)現(xiàn)在后臺(tái)管理系統(tǒng)中的三級(jí)分類(lèi)的顯示結(jié)合使用ElementUI組件,當(dāng)進(jìn)入分類(lèi)頁(yè)面時(shí),會(huì)觸發(fā)周期函數(shù)調(diào)用后端接口中的publicRlist接口,此接口調(diào)用服務(wù)層itemCategoryService中的queryListWithTree()方法將分類(lèi)數(shù)據(jù)遞歸處理得到樹(shù)形結(jié)構(gòu)的形式,在通過(guò)ElementUI框架中的el-tree組件實(shí)現(xiàn)樹(shù)形結(jié)構(gòu)的展示。圖管理員手動(dòng)管理分類(lèi)圖管理員通過(guò)操作excel管理分類(lèi)前臺(tái)用戶(hù)系統(tǒng)購(gòu)物車(chē)功能前臺(tái)用戶(hù)系統(tǒng)購(gòu)物車(chē)功能設(shè)計(jì)購(gòu)物車(chē)用來(lái)保存并顯示前臺(tái)用戶(hù)選擇的圖書(shū)商品,可以查看添加到購(gòu)物車(chē)中的商品信息,如商品名,價(jià)格,數(shù)量等。實(shí)現(xiàn)購(gòu)物車(chē)的方式有兩種,一是可以利用mysql數(shù)據(jù)庫(kù)建立商品之間的關(guān)系,創(chuàng)建對(duì)應(yīng)的表來(lái)存儲(chǔ)數(shù)據(jù),但是這樣實(shí)現(xiàn)起來(lái)會(huì)較為復(fù)雜并且對(duì)購(gòu)物車(chē)的操作需要頻繁的操作數(shù)據(jù)庫(kù),執(zhí)行IO操作將會(huì)十分耗時(shí)使得系統(tǒng)的效率變低。因此這邊使用到redis非關(guān)系型數(shù)據(jù)庫(kù),一是redis提供了多種數(shù)據(jù)存儲(chǔ)方式,使用這些存儲(chǔ)結(jié)構(gòu)進(jìn)行拼接可以很容易的記錄下購(gòu)物車(chē)中的數(shù)據(jù)信息,而是redis是基于內(nèi)存的讀寫(xiě)操作,效率上也會(huì)比使用mysql數(shù)據(jù)庫(kù)來(lái)的高效。前臺(tái)用戶(hù)系統(tǒng)購(gòu)物車(chē)功能實(shí)現(xiàn)在SpringBoot項(xiàng)目中添加兩個(gè)實(shí)體類(lèi)Cart和CartItem。Cart需要封裝每一個(gè)具體用戶(hù)整個(gè)的購(gòu)物車(chē)信息,有商品類(lèi)別的數(shù)量count,總價(jià)totalPrice,具體的圖書(shū)項(xiàng)列表List。CartItem則封裝著購(gòu)物車(chē)中每條記錄的詳細(xì)信息,有圖書(shū)商品的id,所屬于的商家id,圖書(shū)商品名稱(chēng)title,圖書(shū)封面圖片image,圖書(shū)商品價(jià)格price和是否選擇check。以將商品加入購(gòu)物車(chē)為例:當(dāng)在前臺(tái)系統(tǒng)中將某一件圖書(shū)商品加入購(gòu)物車(chē)時(shí),后端代碼中publicStringaddToCart方法接收到請(qǐng)求。然后調(diào)用service層itemFrontCartService.addToCart(bookId,num,session);redis中購(gòu)物車(chē)的存儲(chǔ)結(jié)構(gòu)為<String,Cart>,Cart中也是key-value的形式為<String,CartItem>,是一個(gè)嵌套的key-value形式。圖前臺(tái)系統(tǒng)購(gòu)物車(chē)頁(yè)面前臺(tái)用戶(hù)系統(tǒng)支付功能前臺(tái)用戶(hù)系統(tǒng)支付功能設(shè)計(jì)當(dāng)用戶(hù)在購(gòu)物車(chē)中選擇了圖書(shū)商品進(jìn)行結(jié)算時(shí),會(huì)生成對(duì)應(yīng)的訂單記錄,此時(shí)這條訂單記錄需要完成付款操作才算有效的訂單。因此當(dāng)生成了訂單頁(yè)面點(diǎn)擊頁(yè)面中的付款時(shí),可以選擇微信支付或者支付寶支付的方式進(jìn)行結(jié)算。支付成功后將會(huì)跳轉(zhuǎn)到用戶(hù)的所有訂單頁(yè)面查看到當(dāng)前所支付的訂單的狀態(tài)信息。前臺(tái)用戶(hù)系統(tǒng)支付功能實(shí)現(xiàn)本論文中將舉例闡述對(duì)接支付寶實(shí)現(xiàn)支付功能。實(shí)現(xiàn)此功能需要在我們創(chuàng)建的SpringBoot項(xiàng)目中添加以下的類(lèi)以及配置文件。在實(shí)體類(lèi)entity下創(chuàng)建PayVo類(lèi),用于描述訂單的信息:訂單號(hào),訂單金額等。然后在配置config包下添加支持支付寶實(shí)現(xiàn)的模板AlipayTemplate,里面主要需要填寫(xiě)一些參數(shù)的值有:app_id,merchant_private_key,alipay_public_key,notify_url,return_url,gatewayUrl。其中app_id設(shè)置為在阿里云支付寶中創(chuàng)建的應(yīng)用的id,merchant_private_key設(shè)置為商戶(hù)私鑰,alipay_public_key設(shè)置為支付寶的公鑰,并且支付寶那邊會(huì)留有商戶(hù)的公鑰merchant_public_key以及支付寶自己的私鑰alipay_private_key,通過(guò)這四把鑰匙實(shí)現(xiàn)更加安全的支付形式。notify_url設(shè)置的是一個(gè)地址,用來(lái)異步接受支付成功的信息,return_url設(shè)置的地址為當(dāng)支付成功后可以跳轉(zhuǎn)的頁(yè)面的地址。gatewayUrl設(shè)置的地址為支付寶的網(wǎng)關(guān)地址,當(dāng)前臺(tái)中選擇了支付寶支付的時(shí)候會(huì)請(qǐng)求這個(gè)地址執(zhí)行后續(xù)操作,然后在這個(gè)類(lèi)里面需要實(shí)現(xiàn)方法publicStringpay(PayVovo)throwsAlipayApiException。在配置文件application中設(shè)置阿里云所需要的參數(shù)。最后當(dāng)將前臺(tái)系統(tǒng)中點(diǎn)擊支付寶所響應(yīng)的地址設(shè)置為阿里云gatewayUrl即可。圖在支付頁(yè)面可以對(duì)支付方式進(jìn)行選擇圖選擇支付寶支付,進(jìn)行登錄圖支付寶中輸入支付的密碼圖支付寶支付成功圖支付寶支付成功后跳轉(zhuǎn)的頁(yè)面,查看到剛才的訂單第6章系統(tǒng)測(cè)試系統(tǒng)測(cè)試后臺(tái)管理系統(tǒng)權(quán)限分配功能測(cè)試該項(xiàng)測(cè)試主要是對(duì)后臺(tái)管理系統(tǒng)中的權(quán)限控制模塊下的用戶(hù)管理、角色管理、菜單管理進(jìn)行測(cè)試,主要測(cè)試內(nèi)容為為選擇角色列表中的一個(gè)具體角色roleA,分配菜單權(quán)限,然后將用戶(hù)列表中的具體用戶(hù)A設(shè)置為roleA角色,這樣用戶(hù)A擁有了分配給roleA的菜單權(quán)限,然后以用戶(hù)A登錄系統(tǒng),查看系統(tǒng)界面顯示的可操作功能是否為給roleA分配的菜單功能。表STYLEREF1\s6SEQ表\*ARABIC\s11權(quán)限分配測(cè)試結(jié)果編號(hào)模塊測(cè)試步驟預(yù)期結(jié)果實(shí)際結(jié)果用戶(hù)管理進(jìn)入后臺(tái)管理系統(tǒng)后,點(diǎn)擊權(quán)限權(quán)限管理下的用戶(hù)管理,進(jìn)入界面可以看到所有的用戶(hù)以及可操作的按鈕與預(yù)期結(jié)果一致在用戶(hù)管理頁(yè)面,點(diǎn)擊添加按鈕,輸入表單數(shù)據(jù),確認(rèn)添加會(huì)在數(shù)據(jù)庫(kù)表acl_user中添加對(duì)應(yīng)的一條記錄,并且可以在用戶(hù)管理頁(yè)面看到剛剛添加的數(shù)據(jù)與預(yù)期結(jié)果一致在用戶(hù)管理頁(yè)面選擇某一個(gè)用戶(hù),點(diǎn)擊刪除,確認(rèn)刪除數(shù)據(jù)庫(kù)的acl_user表中刪除對(duì)應(yīng)的數(shù)據(jù),并且頁(yè)面中也不在進(jìn)行顯示與預(yù)期結(jié)果一致選擇某一個(gè)用戶(hù)執(zhí)行授權(quán)操作,選擇為其分配一個(gè)已有的角色在數(shù)據(jù)庫(kù)表acl_user_role中會(huì)添加一條對(duì)應(yīng)的記錄。當(dāng)此時(shí)我們用這個(gè)用戶(hù)進(jìn)行登錄時(shí),界面只會(huì)顯示出為其分配的角色對(duì)應(yīng)的菜單操作界面與預(yù)期結(jié)果一致角色管理在角色管理頁(yè)面點(diǎn)擊添加按鈕,填寫(xiě)對(duì)應(yīng)表單數(shù)據(jù),確認(rèn)添加在數(shù)據(jù)庫(kù)表acl_role中添加一條對(duì)應(yīng)的數(shù)據(jù),并且會(huì)頁(yè)面會(huì)顯示出剛剛添加的角色名稱(chēng)與預(yù)期結(jié)果一致在角色管理頁(yè)面選擇角色點(diǎn)擊刪除按鈕,確認(rèn)刪除在數(shù)據(jù)庫(kù)表acl_role中會(huì)刪除對(duì)應(yīng)的數(shù)據(jù)信息,頁(yè)面中也不再顯示刪除的角色名稱(chēng)與預(yù)期結(jié)果一致在角色管理頁(yè)面選擇角色為其執(zhí)行分配菜單權(quán)限,會(huì)顯示出所有的菜單表中的數(shù)據(jù),選中一些數(shù)據(jù),確認(rèn)分配在數(shù)據(jù)庫(kù)表acl_role_permission中添加對(duì)應(yīng)的數(shù)據(jù),查看角色所有的菜單操作,其可操作選項(xiàng)前會(huì)被勾選中與預(yù)期結(jié)果一致菜單管理進(jìn)入后臺(tái)管理系統(tǒng)后,點(diǎn)擊權(quán)限權(quán)限管理下的菜單管理,進(jìn)入界面會(huì)以樹(shù)形結(jié)構(gòu)的形式展現(xiàn)出所有的菜單及菜單內(nèi)的操作與預(yù)期結(jié)果一致在菜單頁(yè)面點(diǎn)擊添加按鈕,確認(rèn)添加在數(shù)據(jù)庫(kù)表acl_permission添加對(duì)應(yīng)數(shù)據(jù),并在頁(yè)面中顯示添加的數(shù)據(jù)與預(yù)期結(jié)果一致在菜單頁(yè)面點(diǎn)擊添加修改,確認(rèn)修改數(shù)據(jù)庫(kù)表acl_permission中對(duì)應(yīng)的數(shù)據(jù)信息內(nèi)容會(huì)被更新與預(yù)期結(jié)果一致在菜單頁(yè)面點(diǎn)擊添加刪除,確認(rèn)刪除數(shù)據(jù)庫(kù)表acl_permission中對(duì)應(yīng)的數(shù)據(jù)會(huì)被刪除,并且頁(yè)面中不在顯示刪除的數(shù)據(jù)與預(yù)期結(jié)果一致系統(tǒng)功能測(cè)試后臺(tái)管理系統(tǒng)登錄注冊(cè)功能測(cè)試表STYLEREF1\s6SEQ表\*ARABIC\s12登錄注冊(cè)測(cè)試結(jié)果編號(hào)模塊測(cè)試步驟預(yù)期結(jié)果實(shí)際結(jié)果注冊(cè)在注冊(cè)頁(yè)面輸入用戶(hù)名完成后會(huì)發(fā)送異步請(qǐng)求校驗(yàn)用戶(hù)名是否唯一,并給出提示如果注冊(cè)填寫(xiě)時(shí)的用戶(hù)名校驗(yàn)結(jié)果唯一,則不會(huì)出現(xiàn)提示。否則會(huì)顯示出用戶(hù)名已被占用的提示信息。此時(shí)需要更換用戶(hù)名。與預(yù)期結(jié)果一致當(dāng)在注冊(cè)頁(yè)面的注冊(cè)表單的數(shù)據(jù)都輸入完成,每一項(xiàng)的數(shù)據(jù)都會(huì)進(jìn)行合法性校驗(yàn),若都校驗(yàn)成功則顯示正常,否則會(huì)出現(xiàn)對(duì)應(yīng)的提示信息要求修改填寫(xiě)內(nèi)容若數(shù)據(jù)都校驗(yàn)正確,則不會(huì)出現(xiàn)紅色字體的提示信息,否則會(huì)在相應(yīng)的未校驗(yàn)對(duì)的輸入項(xiàng)下顯示對(duì)應(yīng)的提示信息。與預(yù)期結(jié)果一致當(dāng)注冊(cè)表單的數(shù)據(jù)都校驗(yàn)完成后,點(diǎn)擊注冊(cè)按鈕如果注冊(cè)成功會(huì)彈出注冊(cè)成功的提示框,并且自動(dòng)跳轉(zhuǎn)到登錄界面,在數(shù)據(jù)庫(kù)表item_back_user中會(huì)添加一條記錄,否則會(huì)彈出注冊(cè)失敗的彈框信息。與預(yù)期結(jié)果一致登錄在登錄頁(yè)面輸入注冊(cè)時(shí)的用戶(hù)名和密碼如果登錄成功會(huì)跳轉(zhuǎn)進(jìn)后臺(tái)管理系統(tǒng)首頁(yè),并會(huì)出現(xiàn)提示信息顯示登錄成功。否則登錄失敗,提示信息顯示登錄失敗,依舊停留在登錄頁(yè)面與預(yù)期結(jié)果一致后臺(tái)管理系統(tǒng)添加圖書(shū)商品功能測(cè)試表STYLEREF1\s6SEQ表\*ARABIC\s13添加圖書(shū)商品測(cè)試結(jié)果編號(hào)模塊測(cè)試步驟預(yù)期結(jié)果實(shí)際結(jié)果圖書(shū)商品點(diǎn)擊圖書(shū)管理,進(jìn)入圖書(shū)商品頁(yè)面顯示出當(dāng)前商戶(hù)的所有圖書(shū)數(shù)據(jù)與預(yù)期結(jié)果一致添加數(shù)據(jù),填寫(xiě)對(duì)應(yīng)的表單內(nèi)容提示操作成功,數(shù)據(jù)庫(kù)中記錄對(duì)應(yīng)數(shù)據(jù)與預(yù)期結(jié)果一致選擇數(shù)據(jù),進(jìn)行修改會(huì)修改數(shù)據(jù)庫(kù)表中對(duì)應(yīng)的數(shù)據(jù),并且在頁(yè)面中顯示修改后的數(shù)據(jù)信息。與預(yù)期結(jié)果一致選擇某一條數(shù)據(jù),點(diǎn)擊刪除按鈕刪除成功會(huì)將數(shù)據(jù)庫(kù)中對(duì)應(yīng)的數(shù)據(jù)刪除并且頁(yè)面不在顯示此條數(shù)據(jù)信息與預(yù)期結(jié)果一致后臺(tái)管理系統(tǒng)添加圖書(shū)商品分類(lèi)功能測(cè)試表STYLEREF1\s6SEQ表\*ARABIC\s14添加圖書(shū)商品分類(lèi)測(cè)試結(jié)果編號(hào)模塊測(cè)試步驟預(yù)期結(jié)果實(shí)際結(jié)果圖書(shū)分類(lèi)進(jìn)入后臺(tái)系統(tǒng)后,點(diǎn)擊進(jìn)入圖書(shū)分類(lèi)頁(yè)面圖書(shū)分類(lèi)數(shù)據(jù)以樹(shù)形結(jié)構(gòu)的形式展現(xiàn)出來(lái)。與預(yù)期結(jié)果一致在圖書(shū)分類(lèi)頁(yè)面,點(diǎn)擊添加操作添加成功在數(shù)據(jù)庫(kù)item_category中記錄相應(yīng)信息,并提示添加成功信息,頁(yè)面刷新看到添加的數(shù)據(jù),否則提示添加失敗信息。與預(yù)期結(jié)果一致在圖書(shū)分類(lèi)頁(yè)面,點(diǎn)擊刪除操作刪除成功在數(shù)據(jù)庫(kù)表中刪除對(duì)應(yīng)數(shù)據(jù),頁(yè)面不在顯示刪除的數(shù)據(jù)與預(yù)期結(jié)果一致在圖書(shū)分類(lèi)頁(yè)面,點(diǎn)擊修改操作修改成功會(huì)相應(yīng)修改對(duì)應(yīng)數(shù)據(jù)庫(kù)表中的數(shù)據(jù),并提示修改成功信息,頁(yè)面顯示修改后的數(shù)據(jù)信息,否則提示修改失敗信息與預(yù)期結(jié)果一致進(jìn)入分類(lèi)導(dǎo)入頁(yè)面,點(diǎn)擊導(dǎo)入excel表數(shù)據(jù)導(dǎo)入成功在圖書(shū)分類(lèi)頁(yè)面的數(shù)據(jù)會(huì)顯示為剛剛導(dǎo)入的數(shù)據(jù),對(duì)應(yīng)數(shù)據(jù)庫(kù)中添加數(shù)據(jù),提示導(dǎo)入成功信息,否則提示導(dǎo)入失敗信息。與預(yù)期結(jié)果一致后臺(tái)管理系統(tǒng)統(tǒng)計(jì)分析功能測(cè)試表STYLEREF1\s6SEQ表\*ARABIC\s15統(tǒng)計(jì)分析測(cè)試結(jié)果編號(hào)模塊測(cè)試步驟預(yù)期結(jié)果實(shí)際結(jié)果統(tǒng)計(jì)分析進(jìn)入后臺(tái)管理系統(tǒng)后點(diǎn)擊統(tǒng)計(jì)分析模塊,進(jìn)入頁(yè)面可以看到以折線圖顯示的銷(xiāo)售金額的圖表信息以及以柱狀圖顯示的圖書(shū)銷(xiāo)量的信息與預(yù)期結(jié)果一致點(diǎn)擊頁(yè)面中的時(shí)間選擇器,可以選擇時(shí)間區(qū)間當(dāng)選擇時(shí)間區(qū)間后,頁(yè)面顯示的圖表數(shù)據(jù)信息會(huì)改變,顯示出選擇區(qū)間內(nèi)的數(shù)據(jù)信息與預(yù)期結(jié)果一致前臺(tái)用戶(hù)系統(tǒng)購(gòu)物車(chē)功能測(cè)試表STYLEREF1\s6SEQ表\*ARABIC\s16購(gòu)物車(chē)測(cè)試結(jié)果編號(hào)模塊測(cè)試步驟預(yù)期結(jié)果實(shí)際結(jié)果購(gòu)物車(chē)進(jìn)入前臺(tái)用戶(hù)系統(tǒng),進(jìn)入圖書(shū)商品詳細(xì)介紹頁(yè)面,點(diǎn)擊加入購(gòu)物車(chē)添加成功會(huì)在redis數(shù)據(jù)庫(kù)中記錄對(duì)應(yīng)信息,并且進(jìn)入購(gòu)物車(chē)中可以看到添加的圖書(shū)信息與預(yù)期結(jié)果一致進(jìn)入購(gòu)物車(chē)頁(yè)面,點(diǎn)擊刪除操作成功刪除數(shù)據(jù),redis數(shù)據(jù)庫(kù)中對(duì)應(yīng)的記錄刪除,并且購(gòu)物車(chē)中不在顯示刪除的數(shù)據(jù)與預(yù)期結(jié)果一致進(jìn)入購(gòu)物車(chē)頁(yè)面,修改商品數(shù)量修改成功redis數(shù)據(jù)庫(kù)中對(duì)應(yīng)的數(shù)據(jù)記錄會(huì)更新,并且頁(yè)面顯示修改后的數(shù)據(jù)與預(yù)期結(jié)果一致進(jìn)入購(gòu)物車(chē)頁(yè)面,修改商品的數(shù)量信息,并且選中相應(yīng)的數(shù)據(jù)購(gòu)物車(chē)頁(yè)面的結(jié)算金額中會(huì)自動(dòng)計(jì)算出正確的結(jié)算金額與預(yù)期結(jié)果一致前臺(tái)用戶(hù)系統(tǒng)支付寶支付功能測(cè)試表STYLEREF1\s6SEQ表\*ARABIC\s17支付寶支付測(cè)試結(jié)果編號(hào)模塊測(cè)試步驟預(yù)期結(jié)果實(shí)際結(jié)果支付寶支付在購(gòu)物車(chē)中選擇圖書(shū)商品項(xiàng)進(jìn)行結(jié)算,進(jìn)入結(jié)算頁(yè)面點(diǎn)擊去付款,選擇支付寶付款彈出支付寶登錄頁(yè)面與預(yù)期結(jié)果一致當(dāng)進(jìn)入支付寶登錄頁(yè)面時(shí),填寫(xiě)賬號(hào)密碼進(jìn)行登錄,然后付款成功付款頁(yè)面自動(dòng)跳轉(zhuǎn)到購(gòu)買(mǎi)商品的顯示頁(yè)面,查看到圖書(shū)商品處于代發(fā)貨狀態(tài)與預(yù)期結(jié)果一致致謝總結(jié)與展望本論文對(duì)基于SpringBoot的圖書(shū)銷(xiāo)售系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)進(jìn)行研究,通過(guò)查找資料了解了當(dāng)前我國(guó)網(wǎng)上圖書(shū)銷(xiāo)售的現(xiàn)狀以及人們的閱讀普遍率,并借鑒查看了其他論文中關(guān)于本論文內(nèi)容的設(shè)計(jì)與實(shí)現(xiàn),最終對(duì)本論文進(jìn)行了詳細(xì)的內(nèi)容需求分析以及實(shí)現(xiàn)技術(shù)選擇。使用了目前流行的技術(shù)框架來(lái)完成了本系統(tǒng)所設(shè)計(jì)的內(nèi)容,并對(duì)所有的完成部分進(jìn)行了功能性測(cè)試,結(jié)果都達(dá)到了預(yù)期的目標(biāo)。但是限于在做畢業(yè)設(shè)計(jì)時(shí)自己的技術(shù)局限性以及經(jīng)濟(jì)上的考慮,在系統(tǒng)的架構(gòu)使用上并沒(méi)有使用目前電商網(wǎng)站中的分布式架構(gòu),在系統(tǒng)的編寫(xiě)實(shí)現(xiàn)中也沒(méi)有多線程的處理,數(shù)據(jù)庫(kù)使用的單一數(shù)據(jù)庫(kù),沒(méi)有搭建數(shù)據(jù)庫(kù)集群,因此系統(tǒng)的健壯性和實(shí)用性都會(huì)較差。在后續(xù)可以根據(jù)實(shí)際在本系統(tǒng)加入以上所提出的內(nèi)容,使得系統(tǒng)能更接近真實(shí)的軟件系統(tǒng),達(dá)到使用的基本標(biāo)準(zhǔn)。參考文獻(xiàn)陳銳.企業(yè)級(jí)信息平臺(tái)的設(shè)計(jì)與實(shí)現(xiàn).北京:中國(guó)地質(zhì)大學(xué),2009:1-5.張顯霞.國(guó)民閱讀需求與公共圖書(shū)館閱讀推廣研究[J].大眾文藝,2017,(11).192-193.doi:10.3969/j.issn.1007-5828.2017.11.159.范秀娟.我國(guó)網(wǎng)上書(shū)店的發(fā)展現(xiàn)狀、問(wèn)題與策略研究[J].蘭州教育學(xué)院學(xué)報(bào),2018,34(4):50-51,54.doi:10.3969/j.issn.1008-5823.2018.04.021TaivalsaariAcuk.ModelingAndDesignofOnlineBookSalesSystemBasedonUML[J].JournalofInformationSecurityandPrivacy,2009,20(6):133—138朱麗萍,萬(wàn)志偉.網(wǎng)上書(shū)店系統(tǒng)的研究與開(kāi)發(fā)[J].?dāng)?shù)字技術(shù)與應(yīng)用,2013,03:193—194徐艷.網(wǎng)上書(shū)店系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn).電子科技大學(xué),2013Arunachalam,BenerA,HackC.OnlineBookSalesManagementSystem[J].JournalofComputerandInformationManagementSystem,2012,46(4):55—60黃宏丞,裴海洋,呂振.計(jì)算機(jī)軟件開(kāi)發(fā)編程語(yǔ)言選擇研究[J].科技風(fēng),2018,(7):102,109.doi:10.19392/ki.1671-7341.201807063QiangZ,DanyanC.DesignandImplementationofDistributionNetworkSCADA

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
  • 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ì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論