久久国产色av_国产人妻777人伦精品hd_欧美 国产 日本_好吊色欧美一区二区三区

您的位置:網(wǎng)站首頁(yè) > CAD新聞

THCAPP中項(xiàng)目型插件系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)

時(shí)間:2011-02-26 19:31:00 來(lái)源:

1、項(xiàng)目型插件系統(tǒng)的研究背景

計(jì)算機(jī)輔助工藝設(shè)計(jì)軟件(CAPP)在國(guó)內(nèi)發(fā)展已有二十多年的歷史,但由于工藝過(guò)程復(fù)雜而且充滿個(gè)性化,它一直沒(méi)有得到很好的發(fā)展。京渝天河計(jì)算機(jī)軟件技術(shù)有限責(zé)任公司推出的智能化、集成化工藝設(shè)計(jì)平臺(tái)系統(tǒng)――THCAPP,以其完善的系統(tǒng)需求定義和先進(jìn)的系統(tǒng)設(shè)計(jì),受到了用戶的廣泛好評(píng)。現(xiàn)在使用THCAPP軟件的用戶已經(jīng)遍布全國(guó)。

隨著軟件工程在產(chǎn)品的研發(fā)中廣泛應(yīng)用,THCAPP軟件也步入了快速發(fā)展階段:用戶數(shù)量不斷增加,功能不斷豐富、完善。但是,快速發(fā)展的THCAPP軟件不可避免的出現(xiàn)了以下這個(gè)問(wèn)題:創(chuàng)立于十年前的THCAPP軟件的原型已經(jīng)被市場(chǎng)廣泛認(rèn)可,后續(xù)版本的開發(fā)工作只是在這個(gè)原型的基礎(chǔ)上進(jìn)行功能的擴(kuò)展。為了在保證與THCAPP以前版本軟件兼容的前提下,彌補(bǔ)軟件原型在靈活性和擴(kuò)展性方面的不足,我們有必要在THCAPP軟件中引入“框架+插件”這樣一種結(jié)構(gòu)的構(gòu)建模式。

在采用THCAPP軟件的企業(yè)用戶中,由于各個(gè)企業(yè)的規(guī)模不同,開發(fā)產(chǎn)品的差異,造成了用戶需求的千差萬(wàn)別,不同企業(yè)之間的需求甚至?xí)霈F(xiàn)矛盾的情況。為了滿足用戶的各種需求,使產(chǎn)品具有頑強(qiáng)的生命力,只有引入“框架+插件” 結(jié)構(gòu),使軟件產(chǎn)品在整體上是融合的,在各個(gè)功能上具有相對(duì)獨(dú)立性,而這些獨(dú)立的功能能夠進(jìn)行單獨(dú)的開發(fā),形成具有完善功能的獨(dú)立模塊,并且能夠很好的融入到整個(gè)軟件產(chǎn)品中的方法是解決軟件原型風(fēng)險(xiǎn)最好的辦法。

2、插件系統(tǒng)分析

現(xiàn)在,我們經(jīng)常使用的一些國(guó)外公司或個(gè)人開發(fā)的優(yōu)秀軟件產(chǎn)品都是采用的

“框架+插件”這種體系結(jié)構(gòu),其中最著名的軟件包括:AutoCAD、 PhotoShop和ACDSee。分析一下這些軟件的開發(fā)模型:整個(gè)軟件產(chǎn)品為一個(gè)良好的框架,具有完成軟件產(chǎn)品應(yīng)用的基本功能以及插件管理功能,負(fù)責(zé)為插件的運(yùn)行提供一個(gè)整體的可靠的運(yùn)行環(huán)境;而高級(jí)的功能則通過(guò)各個(gè)獨(dú)立的插件來(lái)完成。插件是在自己要求的運(yùn)行環(huán)境中,具有獨(dú)立,完整功能的模塊。產(chǎn)品的框架部分可以認(rèn)為是一個(gè)插件的運(yùn)行平臺(tái),插件部分除了實(shí)現(xiàn)具體功能外還要按照平臺(tái)的要求實(shí)現(xiàn)標(biāo)準(zhǔn)接口,保證插件在平臺(tái)內(nèi)正確運(yùn)行;平臺(tái)則通過(guò)通用的方法調(diào)用不同插件來(lái)實(shí)現(xiàn)功能的擴(kuò)展。這樣,只要框架的結(jié)構(gòu)是良好和合理的,能夠適應(yīng)未來(lái)的變化,那么市場(chǎng)的變化帶來(lái)的各種新的需求就可以采用開發(fā)實(shí)現(xiàn)相應(yīng)功能的新插件來(lái)實(shí)現(xiàn)。軟件的生命力就有了保證。

國(guó)外軟件采用的“框架+插件”結(jié)構(gòu)代表著軟件行業(yè)的主流技術(shù),不同公司的不同產(chǎn)品,甚至同一個(gè)公司的不同產(chǎn)品之間,都會(huì)用不同的插件實(shí)現(xiàn)不同的功能。THCAPP插件系統(tǒng)的設(shè)計(jì)思路就是借鑒這種“框架+插件” 結(jié)構(gòu),在THCAPP程序的不同對(duì)象中調(diào)用不同的插件,實(shí)現(xiàn)特定范圍的功能。

過(guò)多的插件會(huì)增加用戶使用THCAPP軟件的難度;而且,一種功能插件會(huì)同時(shí)對(duì)多個(gè)對(duì)象產(chǎn)生不同的影響。所以得出以下結(jié)論:在THCAPP軟件中,應(yīng)該將所有的插件由單獨(dú)的系統(tǒng)進(jìn)行統(tǒng)一的管理,實(shí)現(xiàn)插件的功能查看,產(chǎn)品隸屬,插件注冊(cè)和插件注銷等功能,簡(jiǎn)化用戶的操作。

鑒于以上的情況,需要這樣一種解決方案:通過(guò)提供插件模板對(duì)插件接口進(jìn)行規(guī)范;通過(guò)簡(jiǎn)單的開發(fā)基礎(chǔ)培訓(xùn)使用戶具有進(jìn)行簡(jiǎn)單的編寫代碼的能力;通過(guò)針對(duì)THCAPP軟件中的某種單一的功能,封裝出THCAPP功能組件,同樣通過(guò)培訓(xùn)讓用戶掌握相關(guān)功能組件的使用方法,讓那個(gè)用戶自己編寫符合自己要求的插件,由插件系統(tǒng)統(tǒng)一管理。這樣,即在THCAPP軟件中實(shí)現(xiàn)了“框架+插件”的結(jié)構(gòu),保證了軟件的可擴(kuò)展性,又通過(guò)培訓(xùn)用戶自主開發(fā)插件的模式,規(guī)避了維護(hù)插件的風(fēng)險(xiǎn),節(jié)省了雙方的資金,提高了軟件的競(jìng)爭(zhēng)力,使公司和用戶實(shí)現(xiàn)“雙贏”成為了可能。

3、項(xiàng)目型插件系統(tǒng)的目標(biāo)

THCAPP中進(jìn)行“框架+插件”的結(jié)構(gòu)改造,引入項(xiàng)目型插件系統(tǒng)的目的包含以下幾個(gè)方面:

l 完成THCAPP插件系統(tǒng)的開發(fā)工作,實(shí)現(xiàn)插件的瀏覽、注冊(cè)/注銷、二次注冊(cè)、調(diào)用、以及與系統(tǒng)交互等功能。實(shí)現(xiàn)“框架+插件”的系統(tǒng)結(jié)構(gòu)。

l 完成項(xiàng)目型插件系統(tǒng)的插件模板源代碼以及示例插件程序的源代碼的編寫工作。插件模板必須具有簡(jiǎn)單、方便、易于維護(hù)的特征,爭(zhēng)取做到:讓沒(méi)有編程經(jīng)驗(yàn)的用戶通過(guò)簡(jiǎn)單的培訓(xùn)就能編寫滿足自己需求的插件。

l 完成集成型插件系統(tǒng)組件DLL的開發(fā)工作,提交動(dòng)態(tài)鏈接庫(kù)文件:接口文件、以及運(yùn)行庫(kù)文件。開發(fā)與特定PDM軟件集成的示例插件,證實(shí)集成型插件系統(tǒng)的可行性。

l 完成功能組件的開發(fā)工作,涵蓋THCAPP軟件中一些常用的功能(如:工藝文件的創(chuàng)建、篩選、刪除等)。從底層支持插件系統(tǒng)功能的全面性。

通過(guò)對(duì)THCAPP軟件的使用用戶——國(guó)內(nèi)大、中、小型制造企業(yè)的工藝工作進(jìn)行的縝密調(diào)研,結(jié)果,幾乎所有的用戶都對(duì)這種簡(jiǎn)單的軟件升級(jí)方式表示了期待。但是,不同的用戶,由于他們編程技術(shù)水平與需求功能的復(fù)雜程度有很大的差異,必須制定一套相對(duì)簡(jiǎn)單、實(shí)用的插件開發(fā)規(guī)則,以方便用戶進(jìn)行自定義插件的開發(fā)工作,便于插件系統(tǒng)的推廣。

在實(shí)施了THCAPP的企業(yè)用戶群中,每個(gè)企業(yè)每年都會(huì)提出一些有關(guān)功能實(shí)用性、以及操作簡(jiǎn)便性方面的要求。這些要求一般都是用戶根據(jù)自己的特殊狀況提出的,不同用戶提出的要求甚至是對(duì)立的,我們很難從中總結(jié)出通用性的需求,供新版本的CAPP軟件進(jìn)行開發(fā)工作。

項(xiàng)目型插件系統(tǒng)的主要功能就是擴(kuò)展THCAPP的功能,通過(guò)用戶自己開發(fā)出的符合自己企業(yè)特色、實(shí)現(xiàn)自己功能要求的插件,彌補(bǔ)THCAPP軟件在可操作性方面的不足。

4、插件系統(tǒng)關(guān)鍵技術(shù)

4.1 系統(tǒng)總體設(shè)計(jì)方案

為保證與以前版本的THCAPP軟件的兼容性,插件系統(tǒng)應(yīng)該是獨(dú)立于THCAPP主程序,但通過(guò)被THCAPP主程序調(diào)用,才能實(shí)現(xiàn)其功能的動(dòng)態(tài)鏈接庫(kù)組件。如圖1所示:

newmaker.com
圖1 插件系統(tǒng)總體設(shè)計(jì)方案

插件系統(tǒng)包含插件管理模塊和多個(gè)功能插件。

l 插件管理模塊的功能是實(shí)現(xiàn)各功能插件的列表顯示、功能查看和二次注冊(cè)的調(diào)用,不負(fù)責(zé)實(shí)現(xiàn)任何插件的實(shí)際功能;

l 功能插件由THCAPP主程序的用戶為實(shí)現(xiàn)特定的功能,在我們提供的插件模板的基礎(chǔ)上自主開發(fā)的COM組件,除了實(shí)現(xiàn)各自的需求功能外,所有通過(guò)插件模板生成的插件還需要具有以下的功能:向插件管理模塊反饋插件信息、進(jìn)行系統(tǒng)注冊(cè)與反注冊(cè)、通過(guò)消息機(jī)制與CAPP主程序進(jìn)行通信。

項(xiàng)目型插件系統(tǒng)的結(jié)構(gòu),如圖2所示:

newmaker.com
圖2 項(xiàng)目型插件系統(tǒng)結(jié)構(gòu)

u接口層:

接口層是整個(gè)插件系統(tǒng)的入口,通過(guò)插件模板的設(shè)計(jì),系統(tǒng)只需要獲取少量的傳入數(shù)據(jù)信息,通過(guò)執(zhí)行插件,就會(huì)通過(guò)一定的規(guī)則,向主程序傳遞規(guī)范的傳出數(shù)據(jù),實(shí)現(xiàn)插件的功能。

接口層實(shí)現(xiàn)插件管理功能,包括插件的引入、刪除、插件的列表選擇、以及運(yùn)行選定的插件。

u插件層

插件層就是用戶通過(guò)插件模板開發(fā)出的所有插件,插件模板實(shí)現(xiàn)了系統(tǒng)注冊(cè)模塊中插件的注冊(cè)與反注冊(cè)的工作;規(guī)范了用戶參數(shù)的類型;并且通過(guò)調(diào)用API函數(shù),定義了一些常用的THCAPP的消息常數(shù)(比如刷新消息等),供用戶插件使用。

用戶在開發(fā)自己的插件時(shí),需要將插件相關(guān)信息設(shè)置到插件模板中的插件信息反饋模塊的特定常量中,以便接口調(diào)用。

u數(shù)據(jù)層

數(shù)據(jù)層的作用是由插件刷新THCAPP主程序運(yùn)行的Oracle數(shù)據(jù)庫(kù)中的數(shù)據(jù),真正實(shí)現(xiàn)插件的功能。包括參數(shù)規(guī)范模塊、CAPP功能組件和數(shù)據(jù)操作模塊。

通過(guò)CAPP功能組件調(diào)用數(shù)據(jù)操作模塊,操作底層Oracle數(shù)據(jù)庫(kù)中的數(shù)據(jù),避免了用戶直接操作數(shù)據(jù)帶來(lái)的風(fēng)險(xiǎn),節(jié)約了培訓(xùn)成本與用戶的工作。

4.2 關(guān)鍵技術(shù)及解決途徑

l插件的識(shí)別問(wèn)題

插件采用動(dòng)態(tài)鏈接庫(kù)(DLL)文件的形式,在一臺(tái)機(jī)器的成百上千的DLL文件,如何識(shí)別指定的DLL文件是否為插件系統(tǒng)的插件,能夠被插件系統(tǒng)調(diào)用,就成為插件系統(tǒng)設(shè)計(jì)能否成功的前提條件。

插件系統(tǒng)中設(shè)計(jì)的解決思路是:在插件系統(tǒng)中,除了對(duì)插件進(jìn)行系統(tǒng)注冊(cè)外,還得通過(guò)管理模塊對(duì)插件進(jìn)行特定的二次注冊(cè),這樣就可以解決插件的識(shí)別問(wèn)題。

對(duì)于項(xiàng)目型插件系統(tǒng),在注冊(cè)表的指定位置設(shè)置子鍵,將插件信息(主要是VB程序創(chuàng)建組件對(duì)象時(shí)需要的組件名稱和庫(kù)名稱)記錄到這個(gè)子鍵下,插件管理組件顯示插件列表時(shí),從這個(gè)位置讀取所有插件的信息顯示。運(yùn)行插件時(shí),也是從讀取插件信息創(chuàng)建插件對(duì)象。

對(duì)于集成型插件系統(tǒng),在THCAPP主程序的配置文件中,記錄所有插件的GUID值,由于插件都是從系統(tǒng)的基接口中派生的,所以,通過(guò)GUID值和基接口類型,就可以運(yùn)行插件了。

l插件的運(yùn)行問(wèn)題

讀取插件信息后,如何正確的運(yùn)行插件也是一個(gè)需要解決的關(guān)鍵技術(shù)。

對(duì)于項(xiàng)目型插件系統(tǒng),通過(guò)插件模板,規(guī)范插件的接口。創(chuàng)建插件對(duì)象后,調(diào)用特定的接口,就可以運(yùn)行插件了。

對(duì)于集成型插件系統(tǒng),由于是與THCAPP主程序進(jìn)行無(wú)縫集成,在對(duì)象層接口對(duì)應(yīng)的MFC類文件中,定義相關(guān)的接口對(duì)象,通過(guò)激發(fā)事件或傳遞消息運(yùn)行插件。

l插件的通信問(wèn)題

插件與插件系統(tǒng)、插件與THCAPP主程序、甚至插件與插件之間都需要進(jìn)行數(shù)據(jù)交互或消息傳遞。

在插件系統(tǒng)中,定義一些通用的消息。在接收消息時(shí),遍歷這些消息,分別實(shí)現(xiàn)這些消息的響應(yīng)函數(shù)就可以了。

插件的通信能力是插件系統(tǒng)必不可少的功能。通過(guò)消息傳遞模塊或消息接口定義通用消息,為以后版本中,通用消息的擴(kuò)展提供了可能。

5、示例程序

THCAPP項(xiàng)目型插件系統(tǒng)包括插件維護(hù)模塊和插件兩大部分。插件維護(hù)模塊的功能是:添加、維護(hù)、刪除、運(yùn)行插件,標(biāo)準(zhǔn)DLL組件,可以被CAPP或其他應(yīng)用程序調(diào)用;而插件就是實(shí)現(xiàn)某些特定的功能。

調(diào)用THCAPP二次開發(fā)插件系統(tǒng),首先會(huì)運(yùn)行“插件維護(hù)模塊”,顯示“插件管理”管理對(duì)話框,如圖4所示:

newmaker.com

默認(rèn)的,“插件管理”窗口會(huì)列出天河公司提供的公用插件,用戶根據(jù)插件模板自己開發(fā)的插件,通過(guò)第一次的注冊(cè)后也會(huì)出現(xiàn)在這個(gè)列表中,供用戶選擇使用。

選擇某個(gè)插件,單擊“下一步”按鈕就運(yùn)行插件對(duì)應(yīng)的DLL文件。實(shí)現(xiàn)這一步的前提就是用戶使用天河公司提供的項(xiàng)目型插件模板進(jìn)行自己插件的開發(fā)工作,并不修改模板的接口,破壞兼容性。

下面將以“批量修改工藝文件狀態(tài)”這個(gè)插件作為實(shí)例,簡(jiǎn)單的講講項(xiàng)目型插件的創(chuàng)建方法。

l 詳細(xì)的系統(tǒng)設(shè)計(jì)

雖然,一般看來(lái)系統(tǒng)設(shè)計(jì)工作與具體的軟件開發(fā)沒(méi)有多大的關(guān)聯(lián),但是詳細(xì)、完善的系統(tǒng)設(shè)計(jì)可以讓你的開發(fā)工作少走很多彎路。

“批量修改工藝文件狀態(tài)”插件的實(shí)現(xiàn)目標(biāo),就是將指定節(jié)點(diǎn)下的所有工藝文件全部修改到一種狀態(tài)。在這期間,需要運(yùn)行插件的用戶設(shè)置修改后工藝文件狀態(tài)參數(shù),并且設(shè)定是否需要包含子節(jié)點(diǎn)中的工藝文件。插件要求提供指定節(jié)點(diǎn)下工藝文件的現(xiàn)有狀態(tài),供用戶瀏覽;還要包含不能進(jìn)行“狀態(tài)修改”操作的工藝文件的列表。

通過(guò)上述的系統(tǒng)分析,得出至少需要三步向?qū)Р僮鞑拍軐?shí)現(xiàn)需求。下面就是進(jìn)行代碼的編寫工作了。

l 在插件模板上開發(fā)新的插件

插件模板是由天河公司提供給用戶使用的在項(xiàng)目型插件系統(tǒng)中開發(fā)自定義插件的工具。在THCAPP的安裝路徑下,有模板的壓縮包文件。

復(fù)制插件模板,用VB打開模板工程,修改工程名和接口名,在圖4所示的“插件管理”窗口中,進(jìn)行插件注冊(cè)操作,需要用到修改后的工程名和接口名,他們是插件組件的唯一標(biāo)識(shí),非常重要,不能隨便修改。如5圖所示,“批量修改工藝文件狀態(tài)”插件的工程名變?yōu)?ldquo;THEditFilesStateLib”、接口名變?yōu)?ldquo;ITHEditFilesState”。

newmaker.com
插件工程

在窗體文件中,復(fù)制“picDlgBck”控件數(shù)組,在這個(gè)插件中復(fù)制三頁(yè),在每一頁(yè)放置不同的控件。并編寫與這些控件有關(guān)的代碼。

第一頁(yè)如圖6所示,用以設(shè)置修改后工藝文件的狀態(tài),以及“是否包含子節(jié)點(diǎn)中的工藝文件”、“是否顯示工藝文件信息”的狀態(tài)參數(shù)。

newmaker.com
插件第一頁(yè)

第二頁(yè)如圖7所示,添加“ListView”列表控件,用以顯示指定節(jié)點(diǎn)下包含的工藝文件的信息(名稱、創(chuàng)建者、當(dāng)前狀態(tài))。如果在第一頁(yè)設(shè)置了“包含子節(jié)點(diǎn)中的工藝文件”狀態(tài),則需要顯示指定節(jié)點(diǎn)下的所有文件信息。

newmaker.com
插件第二頁(yè)

第三頁(yè)如圖8所示,功能是提示第二頁(yè)顯示的工藝文件是否能進(jìn)行修改工藝文件狀態(tài)的操作,圖8中表示所有工藝文件的狀態(tài)都可以被修改成圖6中指定的狀態(tài)。不能進(jìn)行修改的工藝文件會(huì)被顯示在提示之下的“ListView”控件中。

newmaker.com
插件第三頁(yè)

最后在“完成”按鈕的單擊事件中,編寫實(shí)現(xiàn)需求的代碼,一般地,這需要調(diào)用天河公司為二次開發(fā)插件提供的各種組件的接口功能函數(shù)。實(shí)現(xiàn)修改工藝文件狀態(tài)的功能比較簡(jiǎn)單,只要遍歷用戶選擇的工藝文件,依次調(diào)用“THCAPPPDMDEVLib”組件的“THCAPPNDO”接口的“ChangeFileState”函數(shù)就可以了。


久久国产色av_国产人妻777人伦精品hd_欧美 国产 日本_好吊色欧美一区二区三区
色综合久久久久久久久五月| 国产一区喷水| 欧美一区二区中文字幕| 99视频免费观看蜜桃视频| 国产精品国产福利国产秒拍| 日韩亚洲欧美精品| 久久资源亚洲| 午夜精品视频在线观看一区二区 | 欧美 日韩 国产在线观看| 成人黄色一区二区| 精品久久久久久久久久中文字幕| 国内自拍中文字幕| 国产精品视频免费在线| 男人天堂成人网| 久久久99久久精品女同性| 青青草国产免费| 久久99久久久久久| 日韩av色综合| 久久av高潮av| 欧美综合激情| 国产精品久久久久久久久粉嫩av | 国产成人在线精品| 欧美一级片在线播放| 国产精品99导航| 色999日韩自偷自拍美女| 国产脚交av在线一区二区| 亚洲永久在线观看| 91国偷自产一区二区三区的观看方式 | 黄在线观看网站| 国产精品视频色| 国产一区二区三区精彩视频| 美女国内精品自产拍在线播放| 国产日韩中文在线| 国产精品国产三级国产专区53| 国产原创精品| 亚洲影院污污.| 久久精品日产第一区二区三区精品版| 日本不卡免费高清视频| 久久精品成人动漫| 蜜臀av.com| 久久久久久av| 久久久无码中文字幕久...| 日韩欧美一区二区三区四区五区 | 国产精品九九九| 蜜桃精品久久久久久久免费影院| 久久中文字幕在线视频| 99久久精品免费看国产四区| 亚洲va久久久噜噜噜久久天堂| 国产成人一区二区在线| 欧美h视频在线观看| 中文字幕成人一区| 国产极品jizzhd欧美| 欧美日韩一区二区视频在线观看 | 麻豆亚洲一区| 亚洲自拍的二区三区| 久久影院理伦片| 欧美视频免费看欧美视频| 国产精品成人久久久久| 91精品国产精品| 欧美 日韩 激情| 亚洲精品乱码久久久久久蜜桃91| 久久国产主播精品| 国产一区 在线播放| 三级网在线观看| 国产精品露出视频| 成人在线小视频| 欧美有码在线视频| 一本大道熟女人妻中文字幕在线| 久久综合中文色婷婷| 国产综合av在线| 日本精品免费| 亚洲综合一区二区不卡| 国产精品视频99| 国产成人在线亚洲欧美| 国产日韩亚洲欧美| 日韩欧美在线观看强乱免费| 欧美激情亚洲综合一区| 日韩亚洲欧美中文高清在线| 国产精品夜夜夜爽张柏芝| 欧美在线视频网| 亚洲 国产 日韩 综合一区| 国产精品入口日韩视频大尺度| 91高潮在线观看| 免费在线观看一区二区| 视频一区亚洲| 中文字幕欧美日韩一区二区三区| 精品久久久91| 久久久久久www| 国产男女无遮挡| 欧美国产一二三区| 日韩欧美精品一区二区| 一区二区精品免费视频| 久久在精品线影院精品国产| 久久久久久久久久久视频| 国产精品91久久| 国产欧美在线一区二区| 加勒比成人在线| 欧美视频观看一区| 欧美一级免费在线观看| 在线观看一区欧美| 久久综合国产精品台湾中文娱乐网 | 欧美大码xxxx| 日韩亚洲成人av在线| 久久亚洲综合网| 北条麻妃在线一区| 国产日韩一区欧美| 免费观看国产成人| 欧美极品日韩| 日韩免费在线看| 日韩在线视频在线观看| 亚洲人一区二区| 久久99热精品这里久久精品| 超碰91人人草人人干| 国产精品免费福利| 国产精品视频99| 久久精品亚洲一区| 久久精品在线视频| 国产精品视频xxx| 国产精品老女人精品视频| 国产精品久久久久久av福利软件| 久久激情视频免费观看| 久久久国产精品x99av| 国产成人精品一区| 国产精品三区www17con| 国产精品久久久久9999小说| 久久亚洲国产精品| 国产精品久久国产精品99gif | 高清av免费一区中文字幕| 国产日韩欧美另类| 国产女主播av| 成人精品一区二区三区| 99精品国产高清在线观看| 99国产盗摄| 91国产丝袜在线放| 久久久久久a亚洲欧洲aⅴ| 国产成人极品视频| 久久久久久亚洲精品| www高清在线视频日韩欧美| 久久色精品视频| 国产精品-区区久久久狼| 国产精品久久网| 欧美激情国产精品| 亚洲欧洲一区二区福利| 日本一区二区三区四区高清视频| 日本一区二区三区四区高清视频 | 日本一级淫片演员| 奇米影视首页 狠狠色丁香婷婷久久综合 | 高清国产在线一区| 91精品免费久久久久久久久| 国产精品999视频| 国产成人精品一区二区三区| 国产精品久久久久久久久久久久冷 | av无码久久久久久不卡网站| 国产精成人品localhost| 久久久久久久午夜| 国产精品久久一区主播| 中文精品视频一区二区在线观看| 亚洲精品偷拍视频| 日本少妇高潮喷水视频| 男人天堂新网址| 成人精品一区二区三区电影黑人| 国产高清精品一区二区三区| 久久精品国产96久久久香蕉| 久久久久久97| 人人做人人澡人人爽欧美| 麻豆av一区| 91精品综合视频| 国产精品网站入口| 在线精品日韩| 欧美专区第一页| 高清一区二区三区四区五区| 九九九九免费视频| 欧美精品www在线观看| 视频一区亚洲| 国模私拍视频一区| www..com日韩| 国产精品网站大全| 亚洲人成网站在线播放2019| 欧美亚洲国产成人精品| 91免费黄视频| 国产精品国产亚洲精品看不卡15| 午夜精品久久久内射近拍高清| 欧美亚洲午夜视频在线观看| 99久久精品无码一区二区毛片| 日韩三级成人av网| 亚洲国产精品日韩| 黄色国产一级视频| 国产国语刺激对白av不卡| 国产精品第100页| 日韩欧美亚洲v片| 91精品在线一区| 精品久久久久久亚洲| 欧洲精品在线一区| 97人人模人人爽人人少妇| 国产精品日韩欧美一区二区| 日韩av不卡播放| 国产精品亚洲片夜色在线| 国产精品美女视频网站| 日本精品一区二区三区在线| www国产免费|