日韩一卡2卡3卡4卡新区不卡视频免费|日韩在线欧美高清一区|日韩在线观看A|日韩中文字幕在线观看|日韩视频中文字幕在线一区|日韩午夜福利无码专区a

400-800-9385
網(wǎng)站建設(shè)資訊詳細(xì)

綜合性B2C電商平臺(tái)設(shè)計(jì)與實(shí)現(xiàn)

發(fā)表日期:2022-06-22 09:18:58   作者來源:藍(lán)明基   瀏覽:2670   標(biāo)簽:電商平臺(tái)設(shè)計(jì)    B2C電商平臺(tái)    
【摘要】
近些年,隨著當(dāng)今世界的互聯(lián)網(wǎng)發(fā)展,為生活的方方面面提供了極大的便利。其中最為典型的電商借著這股東風(fēng)已經(jīng)成為了社會(huì)不可或缺的一環(huán)。相關(guān)行業(yè)也在不斷拓展和完善,對(duì)經(jīng)濟(jì)社會(huì)生活產(chǎn)生了極大的促進(jìn),同時(shí)也成為我國經(jīng)濟(jì)發(fā)展的重要一環(huán)。
電商平臺(tái)的使用,通過網(wǎng)上購物為人們?cè)谏钌咸峁O大的便利,使人們不受時(shí)間和空間的限制,在家里就能實(shí)現(xiàn)購物。同時(shí)對(duì)于商家來說,商家可以入駐平臺(tái)實(shí)現(xiàn)商品發(fā)布和出售,在線上實(shí)現(xiàn)訂單的過程,而只需要通過線下發(fā)貨和物流信息的發(fā)布完成訂單,能極大增加商家的銷售渠道和在時(shí)間上的便利。 
此平臺(tái)的的研究工作中,結(jié)合實(shí)際情況對(duì)比,在使用分布式服務(wù)架構(gòu)(RPC)的前提下,結(jié)合服務(wù)治理框架dubbo,zookeeper作為注冊(cè)中心,并結(jié)合使用了Spring、SpringMvc、Mybatis的SSM框架。借助Linux虛擬機(jī),搭載各類第三方技術(shù),比如vsftpd文件上傳服務(wù)器;nginx反向代理,負(fù)載均衡;redis集群配置主從復(fù)用,讀寫分離,搭建主備切換;solr搜索引擎和sso單點(diǎn)登錄等。 
利用相關(guān)技術(shù)開發(fā)平臺(tái),先后實(shí)現(xiàn)完成了后臺(tái)管理系統(tǒng)和前臺(tái)門戶系統(tǒng)。后臺(tái)完成簡單的商品管理功能,權(quán)限屬于管理員。前臺(tái)則實(shí)現(xiàn)完成了基本的用戶注冊(cè)登錄;首頁商品的瀏覽和搜索;經(jīng)典的電商平臺(tái)購物車功能;訂單核對(duì)提交訂單;支付寶在線支付功能;前后臺(tái)的單點(diǎn)登錄功能。前后臺(tái)共同構(gòu)成了一個(gè)完整的B2C電商平臺(tái)。
就本平臺(tái)的功能和測試結(jié)果來看,綜合性B2C電商平臺(tái)滿足了預(yù)期的用戶和管理功能需求,實(shí)現(xiàn)了平臺(tái)的架構(gòu)的解耦分層,良好的高并發(fā)和高可用性能。測試結(jié)果證明了分布式架構(gòu)在電商平臺(tái)中的高效性和可行性,獲得了應(yīng)有的使用價(jià)值。
 
【關(guān)鍵詞】分布式架構(gòu);SSM;Linux;電商平臺(tái)
[錨點(diǎn)]  1 前言
[錨點(diǎn)] [錨點(diǎn)] 1.1 課題的背景近些年,隨著當(dāng)今世界的互聯(lián)網(wǎng)發(fā)展,為生活的方方面面提供了極大的便利。其中最為典型的電商借著這股東風(fēng)已經(jīng)成為了社會(huì)不可或缺的一環(huán)。相關(guān)行業(yè)也在不斷拓展和完善,對(duì)經(jīng)濟(jì)社會(huì)生活產(chǎn)生了極大的促進(jìn),同時(shí)也成為我國經(jīng)濟(jì)發(fā)展的重要一環(huán)。1.2 目的和意義電商平臺(tái)的使用,通過網(wǎng)上購物為人們?cè)谏钌咸峁O大的便利,使人們不受時(shí)間和空間的限制,在家里就能實(shí)現(xiàn)購物。同時(shí)對(duì)于商家來說,商家可以入駐平臺(tái)實(shí)現(xiàn)商品發(fā)布和出售,在線上實(shí)現(xiàn)訂單的過程,而只需要通過線下發(fā)貨和物流信息的發(fā)布完成訂單,能極大增加商家的銷售渠道和在時(shí)間上的便利。
電商平臺(tái)給人們的生活帶來了極大的變化,極大的發(fā)揮了消費(fèi)水平,促進(jìn)了經(jīng)濟(jì)發(fā)展。在電商平臺(tái)上購物也不受時(shí)間和空間上的影響,方便業(yè)務(wù)管理,也解決了消費(fèi)者的購物問題。1.3 國內(nèi)外現(xiàn)狀和發(fā)展趨勢網(wǎng)絡(luò)營銷的熱潮已經(jīng)席卷全球,國內(nèi)外企業(yè)的生存競爭空間已經(jīng)從傳統(tǒng)市場轉(zhuǎn)向網(wǎng)絡(luò)空間市場。網(wǎng)上購物已經(jīng)滲透到國內(nèi)外市場的方方面面,極大的改變了人們的工作和生活方式。天貓雙十一成交額的逐年變化是一個(gè)最好的提現(xiàn),從2009年的0.5億元到現(xiàn)在2021年的5403億元,實(shí)現(xiàn)了大跳躍。2021年上半年我國網(wǎng)絡(luò)購物用戶規(guī)模為8.12億人,占網(wǎng)民整體的80.3%。人們的生活已經(jīng)離不開網(wǎng)上購物,特別是在如今的疫情時(shí)期,網(wǎng)絡(luò)電商平臺(tái)的作用更加重要。
在如今互聯(lián)網(wǎng)的發(fā)展帶動(dòng)下,足不出戶的網(wǎng)上購物基本成為必需。在未來會(huì)有越來越多的人們加入這個(gè)行業(yè)。網(wǎng)絡(luò)電商平臺(tái)也將會(huì)朝著全球化,個(gè)性化,專業(yè)化的趨勢發(fā)展和改善,以至于改變?nèi)虻慕?jīng)濟(jì)結(jié)構(gòu),前途不可估量。1.4 論文架構(gòu)本論文通過七個(gè)部分詳細(xì)講述綜合性B2C電商平臺(tái)的設(shè)計(jì)與實(shí)現(xiàn)。
第一部分前言,分析課題背景和國內(nèi)外現(xiàn)狀,說明目的和意義,表明研究內(nèi)容,簡述本文架構(gòu)。
第二部分電商平臺(tái)的相關(guān)技術(shù),分別對(duì)綜合性B2C電商平臺(tái)所運(yùn)用到的相關(guān)技術(shù)加以介紹。
第三部分是電商平臺(tái)的需求分析,先后分析功能性和非功能性需求,且加以用例圖描述。
第四部分是電商平臺(tái)概要設(shè)計(jì),通過第三部門的需求分析對(duì)平臺(tái)從架構(gòu)搭建到各類服務(wù)組件,從個(gè)功能模塊設(shè)計(jì)到數(shù)據(jù)庫設(shè)計(jì)。
第五部分是電商平臺(tái)詳細(xì)設(shè)計(jì)與實(shí)現(xiàn),從平臺(tái)架構(gòu)詳細(xì)設(shè)計(jì)到平臺(tái)功能詳細(xì)設(shè)計(jì),展示核心功能接口和部分核心代碼,且附上最終的頁面效果。
第六部分是電商平臺(tái)測試,對(duì)平臺(tái)進(jìn)行細(xì)致的功能測試。
綜上所有,在論文的最后部分做了相關(guān)工作的總結(jié)與展望。

[錨點(diǎn)] 2 電商平臺(tái)的相關(guān)技術(shù)
[錨點(diǎn)] 2.1分布式服務(wù)架構(gòu)(RPC)互聯(lián)網(wǎng)的快速發(fā)展下,傳統(tǒng)的垂直應(yīng)用架構(gòu)已經(jīng)無法滿足日漸壯大中的網(wǎng)站規(guī)模的需要,分布式服務(wù)和流動(dòng)計(jì)算架構(gòu)就成如今新的血液,甚至于微服務(wù)架構(gòu)。

微服務(wù)架構(gòu)
 
圖2-1  開發(fā)模式的演變

傳統(tǒng)的單一應(yīng)用架構(gòu),在網(wǎng)站流量很少的情況下,雖然只需要一個(gè)應(yīng)用,但是缺點(diǎn)也很明顯。由于所有功能都部署在一起,即使成本很低,但是在應(yīng)用功能不斷增多的情況下,隨著代碼量的不斷增大,也變得越來越難維護(hù)。
垂直應(yīng)用架構(gòu),為了提高效率將應(yīng)用分開成若干個(gè)不相關(guān)的應(yīng)用。但是缺點(diǎn)也依然是明顯的,在這個(gè)架構(gòu)下,相同邏輯的代碼需要反復(fù)復(fù)制,不得復(fù)用。
分布式服務(wù)架構(gòu),隨著垂直應(yīng)用的增加,各個(gè)應(yīng)用之間的交互是不可避免的。分布式服務(wù)架構(gòu)分離獨(dú)立出核心業(yè)務(wù)服務(wù),構(gòu)成一個(gè)穩(wěn)定的服務(wù)中心,前端的應(yīng)用程序能夠迅速應(yīng)對(duì)變化的市場需求。分布式服務(wù)架構(gòu)的缺點(diǎn)是,服務(wù)的增加,各服務(wù)地址管理成為必要,調(diào)用依賴關(guān)系也更為復(fù)雜,服務(wù)狀態(tài)不好管理,沒法根據(jù)實(shí)際服務(wù)情況進(jìn)行動(dòng)態(tài)管理。
因此,本平臺(tái)的開發(fā),在分布式服務(wù)架構(gòu)的基礎(chǔ)上,為了解決其缺點(diǎn),結(jié)合服務(wù)治理框架dubbo,zookeeper作為注冊(cè)中心,以達(dá)到服務(wù)統(tǒng)一調(diào)度管理的目的,解決遠(yuǎn)程調(diào)用的難題,開發(fā)也從面向?qū)ο筇D(zhuǎn)到了面向服務(wù),比以往更加的松耦合,而實(shí)際上這個(gè)時(shí)候已經(jīng)成為了一個(gè)微服務(wù)[9]架構(gòu)。
 
 
 
[錨點(diǎn)] 2.2 RPC協(xié)議(Remote Procedure Call Protocol)即不需要理解底層網(wǎng)絡(luò)技術(shù),而是通過網(wǎng)絡(luò)在遠(yuǎn)程計(jì)算機(jī)程序上請(qǐng)求程序的遠(yuǎn)程過程調(diào)用協(xié)議。RPC協(xié)議假設(shè)存在若干傳輸協(xié)議,諸如tcp或udp,在通信程序之間傳輸信息數(shù)據(jù)。在OSI網(wǎng)絡(luò)協(xié)議模型中,RPC實(shí)現(xiàn)了傳輸層和應(yīng)用層之間的跨界,從而有助于開發(fā)包含網(wǎng)絡(luò)分布式多程序的應(yīng)用。
RPC是客戶端/服務(wù)器模式??蛻舳苏?qǐng)求程序,服務(wù)器提供程序??蛻舳苏{(diào)用進(jìn)程,向服務(wù)進(jìn)程發(fā)出調(diào)用數(shù)據(jù),并等待數(shù)據(jù)的響應(yīng)。服務(wù)器在呼叫數(shù)據(jù)到達(dá)之前,最初保持睡眠狀態(tài)。一個(gè)調(diào)用數(shù)據(jù)到達(dá)的情況下,服務(wù)器得到進(jìn)程參數(shù),結(jié)算結(jié)果,應(yīng)答數(shù)據(jù)返還,其次等待下一個(gè)數(shù)據(jù),最終客戶端接收應(yīng)答數(shù)據(jù)和結(jié)果,繼續(xù)執(zhí)行調(diào)用。
 
圖2-2  RPC過程處理示例圖
從上圖中可以清晰的看出RPC的執(zhí)行流程。
 
 
 
 
 
[錨點(diǎn)] 2.3服務(wù)治理框架Dubbo和注冊(cè)中心Zookeeper服務(wù)治理框架Dubbo[3]:
Dubbo是Alibaba開發(fā)推出的一個(gè)遠(yuǎn)程調(diào)用框架。Dubbo具有基于接口的遠(yuǎn)程調(diào)用,負(fù)載均衡和容錯(cuò),服務(wù)的自動(dòng)注冊(cè)和發(fā)現(xiàn)三個(gè)核心功能。在阿里巴巴內(nèi)部,Dubbo得到了廣泛的應(yīng)用,很多大型互聯(lián)網(wǎng)公司也在用,比如考拉,當(dāng)當(dāng),京東等等。
Dubbo Architecture:
 
圖2-3  Dubbo工作原理示例圖
節(jié)點(diǎn)角色說明:
Provider:服務(wù)提供方
Consumer:服務(wù)消費(fèi)方
Register:注冊(cè)中心
Moniter:監(jiān)控中心
Container:服務(wù)運(yùn)行容器
調(diào)用關(guān)系說明:
1.服務(wù)容器負(fù)責(zé)啟動(dòng)、加載、運(yùn)行服務(wù)提供者
2.服務(wù)提供者啟動(dòng)并向注冊(cè)中心注冊(cè)自身提供的服務(wù)
3.服務(wù)消費(fèi)者啟動(dòng)并向注冊(cè)中心訂閱自己所需的服務(wù)
4.注冊(cè)中心列表給消費(fèi)者返回提供者地址,如果有所變動(dòng)注冊(cè)中心會(huì)基于長連接發(fā)送變動(dòng)數(shù)據(jù)給消費(fèi)者
5.基于軟負(fù)載均衡算法,消費(fèi)者在地址列表里選擇一臺(tái)提供者調(diào)用,如果失敗則調(diào)用另一臺(tái)
6.服務(wù)提供者和服務(wù)消費(fèi)者在內(nèi)存中累計(jì)的調(diào)用次數(shù)和調(diào)用時(shí)間定時(shí)每分鐘發(fā)送一次統(tǒng)計(jì)數(shù)據(jù)至監(jiān)控中心
注冊(cè)中心Zookeeper:
Zookeeper作為分布式應(yīng)用程序協(xié)調(diào)服務(wù),開源實(shí)現(xiàn)了谷歌的Chubby,所提供的功能有:分布式同步,配置維護(hù),域名服務(wù),租服務(wù)等,是一個(gè)為分布式應(yīng)用提供一致性服務(wù)的軟件。
在本平臺(tái)中,Zookeeper身為服務(wù)注冊(cè)中心,注冊(cè)著編寫的服務(wù)供客戶端遠(yuǎn)程調(diào)用。
Zookeeper注冊(cè)中心是Dubbo官方推薦,負(fù)責(zé)服務(wù)地址的注冊(cè)和發(fā)現(xiàn),也就是目錄服務(wù)。適合作為Dubbo的服務(wù)注冊(cè)中心在于其適合生產(chǎn)環(huán)境且工業(yè)強(qiáng)度高。
 
[錨點(diǎn)] 2.4 Spring、SpringMVC和Mybatis框架
[錨點(diǎn)] 2.4.1 Spring框架Spring是為了解決企業(yè)級(jí)應(yīng)用開發(fā)的復(fù)雜性,簡便Java開發(fā)而誕生的,是一個(gè)由Rod Johnson開發(fā)的為開發(fā)者提供一站式應(yīng)用開發(fā)平臺(tái)的輕量級(jí)開源Java框架。Spring為Java應(yīng)用程序開發(fā)提供全面的基礎(chǔ)架構(gòu)支持,所以Java開發(fā)者可以致力于應(yīng)用程序的開發(fā)。在JavaEE開發(fā)中,支持POJO和JavaBean開發(fā)方式,使應(yīng)用面向接口開發(fā),充分支持OO(面向?qū)ο螅┰O(shè)計(jì)方法;Spring通過IOC容器實(shí)現(xiàn)對(duì)象耦合關(guān)系的管理,并實(shí)現(xiàn)依賴反轉(zhuǎn),將對(duì)象之間的依賴關(guān)系交給IOC容器,實(shí)現(xiàn)解耦。
Spring豐富的功能給企業(yè)級(jí)開發(fā)提供極大便利。依賴注入(DI)和面向切面編程(AOP)是這些功能的底層依賴。Spring框架的核心是IOC容器和AOP模塊。通過IOC容器管理POJO對(duì)象以及他們之間的耦合關(guān)系;通過AOP以動(dòng)態(tài)非侵入的方式增強(qiáng)服務(wù),把遍布于應(yīng)用各層的功能分離出來形成可重用的功能組件。
 
圖2-4  Spring5模塊結(jié)構(gòu)圖
[錨點(diǎn)] 2.4.2 SpringMVC框架Spring MVC[10]是一個(gè)基于Java的輕量級(jí)web框架,它實(shí)現(xiàn)了請(qǐng)求驅(qū)動(dòng)型MVC設(shè)計(jì)模式。通過分離模型視圖控制器,解耦web層的職責(zé),將復(fù)雜的web應(yīng)用程序劃分為幾個(gè)具有清晰邏輯的部分,簡化了開發(fā),減少了錯(cuò)誤,促進(jìn)了團(tuán)隊(duì)開發(fā)人員之間的合作。
Spring MVC中有許多重要組件,如下:
(1)前端控制器 DispatcherServlet
作用:接收請(qǐng)求、響應(yīng)結(jié)果,相當(dāng)于轉(zhuǎn)發(fā)器,有了DispatcherServlet 就減少了其它組件之間的耦合度。
(2)處理器映射器HandlerMapping
作用:根據(jù)請(qǐng)求的URL來查找Handler
(3)處理器適配器HandlerAdapter
(4)處理器Handler(需要程序員開發(fā))
(5)視圖解析器ViewResolver(不需要程序員開發(fā))
作用:進(jìn)行視圖的解析,根據(jù)視圖邏輯名解析成真正的視圖(view)
(6)視圖View(需要程序員開發(fā)jsp)
View是一個(gè)接口,它的實(shí)現(xiàn)類支持不同的視圖類型(jsp,freemarker,pdf等等)
Spring MVC的工作流程:
 
圖2-5  Spring MVC工作流程圖
[錨點(diǎn)] 2.4.3 Mybatis框架Mybatis是一款優(yōu)秀的持久層框架,一個(gè)半 ORM(對(duì)象關(guān)系映射)框架,它支持定制化 SQL、存儲(chǔ)過程以及高級(jí)映射。Mybatis避免了幾乎所有的 JDBC 代碼和手動(dòng)設(shè)置參數(shù)以及獲取結(jié)果集。
Mybatis在查詢關(guān)聯(lián)對(duì)象或關(guān)聯(lián)集合對(duì)象時(shí),需要手動(dòng)編寫sql來完成,所以,稱之為半自動(dòng)ORM映射工具。ORM(Object Relational Mapping),對(duì)象關(guān)系映射,是一種為了解決關(guān)系型數(shù)據(jù)庫數(shù)據(jù)與簡單Java對(duì)象(POJO)的映射關(guān)系的技術(shù)。Hibernate屬于全自動(dòng)ORM映射工具,使用Hibernate查詢關(guān)聯(lián)對(duì)象或者關(guān)聯(lián)集合對(duì)象時(shí),可以根據(jù)對(duì)象關(guān)系模型直接獲取,所以它是全自動(dòng)的。
Mybatis工作原理:
 
圖2-6  Mybatis工作原理流程圖
[錨點(diǎn)] 2.5 Vsftpd文件服務(wù)器和Nginx服務(wù)器Vsftpd文件服務(wù)器:
Vsftpd是一個(gè)運(yùn)行在Unix類操作系統(tǒng)上的服務(wù)器,也能運(yùn)行在比如Linux[1],Solaris,Bsd,Irix上。本系統(tǒng)使用中,Vsftpd運(yùn)行在Linux上,它 相比于其他的ftp服務(wù)器提供了更多的支持,也是Linux發(fā)行版里廣為推薦的ftp服務(wù)器程序。
本平臺(tái)使用Vsftpd文件上傳服務(wù)器,將文件(圖片)上傳至該服務(wù)器上,進(jìn)行統(tǒng)一的獨(dú)立管理,需要拿到服務(wù)器上文件(圖片)的時(shí)候,只需要攜帶地址發(fā)出請(qǐng)求即可。
Nginx服務(wù)器[8]:
Nginx是一個(gè)高性能、輕量級(jí)的HTTP和反向代理web服務(wù)器。它也是一個(gè)電子郵件服務(wù)器,提供IMAP / POP3 / SMTP服務(wù),由俄羅斯人Igor sesoyev開發(fā),源代碼以類似BSD許可證的形式發(fā)布。穩(wěn)定性高,系統(tǒng)資源消耗低,配置文件簡單,功能集豐富是其優(yōu)點(diǎn),在中國大陸得到了廣泛的應(yīng)用。
正因?yàn)槠涓咝阅艿姆聪虼砗拓?fù)載均衡,本平臺(tái)中選擇使用Nginx,并將其搭載在Linux上,配置了三臺(tái)Tomcat[2]服務(wù)器的反向代理負(fù)載均衡。
[錨點(diǎn)] 2.6 Redis緩存數(shù)據(jù)庫Redis[5]是一個(gè)ANSI C語言編寫,支持網(wǎng)絡(luò),可基于內(nèi)存也可持久化的日志型,Key-Value數(shù)據(jù)庫,而且提供了許多語言的API,是一個(gè)開源的非關(guān)系型數(shù)據(jù)庫。Redis的誕生實(shí)際上是因?yàn)镸ysql數(shù)據(jù)庫的低性能,所以一家意大利公司的創(chuàng)始人Salvatore Sanfilippo為了避免這一問題而親自開發(fā)了Redis緩存數(shù)據(jù)庫,事實(shí)證明,Redis的高性能是Mysql所無法匹及的。
Redis所支持的語言有很多,比如常用的Java,C,C++,Python,Php,Go等等。在數(shù)據(jù)類型上,Redis支持string,set,hash,list,sorted set這五種。
本平臺(tái)中Redis正是用于數(shù)據(jù)庫緩存,存儲(chǔ)前臺(tái)數(shù)據(jù)量龐大的數(shù)據(jù),是介于持久層和服務(wù)層之間的,配置了主備切換,讀寫分離。比如前臺(tái)商品分類欄,當(dāng)刷新頁面時(shí),會(huì)先從Redis緩存中查詢數(shù)據(jù),若存在緩存則返回?cái)?shù)據(jù),若不存在緩存,這個(gè)時(shí)候Redis便會(huì)訪問Mysql數(shù)據(jù)庫得到數(shù)據(jù)返回,并在Redis上相應(yīng)緩存。以這種方式打到減緩Mysql數(shù)據(jù)庫壓力的目的,提升商城平臺(tái)的整體性能。
[錨點(diǎn)] 2.7 Solr搜索引擎Apache Solr是一個(gè)獨(dú)立的企業(yè)級(jí)搜索應(yīng)用服務(wù)器,其對(duì)外提供類似Web-service的API接口。用戶經(jīng)過HTTP請(qǐng)求,且得到XML格式的返回結(jié)果,而且通過用類似REST的HTTP API保證我們能可以使用Solr通過幾乎任何編程語言。在如今的生活里,搜索引擎的使用不可或缺,各式各樣的網(wǎng)站往往都有搜索功能,而搜索伴隨的是相當(dāng)龐大的資源消耗,這對(duì)于數(shù)據(jù)庫來說是相當(dāng)沉重的,沉重的加載難免會(huì)拖慢甚至拖垮我們的應(yīng)用,因此搜索引擎為我們解決了這一問題。
Solr實(shí)際上是基于Lucene封裝的,Lucene同樣是一個(gè)搜索引擎工具,Solr和Lucene兩者的索引庫也是公用的。不過因?yàn)镾olr是基于Lucene封裝的,因此Solr的操作更加的簡單人性化,它是一個(gè)企業(yè)級(jí)的開源搜索平臺(tái),廣泛被用于構(gòu)建搜索應(yīng)用程序,是建立在Lucene之上的,具有高速可擴(kuò)展以及快速的性能。
相比于Mysql,Solr是一個(gè)不同的產(chǎn)品,雖然兩者都有索引,但是索引的文件并不是同種文件,前者的查詢和后者的搜索也不是一個(gè)概念。Mysql為Solr提供了索引數(shù)據(jù)的來源,Solr從Mysql中存儲(chǔ)的數(shù)據(jù)進(jìn)行分析得出索引庫。
[錨點(diǎn)] 2.8 SSO單點(diǎn)登錄SSO單點(diǎn)登錄是一種流行的企業(yè)業(yè)務(wù)集成解決方案。SSO是在多個(gè)應(yīng)用程序系統(tǒng)中定義的。用戶可以通過一次登錄訪問所有相互信任的應(yīng)用系統(tǒng)。在實(shí)現(xiàn)單點(diǎn)登錄時(shí),所有應(yīng)用系統(tǒng)都需要共享一個(gè)身份認(rèn)證系統(tǒng),這是單點(diǎn)登錄的前提條件之一。應(yīng)用系統(tǒng)應(yīng)該能夠識(shí)別并提取票據(jù),當(dāng)用戶首次登錄時(shí)能夠識(shí)別登錄的用戶,而認(rèn)證系統(tǒng)應(yīng)該對(duì)票據(jù)進(jìn)行驗(yàn)證,驗(yàn)證其合法性。
 
圖2-7  SSO實(shí)現(xiàn)原理圖
如果用戶第一次訪問應(yīng)用系統(tǒng)時(shí)沒有登錄,則會(huì)被定向到認(rèn)證系統(tǒng)進(jìn)行登錄。首先,根據(jù)用戶輸入的登錄信息對(duì)用戶進(jìn)行身份驗(yàn)證。如果認(rèn)證通過,經(jīng)過身份驗(yàn)證票將返回給用戶,然后用戶可以使用這張票作為身份驗(yàn)證票訪問其他應(yīng)用系統(tǒng),收到票后,應(yīng)用系統(tǒng)將其發(fā)送給驗(yàn)證確認(rèn)其合法性的驗(yàn)證系統(tǒng)。一旦通過了驗(yàn)證,用戶就可以訪問其他系統(tǒng)而無需再次登錄。
[錨點(diǎn)] 2.9 RabbitMQ消息隊(duì)列消息隊(duì)列(MQ)在計(jì)算機(jī)科學(xué)里是一種進(jìn)程間通信或同一進(jìn)程的不同線程間的通信方式,在軟件里處理一系列來自用戶的輸入。MQ的模型是消費(fèi)者-生產(chǎn)者,一端不斷寫入消息到消息隊(duì)列中,另一端訂閱或讀取隊(duì)列中的消息,MQ遵循了AMQP協(xié)議,本平臺(tái)選用的RabbitMQ是眾多消息隊(duì)列開源實(shí)現(xiàn)中的一個(gè)。
RabbitMQ是一個(gè)開源的AMQP實(shí)現(xiàn),以Erlang語言編寫的服務(wù)器端,支持?jǐn)?shù)種客戶端,比如常用的JAVA,PYTHON,RUBY,C等等,同時(shí)也支持AJAX。因?yàn)槠湓谝子眯?,擴(kuò)展性,高可用性等方面表現(xiàn)出色,所以被廣泛應(yīng)用于分布式系統(tǒng)中存儲(chǔ)轉(zhuǎn)發(fā)信息。
使用RabbitMQ的原因有很多,比如基于AMQP協(xié)議,高并發(fā),高性能,高可用,支持插件和多語音,由于被廣泛使用,所以有強(qiáng)大的社區(qū)支持。對(duì)于AMQP,這是一個(gè)高級(jí)消息隊(duì)列協(xié)議,面向消息,隊(duì)列,路由,可靠性,安全,是應(yīng)用層協(xié)議的一個(gè)開放標(biāo)準(zhǔn),為面向消息的中間件而設(shè)計(jì)。
[錨點(diǎn)] 2.10 其他第三方技術(shù)支付寶開放平臺(tái)(Alipay):
使用支付寶開放平臺(tái)官方提供的支付寶支付API實(shí)現(xiàn)商城的在線支付,選擇的是平臺(tái)里的沙箱環(huán)境實(shí)現(xiàn)支付寶在線支付的集成。
 
圖2-8  支付寶開放平臺(tái)官方主頁
郵件發(fā)送:
郵件發(fā)送上選擇的是網(wǎng)易163郵箱,通過開啟網(wǎng)易163郵箱里的SMTP服務(wù),然后在系統(tǒng)里編程開發(fā)實(shí)現(xiàn)注冊(cè)成功后郵件的發(fā)送,發(fā)送方是網(wǎng)易163郵箱,接收方是自己輸入的存在的郵箱,不限于只是網(wǎng)易163郵箱。
 
圖2-9  163郵箱設(shè)置截圖
GEETEST極驗(yàn)驗(yàn)證:
GEETEST極驗(yàn)驗(yàn)證在計(jì)算機(jī)領(lǐng)域里用于區(qū)別機(jī)器人和自然人,通過官方提供的方式進(jìn)行簡單集成,就能給開發(fā)者提供安全、便攜的云端驗(yàn)證服務(wù)。
 
圖2-10  GEETEST極驗(yàn)驗(yàn)證官方行為驗(yàn)證截圖
 
 
 
 
[錨點(diǎn)] 3 電商平臺(tái)的需求分析在本章中,將會(huì)對(duì)本電商平臺(tái)的需求進(jìn)行分析,從功能需求和非功能需求兩個(gè)角度分析。功能需求是從用戶的角度出發(fā)分析各個(gè)平臺(tái)功能的需求和操作流程,非功能需求則是分析用戶和平臺(tái)性能上的使用體驗(yàn),安全可靠性等。
這是本次平臺(tái)開發(fā)最初的一環(huán)也是最重要的,需求分析能為接下去的平臺(tái)開發(fā)提供藍(lán)圖,給平臺(tái)開發(fā)設(shè)計(jì)做到極大的便利。
[錨點(diǎn)] 3.1 平臺(tái)功能需求簡述后臺(tái)管理系統(tǒng)和前臺(tái)門戶系統(tǒng)。后臺(tái)完成簡單的商品管理功能,權(quán)限屬于管理員。前臺(tái)則實(shí)現(xiàn)完成了基本的用戶注冊(cè)登錄;首頁商品的瀏覽和搜索;訂單核對(duì)提交訂單;前后臺(tái)的單點(diǎn)登錄功能;在購物車?yán)锾峤挥唵翁顚懶枰男畔?,并跳轉(zhuǎn)支付頁面完成在線支付。如圖所示:
 
圖3-1  系統(tǒng)功能劃分圖
[錨點(diǎn)] 3.2 平臺(tái)功能需求分析
[錨點(diǎn)] 3.2.1 注冊(cè)登錄功能需求分析注冊(cè)登錄功能是電商平臺(tái)上的一個(gè)基礎(chǔ)功能,注冊(cè)用戶的信息會(huì)被得到保存以供平臺(tái)為用戶提供相應(yīng)的服務(wù)。在此平臺(tái)里,未注冊(cè)的用戶身為游客,不擁有查看或添加至購物車,提交訂單,在線支付等功能。注冊(cè)登錄后擁有使用前臺(tái)門戶系統(tǒng)的所有功能的權(quán)限,具體如下:
未注冊(cè)用戶:進(jìn)入首頁,需要注冊(cè)時(shí)可以點(diǎn)擊“免費(fèi)注冊(cè)”按鈕跳轉(zhuǎn)至注冊(cè)頁面,填寫相應(yīng)的正確信息之后,進(jìn)行極驗(yàn)驗(yàn)證和勾選同意協(xié)議最后點(diǎn)擊進(jìn)行注冊(cè),信息錯(cuò)誤的話給予提示以重新填寫注冊(cè)。注冊(cè)成功后在頁面上給用戶反饋提示“注冊(cè)成功”并跳轉(zhuǎn)登錄頁面,后臺(tái)發(fā)送注冊(cè)郵件到對(duì)應(yīng)的用戶郵箱。
已注冊(cè)用戶:有兩種方式可以進(jìn)入到登錄頁面,第一種是新注冊(cè)完成后的自動(dòng)跳轉(zhuǎn)至登錄頁面,第二種則是可以在平臺(tái)首頁上點(diǎn)擊“登錄”按鈕跳轉(zhuǎn)至登錄頁面。進(jìn)入登錄頁面之后,用戶根據(jù)頁面提示輸入用戶名和密碼,填寫正確的話提示“登錄成功”并跳轉(zhuǎn)至平臺(tái)首頁;填寫錯(cuò)誤的話則提示“用戶名或密碼錯(cuò)誤”,重新輸入再次登錄。如圖所示:
 
[錨點(diǎn)] 圖3-2  注冊(cè)登錄功能用例圖
[錨點(diǎn)] 3.2.2 后臺(tái)商品管理功能需求分析平臺(tái)管理員通過后臺(tái)網(wǎng)址訪問進(jìn)入后臺(tái)登錄頁面,在正確輸入用戶名、密碼和驗(yàn)證碼之后成功登陸則跳轉(zhuǎn)至后臺(tái)首頁。后臺(tái)中有商品管理這一功能模塊,其中分別有五個(gè)功能:
商品分類:對(duì)商品分類實(shí)行分級(jí)管理,所有商品分類被查詢出后分級(jí)顯示在頁面上,管理員可以進(jìn)行新增分類,編輯修改分類并保存,刪除分類的操作。
商品列表:進(jìn)入頁面后所有商品被后臺(tái)查詢出后分頁顯示在頁面上,頁面處理后可以進(jìn)行上下頁的切換和相應(yīng)頁碼的跳轉(zhuǎn)??梢酝ㄟ^選擇分類,品牌或者關(guān)鍵字搜索出對(duì)應(yīng)的商品。管理員可以新增商品,編輯和修改商品信息(包括通用信息,商品相冊(cè),商品模型等),刪除商品。
商品模型:商品模型用于規(guī)定某一類商品共有規(guī)格和屬性的集合。商品模型被后臺(tái)查詢后顯示在頁面上,管理員可以新增商品模型,編輯和修改商品模型信息和刪除商品模型。
商品規(guī)格:商品模型下的一個(gè)子集,可以選擇分類篩選查詢規(guī)格顯示在頁面,管理員可以新增商品規(guī)格,編輯修改規(guī)格信息和刪除規(guī)格。
商品屬性:商品模型下的另一個(gè)子集,可以選擇分類篩選查詢屬性顯示在頁面,管理員可以新增商品屬性,編輯修改屬性信息和刪除屬性。如圖所示:
 
圖3-3  商品管理功能用例圖
[錨點(diǎn)] 3.2.3 前臺(tái)商品搜索功能需求分析前臺(tái)上的搜索框?yàn)橛脩籼峁┓奖憧旖莸纳唐匪阉?,這里利用到的是Solr搜索引擎。用戶可以通過輸入商品關(guān)鍵字,名稱或者是品牌來搜索商品,搜索到的商品信息會(huì)返顯在前臺(tái)頁面上,達(dá)到更加方便人性化的目的,而不需要在頁面上逐個(gè)瀏覽尋找商品。這里的搜索功能并不受注冊(cè)登錄的影響,即使是以游客的身份訪問前臺(tái)也可以使用搜索功能。
流程:用戶進(jìn)入平臺(tái)首頁點(diǎn)擊搜索框,輸入關(guān)鍵字,商品名稱或者品牌名稱后點(diǎn)擊“搜索”按鈕。如果搜索的商品存在則搜索成功,相應(yīng)的商品返顯在頁面;如果搜索的商品不存在則搜索失敗,頁面顯示空白。如圖所示:
 
 
 
[錨點(diǎn)] 圖3-4  搜索功能用例圖
[錨點(diǎn)] 3.2.4 前臺(tái)購物車功能需求分析平臺(tái)上的購物車功能用于存儲(chǔ)用戶想要購買的商品或者所以喜愛的商品,購物車列表里顯示這用戶所添加的商品信息,包括商品名稱,數(shù)量,價(jià)格等,用戶可以對(duì)其進(jìn)行相應(yīng)操作,另外購物車功能不支持游客身份使用。
向購物車添加和保存物品:用戶可以通過單擊商品信息欄中的購物車圖標(biāo)按鈕向購物車添加物品,并可以重復(fù)添加。點(diǎn)擊頁面上的購物車按鈕,跳轉(zhuǎn)到購物車頁面,顯示用戶添加到購物車中的所有商品(包括商品信息、總數(shù)量和總價(jià)),用戶可以修改相應(yīng)商品的數(shù)量。
刪除購物車中的商品:用戶可以刪除單個(gè)商品或清空購物車,相應(yīng)的數(shù)量和價(jià)格會(huì)隨著刪除而改變。
修改購物車中的商品數(shù)量:用戶可以點(diǎn)擊“+”“-”按鈕來修改購物車中的商品數(shù)量,相應(yīng)的數(shù)量和價(jià)格也會(huì)隨著數(shù)量的變化而變化。
去結(jié)算:購物車頁面里的去結(jié)算按鈕,結(jié)算購物車商品并跳轉(zhuǎn)至訂單頁面。
 
 
 
 
 
 
 
[錨點(diǎn)] 圖3-5  購物車功能用例圖
[錨點(diǎn)] 3.2.5 前臺(tái)訂單功能需求分析提交訂單這一功能,一是給用戶核對(duì)訂單信息,包括商品清單,地址信息,價(jià)格等等;二是用戶點(diǎn)擊提交訂單按鈕跳轉(zhuǎn)至支付頁面,這一功能不支持游客身份使用。
用戶在購物車點(diǎn)擊“去結(jié)算”按鈕跳轉(zhuǎn)至核對(duì)訂單頁面。
進(jìn)入核對(duì)訂單頁面后,用戶核對(duì)商品清單,價(jià)格,地址等等信息。
用戶確認(rèn)無誤后,點(diǎn)擊“提交訂單”按鈕跳轉(zhuǎn)至訂單提交成功頁面,于此同時(shí),購物車?yán)锏纳唐沸枰玫角蹇?,相?yīng)的后臺(tái)數(shù)據(jù)庫也是,可以點(diǎn)擊“去付款”按鈕跳轉(zhuǎn)支付頁面。如圖所示:
 
 
圖3-6  提交訂單功能用例圖
[錨點(diǎn)] 3.2.6 前臺(tái)支付功能需求分析支付功能為用戶提供虛擬的在線支付,采用的是支付寶開放平臺(tái)的支付寶在線支付體驗(yàn),在登錄相應(yīng)支付寶賬號(hào)之后便可點(diǎn)擊支付完成購買。
在提交訂單成功頁面點(diǎn)擊“去付款”按鈕跳轉(zhuǎn)至支付頁面。
登錄用戶支付寶賬號(hào)后,可以進(jìn)行支付購買,不支付的話訂單會(huì)處以未支付的狀態(tài)在一定時(shí)間之后消除。
支付成功后,自動(dòng)跳轉(zhuǎn)只平臺(tái)首頁,后臺(tái)相應(yīng)生成訂單信息,支付時(shí)間等。
 
[錨點(diǎn)] 圖3-7  支付功能用例圖
[錨點(diǎn)] 3.3 平臺(tái)非功能需求分析效率性能:
為了給用戶良好的體驗(yàn),本電商平臺(tái)在海量數(shù)據(jù)下也要具備較高性能的能力,盡量控制用戶請(qǐng)求的響應(yīng)時(shí)長相對(duì)較低,還要做到高并發(fā)量滿足平臺(tái)的高并發(fā)需求。
安全性[7]:
因?yàn)榇似脚_(tái)是供用戶購物的,所以會(huì)有很多的用戶信息,比如基本的用戶賬號(hào)密碼,郵箱手機(jī)號(hào),地址等。需要確保絕對(duì)的安全性,以保證用戶的相關(guān)信息安全保密,避免不必要的非法操作而導(dǎo)致信息泄露造成損失。
可靠性:
本平臺(tái)是在分布式架構(gòu)下開發(fā)的微服務(wù)系統(tǒng),多個(gè)子系統(tǒng)組成。需要確保整個(gè)平臺(tái)的可靠性,在某些特定環(huán)境下也不易出錯(cuò),還要考慮某個(gè)子系統(tǒng)故障時(shí)盡量不影響其他系統(tǒng)的使用。
可擴(kuò)展性:
作為一個(gè)綜合的電商平臺(tái),在考慮必要的效率和安全可靠性能下同樣也得考慮未來后續(xù)平臺(tái)的優(yōu)化升級(jí)。這就需要一個(gè)良好擴(kuò)展性,減少未來優(yōu)化升級(jí)開發(fā)中不必要的麻煩,以便更好的維護(hù)平臺(tái)。
[錨點(diǎn)] 4 電商平臺(tái)概要設(shè)計(jì)本章的概要設(shè)計(jì)面向開發(fā)者對(duì)用戶需求從構(gòu)建系統(tǒng)的角度進(jìn)行重構(gòu),包含四部分。一個(gè)是平臺(tái)整體系統(tǒng)架構(gòu)的設(shè)計(jì);第二個(gè)是平臺(tái)相關(guān)服務(wù)器的架構(gòu)設(shè)計(jì);第三個(gè)則是根據(jù)用戶的功能需求進(jìn)行功能模塊的概要設(shè)計(jì);最后一個(gè)是數(shù)據(jù)庫的設(shè)計(jì)。
[錨點(diǎn)] 4.1 平臺(tái)系統(tǒng)架構(gòu)設(shè)計(jì)平臺(tái)在基于MVC的模式下,在三層架構(gòu)的基礎(chǔ)下設(shè)計(jì)分布式服務(wù)架構(gòu),做到面向服務(wù)。微服務(wù)方面使用Dubbo服務(wù)治理框架和Zookeeper注冊(cè)中心構(gòu)建RPC框架,實(shí)現(xiàn)遠(yuǎn)程調(diào)用和服務(wù)的統(tǒng)一調(diào)度管理。如圖所示:
 
圖4-1  電商平臺(tái)整體架構(gòu)設(shè)計(jì)圖
[錨點(diǎn)] 1.表現(xiàn)層:
這是電商平臺(tái)的業(yè)務(wù)控制層,業(yè)務(wù)上包括前臺(tái)門戶系統(tǒng),后臺(tái)管理系統(tǒng),搜索系統(tǒng)和訂單系統(tǒng)??刂茖痈鶕?jù)客戶端瀏覽器發(fā)出的不同請(qǐng)求調(diào)用對(duì)應(yīng)的業(yè)務(wù)控制模塊。不同的Controller為不同的請(qǐng)求服務(wù),調(diào)用服務(wù)層且以View的形式返回。
[錨點(diǎn)] 2.服務(wù)層:
服務(wù)層在三層架構(gòu)中起到一個(gè)承上啟下的作用,對(duì)下使用持久層的接口,對(duì)上為控制層提供接口,作為業(yè)務(wù)邏輯層,一個(gè)Service方法完成一個(gè)功能。
[錨點(diǎn)] 3.持久層:
起到與數(shù)據(jù)庫通信的作用,且為服務(wù)層提供接口,是一個(gè)數(shù)據(jù)訪問層。當(dāng)服務(wù)層發(fā)送請(qǐng)求,持久層接收并完成相應(yīng)的增刪改以及數(shù)據(jù)訪問操作。
[錨點(diǎn)] 4.2 相關(guān)服務(wù)器架構(gòu)設(shè)計(jì)本電商平臺(tái)擁有多臺(tái)服務(wù)器,外加數(shù)據(jù)庫,多數(shù)部署在部署在VMware虛擬機(jī)的Linux環(huán)境下。一個(gè)Vsftpd文件上傳服務(wù)器,一個(gè)Nginx服務(wù)器實(shí)現(xiàn)反向代理負(fù)載均衡,三個(gè)Tomcat服務(wù)器構(gòu)成的一個(gè)集群,通過Nginx服務(wù)器實(shí)現(xiàn)集群上的反向代理負(fù)載均衡;數(shù)據(jù)庫上有兩個(gè)兩個(gè)持久化的Mysql數(shù)據(jù)庫,一個(gè)部署在Linux環(huán)境下為索引庫提供數(shù)據(jù)來源,一個(gè)部署在Window環(huán)境下為整個(gè)平臺(tái)提供數(shù)據(jù);一個(gè)Redis緩存數(shù)據(jù)庫;一個(gè)Solr搜索引擎索引庫。
Vsftpd文件上傳服務(wù)器:作為商品圖片的存放服務(wù)器,通過Nginx反向代理Tomcat服務(wù)器攜帶地址訪問Vsftpd上的圖片。
Nginx服務(wù)器:部署一臺(tái)Nginx服務(wù)器,起到為Tomcat服務(wù)器集群反向代理負(fù)載均衡的作用,而且對(duì)Vsftpd上圖片的訪問就是先通過Nginx服務(wù)器的反向代理到Tomcat服務(wù)器上的。
Tomcat服務(wù)器:三臺(tái)Tomcat服務(wù)器構(gòu)成一個(gè)集群,提供Http請(qǐng)求等。
Redis緩存數(shù)據(jù)庫:Redis作為緩存數(shù)據(jù)庫緩存數(shù)據(jù),減輕Mysql的壓力,是一個(gè)非關(guān)系型數(shù)據(jù)庫。Redis搭載在Linux環(huán)境下,有一臺(tái)主機(jī)和兩臺(tái)從機(jī)構(gòu)成一個(gè)集群,實(shí)現(xiàn)了主備切換讀寫分離,避免以為宕機(jī)而導(dǎo)致數(shù)據(jù)丟失。
Solr搜索引擎索引庫:此索引庫為平臺(tái)前臺(tái)的搜索提供服務(wù),加快搜索效率的同時(shí)減輕Mysql數(shù)據(jù)庫的壓力,而索引庫中的數(shù)據(jù)來源于Mysql數(shù)據(jù)庫,由Solr索引庫自身整理而來。
Mysql數(shù)據(jù)庫[4]:配置兩種不同環(huán)境下的Mysql為平臺(tái)服務(wù)。一個(gè)在Window環(huán)境下,存放整個(gè)平臺(tái)的用戶信息和商品信息等;另一個(gè)在Linux環(huán)境下,作用是為Solr搜索引擎索引庫提供數(shù)據(jù)來源。
 
[錨點(diǎn)] 4.3平臺(tái)功能概要設(shè)計(jì)
[錨點(diǎn)] 4.3.1 前臺(tái)注冊(cè)功能概要設(shè)計(jì)注冊(cè)頁面可從兩個(gè)地方進(jìn)入,第一個(gè)平臺(tái)首頁的“免費(fèi)注冊(cè)”按鈕,第二個(gè)是登錄頁面里的“注冊(cè)新用戶”按鈕,通過以上兩種方式跳轉(zhuǎn)至注冊(cè)頁面。在注冊(cè)頁面的表單里,填寫郵箱,用戶名和密碼,點(diǎn)擊極驗(yàn)驗(yàn)證進(jìn)行行為驗(yàn)證,一切都正確填寫之后,點(diǎn)擊“提交注冊(cè)”按鈕完成注冊(cè)。當(dāng)注冊(cè)成功時(shí),提示用戶“注冊(cè)成功”隨后跳轉(zhuǎn)至登錄頁面,于此同時(shí)后臺(tái)發(fā)送注冊(cè)郵件到用戶所填寫的郵箱,如果注冊(cè)失敗則根據(jù)提示重新填寫注冊(cè)。其中行為驗(yàn)證用到的是GEETEST極驗(yàn)驗(yàn)證,郵件發(fā)送使用的是網(wǎng)易163郵箱的SMTP服務(wù)。
[錨點(diǎn)] 4.3.2 登錄功能概要設(shè)計(jì)通過點(diǎn)擊平臺(tái)首頁的“請(qǐng)登錄”按鈕跳轉(zhuǎn)至登錄頁面,輸入用戶名和密碼并進(jìn)行驗(yàn)證,驗(yàn)證錯(cuò)誤則提示“用戶名或密碼錯(cuò)誤”,驗(yàn)證成功則跳轉(zhuǎn)至平臺(tái)首頁。由于本平臺(tái)屬于前后臺(tái)分離,所以登錄功能上做了SSO單點(diǎn)登錄的技術(shù)。如果用戶第一次訪問應(yīng)用系統(tǒng)時(shí)沒有登錄,則會(huì)被定向到認(rèn)證系統(tǒng)進(jìn)行登錄。首先,根據(jù)用戶輸入的登錄信息對(duì)用戶進(jìn)行身份驗(yàn)證。如果認(rèn)證通過,經(jīng)過身份驗(yàn)證票將返回給用戶,然后用戶可以使用這張票作為身份驗(yàn)證票訪問其他應(yīng)用系統(tǒng),收到票后,應(yīng)用系統(tǒng)將其發(fā)送給驗(yàn)證確認(rèn)其合法性的驗(yàn)證系統(tǒng)。一旦通過了驗(yàn)證,用戶就可以訪問其他系統(tǒng)而無需再次登錄。另外,當(dāng)游客想要使用用戶才具備的功能時(shí),比如購物車功能等等,則把頁面自動(dòng)跳轉(zhuǎn)至登錄頁面提示用戶先登錄。
[錨點(diǎn)] 4.3.3 后臺(tái)商品管理功能概要設(shè)計(jì)商品分類:在后臺(tái)管理平臺(tái)點(diǎn)擊商品管理下的“商品分類”按鈕進(jìn)入分類頁面,頁面上三層分級(jí)顯示所有的商品分類,可以通過點(diǎn)擊“展開”“收縮”按鈕進(jìn)行分級(jí)展開和收縮的操作。點(diǎn)擊“新增分類”按鈕跳轉(zhuǎn)新增頁面,在頁面表單上正確填寫各項(xiàng)信息,除了文字信息外還有一個(gè)圖片上傳的功能,填寫完成后可以點(diǎn)擊“提交”完成新增并保存至數(shù)據(jù)庫。新增頁面上還有返回分類頁和重新清空表單信息的兩個(gè)按鈕。點(diǎn)擊編輯圖標(biāo)跳轉(zhuǎn)編輯頁面對(duì)相應(yīng)分類信息進(jìn)行編輯修改。點(diǎn)擊刪除圖標(biāo)則可以刪除相應(yīng)的分類信息并清理數(shù)據(jù)庫的信息。
商品列表:商品列表展示著平臺(tái)所有的商品,可以通過下拉框選擇分類或者是平臺(tái)查詢商品,也可以通過關(guān)鍵字搜索,由于商品數(shù)量多,實(shí)現(xiàn)分頁技術(shù)方便用戶使用。商品列表里可以添加新商品,其中包括通用信息,商品相冊(cè),模型。在列表頁,通過點(diǎn)擊編輯和刪除圖片,可以進(jìn)行對(duì)應(yīng)商品的編輯修改和刪除。
商品模型:由于商品模型是規(guī)定一類商品公有規(guī)格和屬性的集合,所以模型頁面上在展示模型的同時(shí),設(shè)計(jì)“屬性列表”和“規(guī)格列表”兩個(gè)按鈕分別跳轉(zhuǎn)至對(duì)應(yīng)頁面。商品模型可以通過點(diǎn)擊按鈕跳轉(zhuǎn)新增頁面新增模型,也可以點(diǎn)擊編輯和刪除圖標(biāo)進(jìn)行相應(yīng)的編輯修改和刪除。
商品規(guī)格:作為商品模型的一個(gè)子集,在做到常規(guī)的規(guī)格頁面展示外,可以通過下拉框選擇展示某個(gè)模型下的規(guī)格。同樣應(yīng)該就被新增,編輯修改和刪除按鈕進(jìn)行對(duì)應(yīng)操作。
商品屬性:作為商品模型的一個(gè)子集,在做到常規(guī)的屬性頁面展示外,可以通過下拉框選擇展示某個(gè)模型下的屬性。同樣應(yīng)該就被新增,編輯修改和刪除按鈕進(jìn)行對(duì)應(yīng)操作。
[錨點(diǎn)] 4.3.4 前臺(tái)商品搜索功能概要設(shè)計(jì)前臺(tái)商品功能的設(shè)計(jì),搭載Solr搜索引擎,實(shí)現(xiàn)快速的關(guān)鍵字搜索,為Mysql數(shù)據(jù)庫減輕壓力且為用戶提高體驗(yàn)感。在搜索框內(nèi)輸入關(guān)鍵字信息后,點(diǎn)擊“搜索”按鈕實(shí)現(xiàn)商品的搜索,搜索成功商品展示至前臺(tái)首頁。因?yàn)樯唐窋?shù)量的問題以及使用體驗(yàn),搜索而展示的商品進(jìn)行分頁展示。
[錨點(diǎn)] 4.3.5 前臺(tái)購物車功能概要設(shè)計(jì)前臺(tái)購物車功能的設(shè)計(jì)上,頁面上每件商品都會(huì)有一個(gè)購物車圖標(biāo),用戶通過點(diǎn)擊商品信息欄中的購物車圖標(biāo)按鈕便可以將商品添加至購物車,且可重復(fù)添加。點(diǎn)擊頁面上的購物車按鈕可跳轉(zhuǎn)至購物車頁面,顯示著用戶添加至購物車的所有商品(包括商品信息,總數(shù)量及總價(jià)格),用戶可以對(duì)相應(yīng)商品修改數(shù)量。用戶可以刪除單個(gè)商品或者清空購物車,相應(yīng)的數(shù)量和價(jià)格也會(huì)隨著刪除而變化。用戶可以通過點(diǎn)擊“+”,“-”按鈕修改購物車?yán)锷唐返臄?shù)量,同時(shí)相應(yīng)的數(shù)量和價(jià)格也會(huì)隨著數(shù)量的改變而變化。購物車頁面里的去結(jié)算按鈕,結(jié)算購物車商品并跳轉(zhuǎn)至訂單頁面。購物車不屬于游客所能使用的功能,實(shí)現(xiàn)游客使用時(shí)自動(dòng)跳轉(zhuǎn)至登錄頁面。
[錨點(diǎn)] 4.3.6 前臺(tái)訂單功能概要設(shè)計(jì)提交訂單功能設(shè)計(jì)上,用戶在購物車點(diǎn)擊“去結(jié)算”按鈕跳轉(zhuǎn)至核對(duì)訂單頁面,進(jìn)入核對(duì)訂單頁面后;點(diǎn)擊“提交訂單”按鈕跳轉(zhuǎn)至訂單提交成功頁面,于此同時(shí),購物車?yán)锏纳唐沸枰玫角蹇?,相?yīng)的后臺(tái)數(shù)據(jù)庫也是,可以點(diǎn)擊“去付款”按鈕跳轉(zhuǎn)支付頁面。
[錨點(diǎn)] 4.3.7 前臺(tái)支付功能概要設(shè)計(jì)前臺(tái)支付功能設(shè)計(jì)上,使用支付寶開放平臺(tái)沙箱環(huán)境下的支付寶在線支付體驗(yàn),頁面上通過提交訂單功能后的“去付款”按鈕跳轉(zhuǎn)至支付頁面。進(jìn)行支付寶在線支付相關(guān)操作之后,設(shè)計(jì)頁面跳轉(zhuǎn)回平臺(tái)首頁,生成訂單信息,未完成支付則保留訂單一定時(shí)間后清除。
[錨點(diǎn)] 4.4 平臺(tái)數(shù)據(jù)庫設(shè)計(jì)本平臺(tái)的數(shù)據(jù)庫上選用的是Mysql數(shù)據(jù)庫,分別在Window和Linux環(huán)境下搭載,一個(gè)為整個(gè)平臺(tái)提供數(shù)據(jù),一個(gè)為Solr索引庫提供數(shù)據(jù)來源。數(shù)據(jù)庫的設(shè)計(jì)上,嚴(yán)格遵守?cái)?shù)據(jù)庫的設(shè)計(jì)原則和規(guī)范,根據(jù)平臺(tái)實(shí)際需求而設(shè)計(jì),做到數(shù)據(jù)庫的完整性約束,一致性約束,可擴(kuò)展性和可修改性,借助Navicat可視化工具進(jìn)行操作。
數(shù)據(jù)庫E-R圖:
 
圖4-2  數(shù)據(jù)庫E-R圖
數(shù)據(jù)庫表設(shè)計(jì):
商品表
表4-1  t_goods
字段 數(shù)據(jù)類型  字段大小 約束 字段含義
goods_id mediumint  8  主鍵,非空 商品編號(hào) 
cat_id  int 11 非空 分類編號(hào) 
goods_name  varchar 120  非空 商品名稱 
click_count  int 10 非空 點(diǎn)擊次數(shù) 
brand_id  smallint 5  非空 品牌編號(hào) 
store_count  smallint 5 非空 庫存數(shù)量 
shop_price  decimal  10 非空 商品價(jià)格 
on_time int 10 非空 上架時(shí)間 
goods_type  smallint 5 非空 模型編號(hào) 
spec_type  smallint 5  非空 規(guī)格編號(hào)  
商品分類表
表4-2  t_goods_category
字段 數(shù)據(jù)類型  字段大小 約束 字段含義
id smallint 5  主鍵,非空 分類編號(hào) 
name  varchar 90 非空 分類名稱 
level  tinyint  1  默認(rèn)空  分級(jí) 
image  varchar 512  默認(rèn)空  分類圖片 
is_show  tinyint  1  非空 是否顯示  
商品模型表
表4-3  t_goods_type
字段 數(shù)據(jù)類型  字段大小 約束 字段含義
id smallint 5  主鍵,非空 模型編號(hào) 
name  varchar 60 非空 模型名稱  
商品屬性表
表4-4  t_goods_attribute
字段 數(shù)據(jù)類型  字段大小 約束 字段含義
attr_id int  11  主鍵,非空  屬性編號(hào) 
attr_name varchar 60 非空 屬性名稱 
type_id  smallint 5  非空 模型編號(hào) 
type_name  varchar 60  默認(rèn)空  模型名稱  
商品規(guī)格表
表4-5  t_goods_spec
字段 數(shù)據(jù)類型  字段大小 約束 字段含義
spec_id int  11  主鍵,非空  規(guī)格編號(hào) 
spec_name varchar 60 默認(rèn)空  規(guī)格名稱 
type_id  smallint 5  默認(rèn)空  模型編號(hào) 
type_name  varchar 60  默認(rèn)空  模型名稱  
訂單表
表4-6  t_order
字段 數(shù)據(jù)類型  字段大小 約束 字段含義
order_id mediumint  8  主鍵,非空 訂單編號(hào) 
user_id  mediumint  8 非空 用戶編號(hào) 
order_status  tinyint  1  非空 訂單狀態(tài) 
pay_status  tinyint  1  非空 支付狀態(tài) 
consignee varchar 60  非空 收貨人 
goods_price  decimal  10 非空 商品總價(jià) 
pay_time  int 10 非空 支付時(shí)間 
total_amount decimal  10 非空 訂單總價(jià)  
訂單項(xiàng)表
表4-7  t_order_goods
字段 數(shù)據(jù)類型  字段大小 約束 字段含義
rec_id mediumint  8  主鍵,非空 表編號(hào) 
order_id  mediumint  8 非空 用戶編號(hào) 
goods_id mediumint  8  非空 商品編號(hào) 
goods_name  varchar 120  非空 商品名稱 
goods_num smallint  5 非空 購物數(shù)量 
goods_price  decimal  10 非空 商品總價(jià) 
spec_key varchar 128 非空 規(guī)格編號(hào) 
spec_key_name varchar 128 非空 規(guī)格名稱  
用戶表
表4-8  t_user
字段 數(shù)據(jù)類型  字段大小 約束 字段含義
user_id smallint  5  主鍵,非空 用戶編號(hào) 
user_name  varchar 60 非空 用戶名稱 
email  varchar 60 非空 用戶郵箱 
password  varchar 32  非空 用戶密碼
ec_salt varchar 50  非空 密鑰
add_time  int 11 非空 注冊(cè)時(shí)間  
 
 
[錨點(diǎn)] 5 電商平臺(tái)詳細(xì)設(shè)計(jì)與實(shí)現(xiàn)在第四章電商平臺(tái)的概要設(shè)計(jì)基礎(chǔ)上,在本章進(jìn)一步描述電商平臺(tái)的詳細(xì)設(shè)計(jì)與實(shí)現(xiàn),將從平臺(tái)架構(gòu)和功能兩個(gè)角度進(jìn)行剖析。
[錨點(diǎn)] 5.1 平臺(tái)架構(gòu)詳細(xì)設(shè)計(jì)本平臺(tái)的工程架構(gòu)為Maven工程,ego-parent是整個(gè)工程的一個(gè)父工程,其中包括公共工具類系統(tǒng)ego-common,后臺(tái)系統(tǒng)ego-manager,前臺(tái)系統(tǒng)ego-portal,服務(wù)系統(tǒng)ego-rpc,訂單系統(tǒng)ego-order和單點(diǎn)登錄系統(tǒng)ego-sso,除了公共工具類系統(tǒng)每個(gè)子系統(tǒng)都擁有自己的pojo和mapper對(duì)象,也擁有service層和web層,共同組建成一個(gè)完整的平臺(tái)工程,其中各個(gè)子系統(tǒng)的pojo和mapper是由Mybatis的逆向工程generator自動(dòng)生成,包括pojo,mapper.xml,mapper.java,不需要手動(dòng)編寫,大大的提高了編程效率。
 
圖5-1  平臺(tái)工程架構(gòu)圖
平臺(tái)的系統(tǒng)架構(gòu)是在MVC模式的三層架構(gòu)下,利用Dubbo服務(wù)治理框架和Zookeeper注冊(cè)中心搭建服務(wù)系統(tǒng)。利用Nginx分別實(shí)現(xiàn)前后臺(tái)系統(tǒng)的方向代理,前后臺(tái)系統(tǒng)則通過Dubbo實(shí)現(xiàn)服務(wù)的遠(yuǎn)程調(diào)用。
Vsftpd文件上傳服務(wù)器,安裝在Linux環(huán)境下,是商品圖片的存儲(chǔ)地。
Redis服務(wù)器安裝在Linux環(huán)境下,由一臺(tái)主機(jī)和兩臺(tái)從機(jī)構(gòu)成一個(gè)集群,配置了主備切換讀寫分離,用來存儲(chǔ)一些臨時(shí)數(shù)據(jù)或常用數(shù)據(jù)。
Solr搜索引擎安裝在Linux環(huán)境下,為前臺(tái)的搜索功能所服務(wù),實(shí)現(xiàn)了前臺(tái)的關(guān)鍵字搜索,做到了搜索的快速高效,Solr的索引庫數(shù)據(jù)源于Linux環(huán)境下的Mysql數(shù)據(jù)庫,由Solr自己整理而來。
 
圖5-2  平臺(tái)執(zhí)行流程圖
 

圖1

圖2

圖3

圖4

圖5

圖6

圖7

圖8

圖9

圖10

圖11

圖12

圖13

圖14

圖15

圖16

圖17

圖18

圖19

圖20


 
如沒特殊注明,文章均為方維網(wǎng)絡(luò)原創(chuàng),轉(zhuǎn)載請(qǐng)注明來自http://723918.com/news/6466.html
无码av在线一区二区三区 亚洲色图欧美精品 精品国产福利一区二区 公和我做好爽添厨房茄子视频 夜夜躁狠狠躁2024 日本午夜高清视频 欧美日韩东京另类 99久久无码一区人妻 亚洲色图中文无码字幕无码 99re久久这里只有精品最新 AV剧情麻豆映画国产在线观看 97视频国产自在自线2020 欧美亚洲另类一区中文字幕 成年女人a毛片免费视 99精品国产高清一区二区三区香蕉 国产精品高呻吟久久久久AV无码 爽爽精品DVD蜜桃成熟时电影院 国产精品麻豆久久99 欧美午夜成人免费做暖暖视频 日本三区四区免费高清不卡 97超碰福利久久精品 XXXX野外性XXXX黑人 伊人影院综合在线 丰满熟妇bbwbbwbbwbbw 亚洲中文字幕一二三区 免费在线欧美a一级大片 国产沙发午睡对白高清 aa级黄色片 成人免费看一级特黄 中文字幕无码日韩专区 亚洲国产人在线播放首页 夜色福利一区二区三区 欧美在线精品亚洲综合网 琪琪精品无码免费专区午夜 国产精品久久久久久久久齐齐 久久免费午夜福利院 日韩特黄A级毛片免费观看 亚洲色精品三区二区一区 亚洲无线观看国产精品 2020久热爱精品视频在线观看 精品国产高清自在线一区二区 精品国产无码自产自拍自在线观看 国产精品大屁股白浆视频 亚洲av片不卡无码久久 久久婷婷五月六月综合版 中文亚洲av片不卡在线 成人免费观看视频久爱网 在线看片z无码人成免费 国产精品98视频全部国产 精品欧美一区二区精品 欧美人与禽交片mp4 成人国内精品久久久久一区 国产一级内射片 精品一区二区三区无码视频 妺妺窝人体色WWW写真 91免费看日韩一区二区 欧美一级影院 99久久精品无码一区二区毛片免费 国产精品100页 色婷婷亚洲一区二区综合 少妇极品熟妇人妻无码 日本黄色免费看八点影院 在线观看亚洲人成网址 青青青久热国产精品视频 国产精品+日韩精品+在线播放 免费无码视频在哪里看 全黄激性性视频 国产在线观看91精品一区 日本高清二三四本2021第九页 色一情一区二 国产成人AV性色在线播放蜜柚 国产日韩亚洲不卡高清在线观看 亚洲国产片精品一区二区三区 成全视频观看高清在线观看 国产伊人精品 肉体奉公HD中文字幕 在线a亚洲v天堂网2019无码 韩国精品无码一区二区免费 国产成年人免费观看视频 野花日本大全免费观看2019 8050午夜A级毛片在线播放 无码AV在线播放专区 蜜桃一区二区 人妻少妇看A偷人无码 日本理论午夜高清中文字幕 1000款禁用软件永久无限大全 亚洲国产成人精品电影 亚洲午夜精品久久久久 精品无码国产AV综合 99久久综合国产精品免费 亚洲手机在线人成9视频 日韩三级在线免费观看 日韩在线观看一区二区三区 黄片在线免费观看av 久爱无码免费视频在线 国产视频观看色多多 欧美人与动人物牲交免费观看久久 九九精品视频免费 伊人日韩视频在线观看 永久免费观看A级在线观看 少妇高潮惨叫久久久久久 久久精品国产亚洲电影77777 欧美精品V欧洲高清视频在线观看 久久水蜜桃亚洲AV无码精品 午夜精品免费视频观看在线 最新国产成人在线不卡视频 天堂А在线地址8最新版 国产精品高潮呻吟久 国产伦精品一区二区三区视频痴汉 国产乱人伦在线直播放 欧美校园激情清纯另类 免费在线一级H 一区二区三区免费福利 日韩午夜一区二区三区 亚洲国产精品日韩在线 国产又粗又猛又爽又黄的视频日本 国产精品99久久久久久人 亚洲日韩欧美一区二区在线 欧美变态口味重另类在线视频 亚洲AV无码国产精品色午夜 啊慢点太深了国产在线视频 av中文字幕潮喷人妻系列 亚洲欧美日韩久久一区 色系一区二区三区四区五区 亚洲欧美日韩中文综合v日本 91精品国产欧美一区二区 亚洲AV之男人的天堂网站 惠民福利亚洲国产日韩在线精品频道 欧美日韩成人精品久久久免费看 黄色网页在线观看 91香蕉福利一区二区三区 日韩精品亚洲专区在线影视 日本伊人亚洲综合网 羞羞在线观看 精产国品一二三产区入口 巨胸喷奶水视频WWW免费网站 中文无码一级在线观看 在线免费激情视频 久久精品人人做人人爽老司机 国产麻豆天美果冻无码视频 精品少妇人妻AV免费久久洗澡 国产成人涩涩涩视频在线观看动漫 水蜜桃AV无码 99re66在线观看精品免费 最新国产精品自在线观看 国产一级特黄特色aa毛片 丰满少妇a级毛片野外 亚洲成年无码AⅤ片在线观看 久久总和av男人的天堂 国产做无码视频在线观看 无码中文367中文无码 久久香蕉国产线看观看猫咪av 影音先锋人妻啪啪AV资源网站 思思热在线视频精品 国产色视频免费 国产高清视频在线不卡 精品无码中出一区二区 国产亚洲欧洲国产综合一区麻豆 成人区人妻精品一区二区不卡网站 最近2020中文字幕视频日本 久久毛片亚洲免费观看 成人无码黄动漫在线播放 午夜毛片免费观看视频 一区二区不卡在线视频 XXX波多野结衣XXXM 好吊妞国产欧美日韩免费观看网站 狠狠躁夜夜躁亚洲午夜精品 在线免费看黄色片 中文字幕 亚洲 无码 在线 亚洲av一级高清网站 狠狠色丁香五月综合缴情婷婷五月 欧美老熟乱妇43p 免费看黄色视频第一色导航 少妇粗大进出白浆嘿嘿视频 久久人人爽人人爽人人av东京热 亚洲三级片在线看 热久久中文字幕人妻 亚洲αV永久无码精品网址 亚洲日韩欧美精品 中国少妇初尝黑人巨高清 少妇人妻在线无码天堂视频网 国产精品一区二区白浆 日本午夜精品一区二区三区电影 国产亚洲欧美在线观看四区 国产又粗又猛又爽又黄的视频重金破处 在线国产91 一级不卡毛片免费 果冻国产成人AV在线 久久青青草原精品国产麻豆 精品影片在线观看的网站 久久无码精品国产AV 亚洲Av永久无码精品表情包 日本中文人妻字幕有码视频频 久久久久久人妻一区二区三区 99热精国产这里只有精品 手机版久久国产99精品三级片色欲 伊人久久久精品区AAA片 久久国产人乱人偷精品aaaa 伊伊人成亚洲综合人网香 青青青国产依人视频在线观看 91免费高清视频 中文字幕在线中乱码 精品国产青草久久久久福利 亚洲无码三级在线 东京热一区二区三区 亚洲第一色在线 91在线看片无码永久免费 亚洲伊人成综合网2222 97久久伊人精品影院 中文最新版地址在线 久久青青草原亚洲av无码app 亚洲尤物精品自产拍在线观看 久久九九久精品国产尤物 2020亚洲中文字幕久在线 女人让男人桶30分钟在线视频 CHINA中国人妻VIDEO 国产精品视频一区牛牛视频 天天看高清国产在线 手机自拍视频精品1000 日本一区二区中文字幕 国产愉拍91九色国产愉拍 激情性无码视频在线观 国产精品国产三级国快看本 永久免费无码国产 无码中出爆乳一区 欧美日韩视频在线一区 嘿嘿射久草日韩视频 欧美极品少妇×xxxbbb 亚洲精品中文字幕无码AV 国产精品日韩一区二区 特级黄一级播放 亚洲中文字幕男人的天堂喷水 国产囗交10p 人妻激情一区二区三区 美女航空一级毛片在线播放 制服诱惑高清无码一区二区 2020无码专区人妻系列日韩 最好看免费观看高清视频了 亚洲 欧美 小说 99久久久精品免费观看国产 国产aⅴ无码专区亚洲av麻豆 色婷婷AV一区二区三区天涯社区 久久久久久久伊人电影 青青久草国产麻豆 精品一区二区三区无码视频免费送 亚洲性色成人av天堂 人妻少妇精品视中文字幕国语 三年片在线观看免费观看大全中国 亚洲国产另类久久久精品极 2021av片在线免费观看 暖暖中国高清免费中文 全球免费高清在线精品 色a4yy综合私人 国产高潮国产高潮久久久91 亚洲福利视频网址 欧美最新三级手机在线 国产尤物精品视频 精品欧美体内she精2娇小 国产在线精品福利香蕉 曰韩无码一区二区三区 日韩成视频在线精品 九九精品在线视频 中文人妻有码无码人妻 欧美线观看免费欧洲爱做网站 亚洲成a人一区二区三区 91视频黄色 在线播放三级黄色片 色偷偷久久9999kkkk 亚洲综合精品第一 野花高清完整版在线观看免费 亚洲福利尤物在线视频不卡 亚洲欧美精品一中文字幕 国产精品一级毛片无码 三级黄毛片 欧洲美女高清一级毛片久久国产精品 毛片精品视频一区二区三区 看真人视频A级毛片 九九热亚洲精品免费 特黄特色大片免费播放器图片 亚洲精品无码不卡久久久久 男女肉粗暴进来动态图 久久99热只有频精品6国语 东北少妇不戴套对白第一次 亚洲成Av人片乱码色午夜 亚洲三级影院 久久er精品视频 國產香蕉國產精品偷在線 激情视频图片久久 97免费公开无码视频 麻豆国产av巨作国产剧情 亚洲?v无码精品色午夜 色婷婷乱码精品日韩乱码一区二区三区视频 人妻丰满熟妇AV无码区APP 亚洲AV优女天堂熟女 牧场videos人与交k9 无码专区高潮AV 无码熟妇人妻在线视频 一级午夜a毛片免费视频 欧美一区二区手机在线观看视频 奇米在线7777在线精品 久青草久青草视频在线观看 亚洲天堂 在线无码 亚洲色欲色欲综合网站 久久一本日韩精品中文字幕屁孩 亚洲AV无码乱码在线观看富二代 国产精品va一区二区三区 久久一本色系列综合色 国产av影片麻豆精品传媒 99精品国产兔费观看久久 成年人在线免费看 国产精品久久久午夜夜伦鲁鲁 国产成人91一区二区三区 国产三级久久三级久久 久久亚州av片不卡无码久久 国产免费无码AV片在线观看不卡 青青艹在线视频 亚洲性久久久影视 国产尤物一区在线不卡 这里只精品国产国产精品成人网 亚洲精品97久久中文字幕无码 国产99视频精品免费视频76 最近免费字幕中文大全 日韩精品国产一区二区在线看 97夜夜澡人人双人人人喊 人妻激情偷乱频一区二区三区 国产精品成人扳**a毛片 精品人妻中文字幕1区 精品无码国产2020视频 国99久9在线 | 免费 天天av天天翘天天综合网 夜色精品国产嚕嚕亚洲AV 久久女色综网 狠狠色综合播放一区二区 成人无码区免费αⅤ片丝瓜视频 色噜噜亚洲精品中文字幕 久久久国产精品免费无码一区 欧美一级高清片 公和我做好爽添厨房茄子视频 国产中文欧美 我和饥渴的老熟妇 久久综合乱子伦精品 欧洲激情无码一区二区三区 精品自拍偷拍视频 91国在线视频 成年人在线视频第一页 无码人妻精品一区二区三区在线 亚洲精品乱码久久久久久自慰 一群黑人大战亚裔女在线播放 亚洲AV无码专区在线观看成人 丝袜高清无码在线 国产理论视频在线观看 99久久婷婷国产综合精品2020 人人人澡人人人妻人人人精品 激情毛片免费全部播放无码 波多野结衣家庭教师视频 色爱区区域综合网 CAOPORM国产精品视频免费 人成视频在线播放免费 国产91精品久久久久久 欧美白嫩精品一区二区 老女人老熟女亚洲 成全视频在线观看免费高清 亚洲日韩国产AV无码精品色午夜 国产成人成人一区二区 久久人妻无码一区二区三区 玩弄白嫩少妇XXXXX性 在线V亚洲V欧美V专区 亚洲AV一本岛在线播放 国内精品伊人久久久久网一站二区 A级国产乱午夜理论片在线观看 久久久久人妻一区精品色戒 中文成人在线 好男人www社区资源在线观看 手机国产乱子伦精品视频 怡红院男人天堂 久久本道综合久久伊人 欧美人与禽2o2o性论交 人善交zzzzxxxxx另类 亚洲春色Av无码专区最 国产九九视频在线 国产综合欧美日韩视频一区 日本japanese丰满白浆 一区二区中文字幕 级R片内射在线视频播放 国产永久免费高清在线 国产AV无码专区亚洲AV毛网站 天天看片日日夜夜 免费二级毛片在线播放 国产精品186在线观看在线播放 亚洲成AV年一区二区三区 日韩精品中文无线码 日韩高清乱码中文字幕第一页 91精品国产91久久久久青草 亚洲天堂免费视频资源网站 狠狠躁夜夜躁人人爽天天69不卡 国产毛片精品一区二区嗯啊 国产成人综合亚洲精品777 国产综合成人久久大片91 成为班级里的公交车苏苏 制服丝袜中文字幕在线观看 久热这里只有精品伊人 黄又色又污又爽又高潮动态图 91大神精品全国在线观看 亚洲精品国产精品乱码不卞2021 无码日韩人妻精品久久蜜桃 成人无码区免费a∨直播 国产爽死你个荡货h粗暴视频 这里只精品在线视频67 久久黄色视频 成年在线观看网站免费视频 国产freesexvideos中国麻豆 日韩精品无码一区AAA片 欧美乱码一二三区视频 免费黄片软件 日日摸夜夜添狠狠添 在线免费黄片 日本尤物a优视频在线观看 亚洲天堂2014 国模叶桐尿喷337P人体 中文字幕v亚洲日本电影 97国产视频 久久都是精品 伊人久久大香线蕉综合热线 一本久久国产视频 自拍三区播 无码中文亚洲AV影音先锋无码 热久久伊大人香蕉网老师 爽爽婬人综合网网站 91精品91日本精品在线 久久不卡国产精品无码 伊人久久大香线蕉综合亚洲 av不卡无码中文字幕 丁香五月开心婷婷综合中文 久久综合精品国产一区二区三区无码 久久久久成人片免费观看蜜芽 亚洲色成人四虎在线观看 亚洲区小说区图片区QVOD 手机看片在线观看免费 在线观看中文天堂 亚洲免费小视频 亚洲一级精品在线观看 久久中文字幕亚洲精品最新 在线天堂中文最新版www下载 在线观看国产一区二三区 juliaann精品艳妇 亚洲无码专区无码 91免费观看视频 日韩电影午夜电影 国产情趣一区二区三区 在线不卡无码不卡视频 亚洲综合另类小说色六月 麻花传剧MV在线看高清 爽爽婬人综合网网站無需任何下載 一级风流片a级国产 亚洲国产无线乱码在线观看 亚洲av无码av制服丝袜在线 色爱无码av综合区 中文字幕a∨无码专区不卡 99久久免费看国产精品 国产亚洲精品精品国产亚洲综合 国产在线精品亚洲第一区香蕉 √天堂资源在线中文8在线最新版 国产精品视频一区二区三区99 久久99热这里有这里只有精品小草 人人人澡人人人妻人人人少妇动漫 人妻无码专区一区二区三区 www猫咪人成网站入口 无套日出白浆17p 亚洲乱亚洲乱妇无码 高清无码色欲Av 免费国产精品亚洲 国产麻豆黄色视频 亚洲综合天堂网 国产精品观看免费 偷窥美女家挺精品一区二区 亚洲国产成人综合精品2020 久久秋霞精品中文字幕 国产女人爽的流水毛片 人人色人人干五月天 久久精品国产亚洲αv忘忧草 亚洲中文字幕无码爆乳av 狼狼综合久久久久综合网 国产又粗又大硬免费视频 人人妻人人澡人人爽精品欧美 人人妻人人狠人人爽天天综合网 日本XXXX裸体XXXX 噼里啪啦免费观看高清动漫 99re99在线精品视频 人人妻人人澡人人爽欧美精品 日本三级片在线观看 久久精品国产亚洲欧美 免费提供最新电影 国产粉嫩高中无套进入 国产乱子伦精品视频 好运私人电影网 91免费午夜视频在线播放 亚洲无码激情视频在线观看 中文字幕久久高清 一本色道无码道D∨D在线观看 成人无码黄动漫在线播放
吴桥县| 诸城市| 镇安县| 雅江县| 九龙县| 拉孜县| 建昌县| 湘潭县| 溆浦县| 嘉义市| 沙坪坝区| 全州县| 马公市| 武宁县| 泾源县| 肇东市| 郯城县| 绵阳市| 柞水县| 大英县| 沙洋县| 巴南区| 若羌县| 寻甸| 垣曲县| 图们市| 通许县| 广东省| 潍坊市| 法库县| 兴化市| 松江区| 依兰县| 盖州市| 沁源县| 肃宁县| 洪江市| 巨野县| 姜堰市| 固阳县| 石林|