亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        基于.Net Core MVC架構(gòu)的WMS智能倉儲管理系統(tǒng)

        2019-08-16 02:40:00
        物流技術(shù)與應(yīng)用 2019年7期
        關(guān)鍵詞:視圖頁面庫存

        關(guān)鍵字:倉儲管理系統(tǒng)、軟件架構(gòu)、前端開發(fā)

        倉儲管理系統(tǒng)(Warehouse Management System,WMS)是一個(gè)實(shí)時(shí)的計(jì)算機(jī)軟件系統(tǒng),它能夠按照運(yùn)作的業(yè)務(wù)規(guī)則和運(yùn)算法則,對信息、資源、行為、存貨和分銷等進(jìn)行更完美的管理。

        倉儲管理系統(tǒng)由軟件、硬件、流程、管理經(jīng)驗(yàn)等共同組成。計(jì)算機(jī)控制下的倉庫管理系統(tǒng),目的是獨(dú)立實(shí)現(xiàn)倉儲管理的各種功能:收貨、存貨管理、定單處理、分揀和配送控制等。WMS將關(guān)注的焦點(diǎn)集中于對倉儲執(zhí)行的優(yōu)化和有效管理,同時(shí)延伸到運(yùn)輸配送計(jì)劃、與上下游供應(yīng)商客戶的信息交互,從而有效提高倉儲企業(yè)、配送中心和生產(chǎn)企業(yè)的倉庫的執(zhí)行效率和生產(chǎn)率,降低成本,提高企業(yè)客戶滿意度,從而提升企業(yè)的核心競爭力。

        一、倉儲管理系統(tǒng)

        1. 系統(tǒng)特點(diǎn)

        ●庫存精確、高效流轉(zhuǎn);

        圖1: WMS功能模塊

        ●針對現(xiàn)有業(yè)務(wù)開展及未來需求變更,具備較強(qiáng)的通用性和可擴(kuò)展性;

        ●庫存合理,能夠?yàn)樯a(chǎn)和銷售提供物資實(shí)體及可靠有效的智能輔助決策分析數(shù)據(jù);

        ●計(jì)算機(jī)硬件配置低廉,軟件易學(xué)易用,維護(hù)簡單快捷,有降本增效的效果;

        ●將倉儲規(guī)劃、物流設(shè)備、計(jì)算機(jī)系統(tǒng)、軟件算法等相互結(jié)合,以優(yōu)化倉庫的入庫管理、在庫管理、出庫管理等分配及執(zhí)行策略,并最終提高倉庫的貨位利用率及貨物容積率;

        ●針對歷史數(shù)據(jù)進(jìn)行數(shù)據(jù)分析、數(shù)據(jù)挖掘,以優(yōu)化和完善倉儲管理系統(tǒng)的業(yè)務(wù)組織和流程驅(qū)動。

        2. 總體概述

        倉儲管理系統(tǒng)是通過出入庫業(yè)務(wù)、庫存調(diào)撥和虛倉管理等功能,對批次管理、物料對應(yīng)、庫存盤點(diǎn)、質(zhì)檢管理、生產(chǎn)和銷售管理等功能綜合運(yùn)用的管理系統(tǒng),有效控制并跟蹤倉庫業(yè)務(wù)的物流和成本管理全過程,完成和提升企業(yè)的信息化建設(shè)。WMS的功能模塊,如圖1。

        本文主要介紹WMS的前端系統(tǒng),結(jié)合倉儲管理的業(yè)務(wù)流程,通過對前端人機(jī)交互系統(tǒng)的軟件架構(gòu)、技術(shù)選型、功能實(shí)現(xiàn)等進(jìn)行歸納、總結(jié)。該系統(tǒng)可以獨(dú)立執(zhí)行庫存操作,也可與外圍信息系統(tǒng)接口交互集成,為企業(yè)提供更為完整的工作流和數(shù)據(jù)流。

        二、技術(shù)架構(gòu)選型

        1. .Net Core框架

        .Net Core是適用于Windows、Linux和Macos操作系統(tǒng)的免費(fèi)、開源托管的計(jì)算機(jī)軟件框架,是微軟開發(fā)的第一個(gè)官方版本,具有跨平臺能力的應(yīng)用程序開發(fā)框架。.Net Core包含.Net Framework的類庫,采用包化(Packages)的管理方式。

        .Net Core項(xiàng)目的目標(biāo)如下:

        ●支持或轉(zhuǎn)移到更多的操作系統(tǒng)平臺與芯片架構(gòu),將項(xiàng)目跨出Windows平臺;

        ●具有引人注目的性能與高可靠度;

        ●開發(fā)人員能快速與直接地獲取.Net Core開發(fā)環(huán)境。

        2. B/S系統(tǒng)

        B/S架構(gòu)即瀏覽器和服務(wù)器架構(gòu)模式,是隨著Internet技術(shù)的興起,對C/S架構(gòu)的一種改進(jìn)。在這種架構(gòu)下,用戶工作界面是通過前端(Browser)實(shí)現(xiàn),主要事務(wù)邏輯在服務(wù)器端(Server)實(shí)現(xiàn),形成完整的三層結(jié)構(gòu)體系。這種模式統(tǒng)一了客戶端,將系統(tǒng)功能實(shí)現(xiàn)的核心部分集中到Web服務(wù)器上,簡化了系統(tǒng)的開發(fā)、維護(hù)和使用。客戶機(jī)上只要安裝一個(gè)IE瀏覽器,數(shù)據(jù)庫服務(wù)器安裝Oracle等關(guān)系數(shù)據(jù)庫,瀏覽器通過Web Server同數(shù)據(jù)庫進(jìn)行數(shù)據(jù)交互。這樣就大大簡化了客戶端電腦的配置及載荷,終端用戶無需考慮發(fā)布、部署、升級等情況,減輕了系統(tǒng)維護(hù)與升級的成本和工作量。

        3. MVC架構(gòu)

        MVC全名是Model View Controller,是模型(Model)-視圖(View)-控制器(Controller)的縮寫,一種軟件設(shè)計(jì)典范,代碼組織采用業(yè)務(wù)邏輯、數(shù)據(jù)、界面顯示分離的方法,將業(yè)務(wù)邏輯聚集到一個(gè)部件里面,在改進(jìn)和個(gè)性化定制界面及用戶交互的同時(shí),不需要重新編寫業(yè)務(wù)邏輯。

        圖2:MVC架構(gòu)

        圖3:WMS主頁面

        Model(模型)是應(yīng)用程序中用于處理應(yīng)用程序數(shù)據(jù)邏輯的部分,通常模型對象負(fù)責(zé)在數(shù)據(jù)庫中存取數(shù)據(jù)。

        View(視圖)是應(yīng)用程序中處理數(shù)據(jù)顯示的部分,通常視圖是依據(jù)模型數(shù)據(jù)創(chuàng)建的。

        Controller(控制器)是應(yīng)用程序中處理用戶交互的部分,通??刂破髫?fù)責(zé)從視圖讀取數(shù)據(jù),控制用戶輸入,并向模型發(fā)送數(shù)據(jù)。MVC架構(gòu),如圖2。

        MVC分層有助于管理復(fù)雜的應(yīng)用程序,可以在不依賴業(yè)務(wù)邏輯的情況下專注于視圖設(shè)計(jì),也可以在不考慮業(yè)務(wù)邏輯的情況下進(jìn)行UI設(shè)計(jì)。MVC分層同時(shí)也簡化了分組開發(fā),不同的開發(fā)人員可同時(shí)開發(fā)視圖、控制器邏輯和業(yè)務(wù)邏輯。

        4. 前端框架

        Bootstrap是一個(gè)基于HTML、CSS、JAVASCRIPT,用于快速開發(fā)Web應(yīng)用程序和網(wǎng)站的前端框架。具體優(yōu)勢如下:

        ●容易上手:只要具備HTML和CSS的基礎(chǔ)知識。

        ●響應(yīng)式設(shè)計(jì):Bootstrap的響應(yīng)式CSS能夠自適應(yīng)于臺式機(jī)、平板電腦和手機(jī),移動設(shè)備優(yōu)先。

        ●其它:為創(chuàng)建接口提供了簡潔統(tǒng)一的解決方案;包含了功能強(qiáng)大的內(nèi)置組件;提供了基于Web的定制;開源。

        三、功能模塊

        結(jié)合倉儲管理的領(lǐng)域特征、用戶需求及業(yè)務(wù)流程等,可將WMS劃分為以下若干功能模塊,每個(gè)功能模塊為一個(gè)功能組,每個(gè)功能組包括若干個(gè)功能項(xiàng),每個(gè)功能項(xiàng)對應(yīng)一個(gè)TAB頁面。系統(tǒng)主頁面,如圖3。

        圖4:角色功能授權(quán)頁面

        圖5:任務(wù)維護(hù)詳情頁面

        1. 系統(tǒng)管理

        系統(tǒng)管理模塊主要包括用戶維護(hù)、角色維護(hù)、參數(shù)維護(hù)、菜單管理等功能項(xiàng)。

        菜單管理,用于配置Web主界面左側(cè)的功能樹,并且可以定義每個(gè)功能項(xiàng)所對應(yīng)的頁面URL地址,另外通過數(shù)據(jù)定義的方式可以確定各個(gè)頁面所能提供的完整的增刪查改、確認(rèn)、完成、取消等操作按鈕。

        參數(shù)維護(hù),用于配置WMS系統(tǒng)的所有配置參數(shù),包括且不限于出入庫站臺配置、穿梭車充電策略配置、數(shù)據(jù)展示分頁大小配置、專業(yè)術(shù)語配置、垃圾數(shù)據(jù)清除配置等。

        角色維護(hù),可用于創(chuàng)建角色,管理和控制角色所擁有的功能頁面,配置角色在相應(yīng)功能頁面下所具備的操作權(quán)限,最終將角色授權(quán)至不同用戶。

        用戶維護(hù),目的是為了確保不同的用戶可以操作不同的功能頁面,同一個(gè)功能頁面下不同用戶具備不同的按鈕權(quán)限。

        以上方式不僅能最大化滿足用戶、角色、權(quán)限的細(xì)粒度管理,還能夠全面滿足軍工企業(yè)涉密信息系統(tǒng)的三員配置及職責(zé)分工。角色功能授權(quán)頁面,如圖4。

        2. 基礎(chǔ)管理

        基礎(chǔ)管理模塊主要包括物料維護(hù)、配盤維護(hù)、位置維護(hù)等各類倉儲基礎(chǔ)數(shù)據(jù)的查詢及維護(hù)等功能。

        物料維護(hù)用于管理物料分類、物料名稱、規(guī)格型號、計(jì)量單位、庫存上下限、存儲有效天數(shù)等屬性及內(nèi)容。按照物料的種類及數(shù)量等,可以對物料劃分為大類和小類,便于數(shù)據(jù)篩選。通過對庫存上下限、存儲有效天數(shù)等屬性的管理,可以全面滿足倉儲物流系統(tǒng)中物資智能化管理,有效控制庫存的合理性、為庫存預(yù)警模塊提供柔性化控制。

        結(jié)合倉儲項(xiàng)目的物流規(guī)劃和總體設(shè)計(jì),可以通過位置維護(hù)功能將倉庫劃為為若干個(gè)庫區(qū),每個(gè)庫區(qū)又劃分為若干個(gè)片區(qū)、貨道及儲位。還提供了貨道及儲位的凍結(jié)、禁入、禁出等日常維護(hù)操作,便于庫管員能夠靈活地管理倉庫,也能夠滿足各種場景下的運(yùn)營需要。

        3. 物流管理

        物流管理模塊主要提供入庫管理、出庫管理、容器維護(hù)、任務(wù)維護(hù)等功能,以滿足物料組盤、人工/自動出入庫、批次跟蹤、質(zhì)量控制等業(yè)務(wù)驅(qū)動及流程運(yùn)轉(zhuǎn)的需要。

        物流管理模塊下,所有的操作都是主從表操作,為了提高用戶體驗(yàn),在UI設(shè)計(jì)方面,Index首頁展示業(yè)務(wù)主表的數(shù)據(jù)。因?yàn)闃I(yè)務(wù)流水?dāng)?shù)據(jù)量較大,為了加快查詢速度,按照參數(shù)配置進(jìn)行分頁顯示,并提供翻頁按鈕。每行記錄的前2個(gè)字段設(shè)置了跳轉(zhuǎn)鏈接,鼠標(biāo)點(diǎn)擊時(shí)則跳轉(zhuǎn)至詳情頁。詳情頁分為上下兩個(gè)區(qū)間,上半?yún)^(qū)以Layout布局展示主表內(nèi)容,下半?yún)^(qū)則以Detail布局展示明細(xì)內(nèi)容。對于明細(xì)數(shù)據(jù)的新增、編輯等維護(hù)操作,則在單擊明細(xì)數(shù)據(jù)的鏈接字段時(shí)以彈窗的方式提供具體的輸入及維護(hù)操作。該方式可以在主頁面和詳情頁面之間輕松自由地切換跳轉(zhuǎn)。

        對于頁面頂部的操作區(qū),使用Bootstrap自帶的圖標(biāo)按鈕,以提供查詢、刪除、保存、確認(rèn)等操作,當(dāng)光標(biāo)落在圖標(biāo)上方時(shí),以tooltip的形式展示按鈕的中文描述。該UI設(shè)計(jì)方式充分考慮用戶體驗(yàn),具備操作簡潔、風(fēng)格統(tǒng)一、易學(xué)易用、無二義性等特征。

        以任務(wù)維護(hù)為例,主要用于查詢和維護(hù)所有的物流任務(wù),當(dāng)物流設(shè)備在搬運(yùn)過程中出現(xiàn)異常時(shí),提供指令下達(dá)、任務(wù)取消、任務(wù)結(jié)束等人工操作,以保證物流系統(tǒng)有條不紊的運(yùn)行。任務(wù)維護(hù)詳情頁面,如圖5。

        4. 報(bào)表管理

        主要包括出入庫統(tǒng)計(jì)、在線庫存統(tǒng)計(jì)、庫存預(yù)警統(tǒng)計(jì)、收發(fā)存統(tǒng)計(jì)、貨位圖表統(tǒng)計(jì)等分析報(bào)表,對所有的統(tǒng)計(jì)結(jié)果均提供Excel導(dǎo)出功能,便于用戶對數(shù)據(jù)進(jìn)行二次加工。貨位圖表統(tǒng)計(jì),如圖6。

        收發(fā)存統(tǒng)計(jì)公式為:期初庫存+累計(jì)入庫-累計(jì)出庫+盤盈-盤虧=期末庫存=在線庫存,本期的期末庫存自動結(jié)轉(zhuǎn)為下期的期初庫存。

        庫存預(yù)警統(tǒng)計(jì),可以結(jié)合物料主文件表的庫存上下限、存儲有效天數(shù)等屬性和參數(shù),計(jì)算出當(dāng)前立體庫內(nèi)超越庫存上限、低于庫存下限、存儲時(shí)間超期的所有物料明細(xì)及匯總數(shù)據(jù)。便于庫管員對立體庫進(jìn)行合理有效的管控,如補(bǔ)充庫存量、降低庫存量、提高近效期管理等。將庫存預(yù)警統(tǒng)計(jì)數(shù)據(jù)上傳至SAP、MES等上游系統(tǒng),可以提高企業(yè)的生產(chǎn)管理及銷售管理,確保生產(chǎn)和銷售的有效銜接,同時(shí)也為企業(yè)管理層在輔助智能決策分析方面提供最為真實(shí)的支撐數(shù)據(jù)。

        圖6:立庫貨位圖表統(tǒng)計(jì)

        圖7:功能視圖頁代碼

        四、軟件設(shè)計(jì)及實(shí)現(xiàn)

        1. 業(yè)務(wù)控制器抽象類規(guī)范

        在MVC開發(fā)中,所有業(yè)務(wù)邏輯層的控制器都需要繼承系統(tǒng)抽象類Controller。對WMS的UI部分的業(yè)務(wù)處理進(jìn)行歸納、總結(jié)和抽象,定義出抽象類BaseController,該BaseController繼承系統(tǒng)抽象類Controller,而具體的業(yè)務(wù)控制器則繼承BaseController,并實(shí)現(xiàn)BaseController中的方法。BaseController中提供抽象方法和虛方法,以確保在業(yè)務(wù)控制器中必須去實(shí)現(xiàn)抽象方法或者選擇性實(shí)現(xiàn)虛方法。

        通過上述方式可以有效規(guī)范各個(gè)業(yè)務(wù)邏輯控制器的開發(fā),統(tǒng)一方法的命名,明確方法體的具體實(shí)現(xiàn),規(guī)范視圖層到控制器的HttpPost請求調(diào)用,確保業(yè)務(wù)邏輯控制器將特定的JsonResult、ViewResult返回至視圖層。

        2. 控制器與視圖的規(guī)范

        結(jié)合功能模塊的設(shè)計(jì)說明,每個(gè)功能項(xiàng)對應(yīng)一個(gè)控制器,每個(gè)控制器對應(yīng)1至2個(gè)視圖??刂破髅?guī)范為“前綴 + Controller”,如物料管理則命名為“MaterialController.cs”。對于視圖層,主頁面命名為“Index.cshtml”,跳轉(zhuǎn)的詳情頁面則命名為“IndexDetail.cshtml”。對于單表操作的頁面,僅提供主頁面,不提供跳轉(zhuǎn)頁面。提供編輯操作的模態(tài)框彈窗,相關(guān)代碼部署在其所屬的視圖頁面文件中。

        按照MVC架構(gòu)的要求,所有的控制器文件部署在Web項(xiàng)目的Controllers文件夾中,視圖文件則部署在Web項(xiàng)目的Views文件夾下,具體包含在以控制器前綴命名的子文件夾中。

        控制器與視圖層之間是松耦合的,可以達(dá)到業(yè)務(wù)邏輯與UI頁面的分離。

        3. 權(quán)限控制及入侵?jǐn)r截

        針對所有頁面的查詢及維護(hù)操作統(tǒng)一規(guī)范數(shù)字,即2的N次方,并且定義在靜態(tài)實(shí)體類中,以列舉出增刪查改、確認(rèn)、取消、完成等操作所對應(yīng)數(shù)字,具體如下:

        public static class OrderCode

        {

        public static readonly int Query = 2,Add = 4,Edit = 8,Delete =16,Export = 32,Affirm = 64,Cancel =128,Finish = 256;

        }

        在角色功能權(quán)限表中,將角色對應(yīng)的功能頁面的操作權(quán)限定義在INT型字段OperateCount中,如為A角色針對任務(wù)維護(hù)頁面授予查詢、取消和完成3個(gè)操作權(quán)限,則確認(rèn)授權(quán)時(shí)將對應(yīng)記錄的OperateCount字段設(shè)置為386 = 2(Query,查詢) | 128(Cancel,取消) | 256(Finish,完成),即C#的按位或。

        而在頁面初始化時(shí),得到用戶角色對應(yīng)的功能頁面的操作權(quán)限變量(即角色功能權(quán)限表的INT型字段OperateCount)。使用該變量與實(shí)體類OrderCode中各個(gè)操作屬性變量按位進(jìn)行與運(yùn)算,如果結(jié)果大于0,則說明有權(quán)限,否則說明無權(quán)限。如B角色針對庫存統(tǒng)計(jì)頁面的OperateCount值為34,34 & 2(Query,查詢) > 0,34 & 32(Export,導(dǎo)出) > 0,34 &OrderCode中其它值 = 0。因此B角色針對庫存統(tǒng)計(jì)頁面具有查詢和導(dǎo)出權(quán)限。

        以上方式可以確保不同的用戶登錄系統(tǒng)后,針對同樣的功能頁面具有不同的操作權(quán)限。邏輯判斷在SysRole控制器中完成,提供公共JS方法InitOption向控制器SysRole發(fā)送Post請求以得到相應(yīng)的權(quán)限結(jié)果,并根據(jù)權(quán)限結(jié)果控制視圖頁面按鈕的隱藏與否。注意事項(xiàng):在各個(gè)視圖頁面中,操作按鈕命名同樣遵守OrderCode實(shí)體類的命名規(guī)范;另外,每個(gè)頁面加載時(shí)調(diào)用公共JS方法InitOption。

        對于非法入侵,可以使用MVC的攔截器,自定義類GlobalFilter實(shí)現(xiàn)接口IActionFilter,并實(shí)現(xiàn)攔截器的接口方法OnActionExecuting(Act ionExecutingContext context)。在OnActionExecuting方法體中根據(jù)當(dāng)前登錄用戶名、控制器名及行為方法名進(jìn)行操作權(quán)限判斷,如果權(quán)限不滿足則跳轉(zhuǎn)至錯誤頁面。該方式即可有效抵御非法入侵。

        4. 依賴注入

        MVC架構(gòu)根據(jù)路由信息獲取控制器名稱,由控制器工廠生成控制器的實(shí)例。Web項(xiàng)目下Startup類的ConfigureServices方法中,可注冊業(yè)務(wù)控制器的依賴項(xiàng)。如services.AddScoped();注冊用戶操作類。在業(yè)務(wù)控制器的構(gòu)造函數(shù)中完成依賴項(xiàng)的參數(shù)注入。

        通過依賴注入完成控制反轉(zhuǎn),對象在被創(chuàng)建的時(shí)候,由一個(gè)調(diào)控系統(tǒng)內(nèi)所有對象的外界實(shí)體將其所依賴的對象引用傳遞給它,最終充分降低代碼之間的耦合度。

        5. 公共JS封裝

        自定義js文件DataOperatorScript.js,提供如初始化、查詢、新增、保存、刪除等js方法。在方法體中根據(jù)輸入?yún)?shù)得到Controller名和button id等參數(shù),以HttpPost請求的方式調(diào)用相應(yīng)業(yè)務(wù)控制器的方法。

        在公共視圖頁_Layout中,引入DataOperatorScript.js文件,即執(zhí)行。在具體的功能視圖頁中執(zhí)行相應(yīng)的js語句,以完成參數(shù)初始化、按鈕事件與DataOperatorScript中公共js方法的綁定等。

        通過以上方式,即可最終實(shí)現(xiàn)增刪查改等具體業(yè)務(wù)。功能視圖頁的代碼,如圖7。

        在常規(guī)主流的視圖頁中,UI開發(fā)人員僅需要調(diào)整視圖頁面布局,不需要深入了解和掌握js,最終保證UI開發(fā)人員把精力集中在外觀設(shè)計(jì)上。

        五、總結(jié)

        通過上述的技術(shù)選型、軟件架構(gòu)、模塊設(shè)計(jì),最終形成的智能倉儲管理系統(tǒng),可以全面滿足各個(gè)行業(yè)領(lǐng)域、各種物流規(guī)劃設(shè)計(jì)的倉儲管理信息系統(tǒng)前端建設(shè)。在硬件采購方面,可以降低終端計(jì)算機(jī)的配置及選型;在軟件設(shè)計(jì)方面,控制器與視圖層充分解耦,業(yè)務(wù)邏輯與外觀展示的分離,有利于軟件團(tuán)隊(duì)的人員分工;在安全性方面,通過攔截器可以有效抵御非法入侵;在項(xiàng)目實(shí)施方面,可以提升開發(fā)速度、縮短項(xiàng)目交付工期,最終降低項(xiàng)目的實(shí)施和維護(hù)成本。

        該產(chǎn)品已成功運(yùn)用到若干個(gè)不同行業(yè)的倉儲物流集成項(xiàng)目中,并且得到了業(yè)主方及項(xiàng)目干系人的一致好評,對于倉儲管理系統(tǒng)的前端設(shè)計(jì)開發(fā),具有一定的實(shí)用和參考價(jià)值。

        猜你喜歡
        視圖頁面庫存
        大狗熊在睡覺
        刷新生活的頁面
        5.3 視圖與投影
        視圖
        Y—20重型運(yùn)輸機(jī)多視圖
        SA2型76毫米車載高炮多視圖
        一二線城市庫存減少5.2%
        營銷4C與房產(chǎn)去庫存
        中國市場(2016年45期)2016-05-17 05:15:23
        別指望農(nóng)民工當(dāng)去庫存的“接盤俠”
        多源采購的庫存控制方法探討
        河南科技(2014年23期)2014-02-27 14:19:13
        久久伊人精品中文字幕有| 无码少妇一级AV便在线观看| 免费观看一区二区| 99久久精品国产成人综合| 国产哟交泬泬视频在线播放| 91九色国产在线观看| 久久婷婷综合激情亚洲狠狠 | 久久精品国产成人午夜福利| 成 人免费va视频| 一本一道波多野结衣av中文| 中文字幕 在线一区二区| 成人女同av在线观看网站| 亚洲日韩国产一区二区三区在线| 亚洲国产成人91| 国产高清一区二区三区视频| 国产精品高清国产三级国产av| 香港三级午夜理论三级| 1000部夫妻午夜免费| 99久久精品一区二区三区蜜臀| 亚洲第一女优在线观看| 开心五月婷婷激情综合网| 东北少妇不戴套对白第一次| 亚洲色无码播放| 精品手机在线视频| 国产精品高清亚洲精品| 亚洲精品国产第一区二区| 大肉大捧一进一出视频出来呀| 无码一区二区三区在线在看| 91国内偷拍精品对白 | 四虎影视永久在线观看| 精品亚洲国产探花在线播放| 国产人妖直男在线视频| 国产私人尤物无码不卡| 国产极品久久久久极品| 久久精品国产亚洲AV高清wy | 极品美女调教喷水网站| 亚欧中文字幕久久精品无码| 青草福利在线| 蜜桃av福利精品小视频| 夫妻免费无码v看片| 成人免费网站视频www|