• <tr id="yyy80"></tr>
  • <sup id="yyy80"></sup>
  • <tfoot id="yyy80"><noscript id="yyy80"></noscript></tfoot>
  • 99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

    醫(yī)院藥房管理系統(tǒng)前端工程化設(shè)計(jì)與實(shí)現(xiàn)

    2022-09-06 01:30:20李思睿鄭大翔李志芳
    軟件工程 2022年9期
    關(guān)鍵詞:頁面用戶系統(tǒng)

    李思睿,鄭大翔,李志芳

    (海南醫(yī)學(xué)院,海南 ???571199)

    847520303@qq.com;2505663420@qq.com;19143212@qq.com

    1 引言(Introduction)

    當(dāng)前絕大多數(shù)的醫(yī)院信息系統(tǒng)都采用三層架構(gòu)的開發(fā)方式,將整個(gè)應(yīng)用程序劃分為界面層、業(yè)務(wù)邏輯層、數(shù)據(jù)訪問層。在界面層,通常結(jié)合DevExpress控件庫進(jìn)行開發(fā),其內(nèi)容雖然豐富,但加載速度較慢,且樣式較為單一。處理業(yè)務(wù)邏輯時(shí),因?yàn)榉謱有枰褂弥虚g層方式(數(shù)據(jù)訪問層)訪問數(shù)據(jù)庫,需要對(duì)數(shù)據(jù)進(jìn)行各種轉(zhuǎn)換和計(jì)算,降低了系統(tǒng)性能。當(dāng)用戶訪問量增大,處于高并發(fā)時(shí),會(huì)導(dǎo)致系統(tǒng)響應(yīng)慢,經(jīng)常出現(xiàn)未響應(yīng)狀態(tài),甚至崩潰。三層架構(gòu)實(shí)際上不只是三層,隨著業(yè)務(wù)復(fù)雜度的提升,少則劃分四五層,多至八九層。層級(jí)之間缺乏統(tǒng)一的標(biāo)準(zhǔn),不同的開發(fā)者對(duì)各個(gè)層級(jí)的理解不一致,當(dāng)有新功能需求時(shí),需要開發(fā)者在各個(gè)層級(jí)進(jìn)行相應(yīng)開發(fā),同時(shí)接口方面也存在銜接不一致的問題。

    隨著互聯(lián)網(wǎng)技術(shù)的快速發(fā)展,架構(gòu)技術(shù)數(shù)不勝數(shù)。國內(nèi)外IT公司在業(yè)務(wù)層次追求強(qiáng)大功能的同時(shí),更加注重用戶體驗(yàn)和系統(tǒng)性能。在開發(fā)層次,采用團(tuán)隊(duì)協(xié)作方式,利用工程化思想,采取前后端分離的開發(fā)模式,前端負(fù)責(zé)對(duì)數(shù)據(jù)的渲染,關(guān)注與用戶的交互;后端處理業(yè)務(wù)邏輯,為前端提供數(shù)據(jù)接口。前端工程化是當(dāng)今主流的項(xiàng)目開發(fā)方案。本文通過對(duì)現(xiàn)有醫(yī)院信息系統(tǒng)的研究,采用解耦的編程思想,設(shè)計(jì)并實(shí)現(xiàn)了藥房藥庫管理系統(tǒng)。系統(tǒng)以藥品管理規(guī)范化、科學(xué)化為目標(biāo),提高了醫(yī)院藥房藥庫整體的工作效率,促進(jìn)了醫(yī)院信息化發(fā)展。系統(tǒng)主要包括藥房管理、藥庫管理、門診藥房、數(shù)據(jù)統(tǒng)計(jì)、后臺(tái)管理功能模塊。

    2 系統(tǒng)架構(gòu)原理及技術(shù)框架(System architecture principle and technical framework)

    2.1 系統(tǒng)架構(gòu)概述

    系統(tǒng)采用前后端分離的架構(gòu)模式,前端主要運(yùn)用HTML、CSS制作靜態(tài)頁面,結(jié)合JavaScript實(shí)現(xiàn)頁面動(dòng)態(tài)化并對(duì)數(shù)據(jù)進(jìn)行渲染展示,讓頁面運(yùn)行更加流暢,追求更高的用戶體驗(yàn);后端處理業(yè)務(wù)邏輯,提供數(shù)據(jù)接口,實(shí)現(xiàn)服務(wù)的高性能和高并發(fā)。前端通過Axios調(diào)用后端的Api接口,對(duì)后端返回?cái)?shù)據(jù)進(jìn)行處理并渲染。這種開發(fā)方式降低了前后端代碼之間的耦合性,架構(gòu)體系清晰,便于代碼的上線部署和后續(xù)維護(hù)。

    2.2 Electron平臺(tái)

    系統(tǒng)的桌面應(yīng)用程序基于Electron,它是由GitHub開發(fā)的一款跨平臺(tái)桌面應(yīng)用開發(fā)框架。Electron將Google的Chromium和Node.js合并到一個(gè)運(yùn)行環(huán)境中,所以能使用Node.js中幾乎所有的模塊,通過JavaScript操作系統(tǒng)原生的Api。Electron有且僅只有一個(gè)主進(jìn)程(Main Process),Main Process通過BrowserWindow實(shí)例創(chuàng)建頁面并通過Chromium展示,每個(gè)獨(dú)立的Web頁面都運(yùn)行在它自身的渲染進(jìn)程(Render Process)中,能夠完美地使用Vue.js,在各個(gè)渲染進(jìn)程中獨(dú)立開發(fā)Web頁面。Electron原理如圖1所示。

    圖1 Electron原理圖示Fig.1 Diagram of Electron principle

    2.3 MVVM

    在傳統(tǒng)開發(fā)中,頁面都是靜態(tài)渲染的,頁面的更新必須要直接操作DOM,大量DOM操作不僅消耗性能且十分煩瑣。Vue.js通過MVVM模式實(shí)現(xiàn)數(shù)據(jù)驅(qū)動(dòng)視圖,實(shí)際上是從數(shù)據(jù)劫持到發(fā)布訂閱的一種模式。通過Object.defineProperty這個(gè)Api在對(duì)象上定義一個(gè)新屬性或者修改現(xiàn)有的屬性,使用該Api下的get方法讀取屬性獲取data,使用set方法寫入屬性監(jiān)聽data的變化。組件中data一旦發(fā)生變化,就會(huì)根據(jù)修改后的data重新渲染視圖,由MVVM去自動(dòng)更新DOM,開發(fā)者就無須直接操作DOM,節(jié)約了開發(fā)成本,提高了程序的性能。

    2.4 Virtual Dom

    雖然MVVM能幫助開發(fā)者自動(dòng)更新視圖,減少了對(duì)DOM的直接操作,但實(shí)際上也是要對(duì)DOM進(jìn)行操作的,依然非常耗時(shí)。但Virtual Dom先用執(zhí)行速度更快的JS來模擬DOM結(jié)構(gòu),在多次的DOM操作中計(jì)算出最小的變更,避免了一些毫無意義的操作,最后操作DOM,其本質(zhì)上是DOM和JS之間的一個(gè)緩存。

    Virtual Dom通過diff算法比較DOM操作前后的差別,計(jì)算出最小變更。對(duì)于操作前后的DOM樹,diff算法只對(duì)它們之間同級(jí)比較,若兩棵樹的tag不相同,刪除重建,不再進(jìn)行下一層級(jí)的對(duì)比。若一棵樹的tag和key都相同,則認(rèn)為是相同的節(jié)點(diǎn),同樣不再進(jìn)行下一層級(jí)的對(duì)比。此算法的時(shí)間復(fù)雜度為O(n),執(zhí)行算法時(shí)的工作量是十分理想的。

    在修改model中的data時(shí),重新編譯渲染。在編譯過程中會(huì)將template模板轉(zhuǎn)變成一個(gè)render函數(shù),通過render函數(shù)生成Virtual Dom,調(diào)用vm._render方法生成一個(gè)新的虛擬節(jié)點(diǎn)(Vnode)。對(duì)原來的Vnode和新生成的Vnode進(jìn)行diff算法計(jì)算出最小變更。這個(gè)過程中會(huì)實(shí)例化一個(gè)Watcher,Watcher是Dep實(shí)例中的一個(gè)對(duì)象,Watcher會(huì)調(diào)用Dep下的Notify方法遍歷Dep的Watcher實(shí)例數(shù)組,通過對(duì)應(yīng)的update方法來更新視圖。Vue.js使用了Virtual Dom,避免了回流和重繪的DOM操作,提高了性能。Virtual Dom流程相關(guān)的模板渲染過程如圖2所示。

    圖2 模板渲染過程Fig.2 Template rendering process

    3 系統(tǒng)設(shè)計(jì)(Systematic design)

    3.1 組件化

    組件化設(shè)計(jì)的優(yōu)勢(shì)如下:(1)組件標(biāo)準(zhǔn)化。每個(gè)組件都有統(tǒng)一的標(biāo)準(zhǔn),有了標(biāo)準(zhǔn)和規(guī)范,各個(gè)組件才能更好地結(jié)合在一起使用。(2)功能分治。將系統(tǒng)的各個(gè)功能都封裝到不同的組件中,目的是讓每個(gè)組件可以獨(dú)立進(jìn)行開發(fā),達(dá)到解耦。(3)組件復(fù)用。當(dāng)系統(tǒng)中因?yàn)槟硞€(gè)功能的改變導(dǎo)致組件不可以使用時(shí),對(duì)組件進(jìn)行回收,更換一個(gè)新的組件,或者對(duì)原先組件進(jìn)行優(yōu)化。(4)組件組合。組件之間通過組合的方式,構(gòu)成一個(gè)功能或者一類功能模塊。組件化設(shè)計(jì)最終的目的是達(dá)到高效、協(xié)作以及復(fù)用。

    3.2 模塊化

    模塊是指在系統(tǒng)開發(fā)中,用自執(zhí)行函數(shù)將多個(gè)函數(shù)包裹起來形成閉包,自執(zhí)行函數(shù)通過return將內(nèi)部函數(shù)暴露,這種方式也稱單例設(shè)計(jì)模式。模塊化就是把一個(gè)或多個(gè)函數(shù)封裝到一個(gè)JS中,各個(gè)JS之間互不影響,提供方通過export的方式進(jìn)行暴露,使用方通過import的方式進(jìn)行導(dǎo)入。模塊化最終的目的是解決開發(fā)中的命名沖突,避免因各個(gè)JS文件中存在同名變量導(dǎo)致的變量同名覆蓋問題;同時(shí)解決了各個(gè)JS之間的依賴問題,并達(dá)到代碼的復(fù)用,提高函數(shù)的可維護(hù)性,從而提高整體項(xiàng)目的開發(fā)效率,降低維護(hù)成本。

    3.3 組件通信與狀態(tài)管理

    一般情況下,組件只需要操作自己的私有數(shù)據(jù)就能夠滿足某一功能的需求,但有些功能比較復(fù)雜,需要多個(gè)組件共同完成。父組件可以通過屬性傳遞的方式向子組件傳遞狀態(tài)(數(shù)據(jù)),子組件使用props接收父組件傳遞的數(shù)據(jù),通過this.$emit調(diào)用父組件的事件。父組件通過event.$on綁定自定義事件,子組件使用event.$emit調(diào)用自定義事件。但是,在組件之間不是父子或兄弟這種簡(jiǎn)單關(guān)系,而是相隔多層的祖孫關(guān)系或者沒有任何關(guān)系,甚至多個(gè)組件之間共用一個(gè)狀態(tài)的情況下,使用上述組件通信方式就顯得特別笨拙。

    采用Vuex對(duì)組件的全局狀態(tài)進(jìn)行統(tǒng)一管理,實(shí)現(xiàn)了組件之間的數(shù)據(jù)共享。第一步,組件改變數(shù)據(jù)后通過執(zhí)行$store.dispatch()方法觸發(fā)action。第二步,在action處理異步或同步操作后執(zhí)行$store.commit()方法觸發(fā)mutation。第三步,在mutation中處理同步操作后更新狀態(tài)(數(shù)據(jù)),存儲(chǔ)在state中。組件可以通過$store.getters()方法獲取state中的全局對(duì)象,也可以通過import將mapGetters輔助函數(shù)導(dǎo)入并映射到組件的計(jì)算屬性(computed)中,在computed中使用擴(kuò)展運(yùn)算符...mapGetters將獲取的全局對(duì)象解構(gòu)。

    Vuex可以集中管理組件間共享的狀態(tài)(數(shù)據(jù)),充分利用Vue.js的細(xì)粒度數(shù)據(jù)響應(yīng)機(jī)制來進(jìn)行高效的狀態(tài)管理。存儲(chǔ)的數(shù)據(jù)是響應(yīng)式的,能夠保證在實(shí)時(shí)存儲(chǔ)、視圖更新的操作后,存儲(chǔ)數(shù)據(jù)與頁面數(shù)據(jù)保持同步。各步操作采用模塊化的方法,分工明確,提高了開發(fā)效率,易于后期維護(hù)。Vuex組件狀態(tài)管理如圖3所示。

    圖3 Vuex組件狀態(tài)管理Fig.3 Vuex component status management

    3.4 安全性設(shè)計(jì)

    為避免用戶密碼信息泄露,危害系統(tǒng)安全,系統(tǒng)采用md5加密算法。md5是哈希算法中的一種信息摘要算法,不同長(zhǎng)度的用戶密碼都會(huì)被加密成固定長(zhǎng)度的32 位字符,并存儲(chǔ)在數(shù)據(jù)庫中。md5加密具有雪崩效應(yīng),明文的一丁點(diǎn)修改,都會(huì)造成密文的大幅變化,且密文到明文具有不可逆性。

    但如果用戶密碼比較簡(jiǎn)單,通過彩虹表仍可能被快速破解,故將明文密碼拆解為三部分,結(jié)合密鑰在特定部分加Salt,再進(jìn)行多次md5加密。Salt具有動(dòng)態(tài)性,用戶名具有唯一性,可將用戶名作為Salt(如明文拆解1+username+明文拆解2+密鑰+明文拆解3)。這樣處理前后的密文截然不同,即使Salt和密鑰泄露,彩虹表也無法使用,只能根據(jù)Salt和密鑰對(duì)彩虹表進(jìn)行重新生成,且處理后的密碼具有超長(zhǎng)位數(shù)和復(fù)雜度。在原始密碼只是純數(shù)字的情況下,分布列范圍至少為10的20次方;如果是數(shù)字加字母的密碼,其分布列范圍則達(dá)到了62的20次方,幾乎不可能破解。

    普通的接口只需要攜帶指定參數(shù)就可以訪問后端服務(wù),多次惡意的訪問會(huì)導(dǎo)致服務(wù)器繁忙,甚至崩潰。采用JSON Web Token的認(rèn)證機(jī)制,用戶登錄成功后會(huì)自動(dòng)生成一個(gè)JWT Token,返回并存儲(chǔ)到Cookie中,用戶訪問接口時(shí),附帶在請(qǐng)求頭中協(xié)同用戶提交的參數(shù)一起發(fā)送到服務(wù)端,服務(wù)端對(duì)發(fā)來的Token用密鑰解析,驗(yàn)證請(qǐng)求是否合法以及判斷用戶的身份。

    JSON Web Token包括JWT頭部(Header)、JWT主體(Playload)、JWT簽名(Veify Signature)。Header規(guī)定了所采用的加密算法和Token的類型,Playload中包含需要傳遞的數(shù)據(jù),Veify Signature對(duì)Playload中的數(shù)據(jù)進(jìn)行運(yùn)算,返回一串字符串,再使用Header中規(guī)定的加密算法進(jìn)行加密,生成加密字符串。

    本系統(tǒng)采用用戶名和姓名作為主體數(shù)據(jù),加密算法為HMAC SHA256,Token類型為JWT類型,自設(shè)密鑰。服務(wù)端接收到用戶發(fā)來的Token信息,使用密鑰進(jìn)行解密,判斷Token有效期及Token對(duì)應(yīng)的用戶身份,身份驗(yàn)證通過允許訪問接口。JWT驗(yàn)證過程如圖4所示。

    圖4 JWT驗(yàn)證過程Fig.4 JWT validation process

    JWT驗(yàn)證過程:(1)可以指定Secure來確保Token只在Https協(xié)議下傳輸,防止傳輸過程中被竊聽。(2)在Cookie中設(shè)置HttpOnly,禁止通過JS獲取Cookie信息,一定程度上防御了XSS攻擊。(3)服務(wù)端可以檢查用戶的Refer和Origin,在Response中缺少Access-Control-Allow-Origin字段或者原始資源URI不明的情況下,可以拒絕處理該請(qǐng)求,防止惡意請(qǐng)求,一定程度上防御了CSRF攻擊,減輕服務(wù)器的壓力。

    (1)設(shè)置授權(quán)機(jī)制。對(duì)授權(quán)碼采用md5加密方式,只有設(shè)置授權(quán)碼的管理員和被授予權(quán)限的用戶才知道真正的授權(quán)碼。

    (2)防御跨站腳本攻擊(XSS)。對(duì)輸入文本的特殊字符進(jìn)行轉(zhuǎn)義,例如將“<”變?yōu)椤?lt”,這樣被非法嵌入JavaScript的腳本就不能運(yùn)行。

    (3)防御跨偽造攻擊(CSRF)。重要請(qǐng)求接口采用POST請(qǐng)求方式,對(duì)重要操作增加了驗(yàn)證措施。

    (4)采用路由守衛(wèi)的導(dǎo)航模式。通過函數(shù)鉤子beforeEach對(duì)路由進(jìn)行全局前置守衛(wèi),對(duì)登錄后才能訪問的頁面設(shè)置了攔截操作,登錄后服務(wù)端設(shè)置Token信息,只有Token存在時(shí)才能訪問。

    3.5 系統(tǒng)主要功能

    系統(tǒng)用戶主要是醫(yī)務(wù)人員,群體較為固定。根據(jù)業(yè)務(wù)需求,功能模塊包括藥房管理、藥庫管理、門診藥房、數(shù)據(jù)統(tǒng)計(jì)、后臺(tái)管理等。(1)藥房管理實(shí)現(xiàn)了藥品報(bào)損、效期管理、藥品請(qǐng)領(lǐng);(2)藥庫管理實(shí)現(xiàn)了藥品入庫、藥品出庫、藥品盤點(diǎn)、庫存查詢、藥品移庫;(3)門診藥房如圖5所示,實(shí)現(xiàn)了處方發(fā)藥、狀態(tài)查詢、退藥處理;(4)數(shù)據(jù)統(tǒng)計(jì)包括訪問量、年度藥房藥庫銷售金額、當(dāng)前庫存量、分類藥品銷量排行、年度藥房報(bào)損藥品金額、年度藥品報(bào)損原因、年度盤盈盤虧等統(tǒng)計(jì);(5)后臺(tái)管理包括票據(jù)管理、調(diào)價(jià)管理、用戶管理、權(quán)限管理。

    圖5 門診藥房功能模塊Fig.5 Functional modules of outpatient pharmacy

    3.6 系統(tǒng)測(cè)試及優(yōu)化

    系統(tǒng)采用可視化面板(GUI)對(duì)代碼進(jìn)行測(cè)試,自動(dòng)生成測(cè)試報(bào)告,在4G環(huán)境下只需1.59 秒就可以加載完成,但ECharts和Element-UI的依賴體積過大,在一定程度上影響了系統(tǒng)的性能。同時(shí)在資源模塊中,出現(xiàn)對(duì)打包后的JS文件和部分圖片文件發(fā)出警告的問題。針對(duì)這些問題我們做了如下優(yōu)化:

    (1)在依賴方面,通過import方式導(dǎo)入的所有依賴項(xiàng)都會(huì)被打包合并到一個(gè)文件中,導(dǎo)致文件體積過大。使用config.set方法創(chuàng)建白名單,白名單中的依賴項(xiàng)將不會(huì)被合并打包,而在window全局對(duì)象查找使用;在public下的index.html文件中添加以link、script的src方式引用CDN資源的配置項(xiàng),通過修改Webpack的externals節(jié)點(diǎn)加載外部的CND資源。但完整引入Element-UI依賴項(xiàng)導(dǎo)致依賴包體積過大,采用按需加載的方式將所需的組件從Element-UI中解構(gòu)出來,僅對(duì)使用的組件進(jìn)行打包。

    (2)在路由方面,使用了路由懶加載技術(shù)。安裝babel插件,用箭頭函數(shù)的形式,通過webpackChunkName對(duì)路由進(jìn)行分組,打包到不同的JS中,避免了一次性加載全部路由,只有當(dāng)用戶訪問的時(shí)候才進(jìn)行加載。通過Vue.js的內(nèi)置組件Keep-alive對(duì)路由進(jìn)行緩存,避免了重復(fù)渲染,提高了頁面的加載效率,增加了用戶體驗(yàn)感。

    (3)在圖片方面,將較大的圖片壓縮成base64格式,以減少圖片體積。對(duì)于大量的圖片,可以通過v-lazy指令對(duì)圖片進(jìn)行懶加載,圖片分多批次加載,用戶訪問時(shí)才觸發(fā)下一次加載。

    (4)在代碼層面,進(jìn)行組件通信時(shí),通過event.$on生成自定義事件,框架提供的默認(rèn)事件在組件生命周期結(jié)束時(shí)會(huì)被自動(dòng)回收,而開發(fā)者定義的自定義事件會(huì)一直存在。本系統(tǒng)在組件的生命周期beforeDestory函數(shù)中通過evnent.$off銷毀自定義事件。此外,還要對(duì)全局變量進(jìn)行回收,避免內(nèi)存泄漏。系統(tǒng)分配給應(yīng)用程序的內(nèi)存資源是有限的,當(dāng)應(yīng)用程序向系統(tǒng)申請(qǐng)內(nèi)存時(shí),系統(tǒng)會(huì)在堆內(nèi)存中開辟一塊內(nèi)存空間,如果應(yīng)用程序中的全局變量、自定義事件沒有被回收和銷毀,久而久之,內(nèi)存就會(huì)被占滿,發(fā)生內(nèi)存泄漏的現(xiàn)象,導(dǎo)致軟件卡頓直至崩潰。

    (5)對(duì)于首屏加載過慢的問題或頁面組件過多難以一次性加載的情況,采用異步組件的方式,只有用戶觸發(fā)了該組件,才會(huì)對(duì)該組件進(jìn)行渲染。對(duì)加載過的組件同樣進(jìn)行緩存處理,避免二次加載造成資源浪費(fèi)。

    4 結(jié)論(Conclusion)

    本文以藥房藥庫管理系統(tǒng)為例,運(yùn)用前端工程化思想,采用前后端分離架構(gòu),前端采用了Vue.js,以組件和模塊的方式對(duì)視圖部分進(jìn)行開發(fā);后端采用了Node.js,負(fù)責(zé)處理業(yè)務(wù)邏輯,提供數(shù)據(jù)接口,并結(jié)合MVVM模式、組件化、模塊化等解決方案,達(dá)到組件間高效、協(xié)作、復(fù)用的效果,模塊間互不影響,視圖與數(shù)據(jù)分離,細(xì)化了開發(fā)者的分工協(xié)作,并從用戶隱私安全、接口安全、系統(tǒng)安全三大角度進(jìn)行了分析。提出組件狀態(tài)的管理機(jī)制以及錯(cuò)誤信息的控制措施,從整體上提升了項(xiàng)目可維護(hù)性和拓展性,同時(shí)提高了開發(fā)效率,降低了開發(fā)成本。解決了傳統(tǒng)醫(yī)院信息系統(tǒng)分層開發(fā)方式的系統(tǒng)性能差、維護(hù)難、開發(fā)效率低下、層級(jí)間協(xié)作不一致的問題,提高了醫(yī)院的藥品管理水平,促進(jìn)了醫(yī)院的信息化發(fā)展。

    猜你喜歡
    頁面用戶系統(tǒng)
    大狗熊在睡覺
    Smartflower POP 一體式光伏系統(tǒng)
    刷新生活的頁面
    WJ-700無人機(jī)系統(tǒng)
    ZC系列無人機(jī)遙感系統(tǒng)
    連通與提升系統(tǒng)的最后一塊拼圖 Audiolab 傲立 M-DAC mini
    關(guān)注用戶
    商用汽車(2016年11期)2016-12-19 01:20:16
    關(guān)注用戶
    商用汽車(2016年6期)2016-06-29 09:18:54
    關(guān)注用戶
    商用汽車(2016年4期)2016-05-09 01:23:12
    如何獲取一億海外用戶
    80岁老熟妇乱子伦牲交| 永久免费av网站大全| 久久久欧美国产精品| 啦啦啦 在线观看视频| 久久久久久久久久久久大奶| 国产极品粉嫩免费观看在线| 欧美在线一区亚洲| 久久中文看片网| 欧美精品高潮呻吟av久久| 9热在线视频观看99| 韩国高清视频一区二区三区| 色视频在线一区二区三区| 99re6热这里在线精品视频| 久久国产精品影院| 91九色精品人成在线观看| 高清av免费在线| 两人在一起打扑克的视频| 1024视频免费在线观看| 欧美亚洲日本最大视频资源| 国精品久久久久久国模美| 久久99热这里只频精品6学生| 国产成人一区二区三区免费视频网站| 国产精品.久久久| 宅男免费午夜| a级片在线免费高清观看视频| 91av网站免费观看| 精品国产一区二区三区久久久樱花| 国产亚洲精品一区二区www | 欧美一级毛片孕妇| 亚洲欧美一区二区三区黑人| 波多野结衣av一区二区av| 亚洲国产成人一精品久久久| 午夜视频精品福利| h视频一区二区三区| 人妻人人澡人人爽人人| 成人18禁高潮啪啪吃奶动态图| 久久久久国产一级毛片高清牌| 国产欧美日韩综合在线一区二区| 久久精品人人爽人人爽视色| 国产精品麻豆人妻色哟哟久久| 又黄又粗又硬又大视频| 我的亚洲天堂| 一级片'在线观看视频| 极品人妻少妇av视频| 制服诱惑二区| 人成视频在线观看免费观看| 日韩欧美国产一区二区入口| 午夜91福利影院| 爱豆传媒免费全集在线观看| 日本wwww免费看| 日本av免费视频播放| 色精品久久人妻99蜜桃| 狠狠婷婷综合久久久久久88av| 天天躁狠狠躁夜夜躁狠狠躁| 岛国在线观看网站| 亚洲综合色网址| 可以免费在线观看a视频的电影网站| 少妇人妻久久综合中文| 国产精品成人在线| 99香蕉大伊视频| 一进一出抽搐动态| 国内毛片毛片毛片毛片毛片| 亚洲精品美女久久av网站| 乱人伦中国视频| 久久人人爽人人片av| 日韩中文字幕欧美一区二区| 亚洲精品美女久久久久99蜜臀| 最近最新免费中文字幕在线| 免费观看a级毛片全部| 亚洲人成电影免费在线| 国产欧美亚洲国产| 久久国产精品男人的天堂亚洲| 亚洲精品中文字幕在线视频| 老司机影院成人| 777久久人妻少妇嫩草av网站| 性色av一级| 久久久久久久国产电影| 国产精品熟女久久久久浪| 午夜成年电影在线免费观看| 国产精品免费大片| 老司机午夜福利在线观看视频 | 亚洲成人免费av在线播放| 日本黄色日本黄色录像| 亚洲国产av影院在线观看| 午夜日韩欧美国产| 久久久久久久国产电影| 男女免费视频国产| 爱豆传媒免费全集在线观看| 50天的宝宝边吃奶边哭怎么回事| 亚洲 欧美一区二区三区| 午夜久久久在线观看| 一级,二级,三级黄色视频| 国产欧美亚洲国产| 国产有黄有色有爽视频| 国产精品.久久久| 欧美激情高清一区二区三区| 国产欧美日韩精品亚洲av| 久久久久久人人人人人| 欧美日韩av久久| 精品少妇一区二区三区视频日本电影| 国产精品国产av在线观看| 永久免费av网站大全| 精品国产乱码久久久久久小说| 别揉我奶头~嗯~啊~动态视频 | 欧美亚洲 丝袜 人妻 在线| 视频区欧美日本亚洲| 国产欧美亚洲国产| 午夜福利一区二区在线看| h视频一区二区三区| 老熟女久久久| 亚洲精品成人av观看孕妇| 日日夜夜操网爽| 国产99久久九九免费精品| 老司机福利观看| 在线观看免费午夜福利视频| 欧美日韩亚洲综合一区二区三区_| 成在线人永久免费视频| 亚洲一卡2卡3卡4卡5卡精品中文| 黄色a级毛片大全视频| 国产成人精品久久二区二区免费| 国产成人免费无遮挡视频| 亚洲国产精品一区三区| 免费在线观看黄色视频的| 国产成人av教育| 麻豆av在线久日| 久久性视频一级片| 后天国语完整版免费观看| 在线av久久热| 在线十欧美十亚洲十日本专区| 在线观看一区二区三区激情| 国产精品偷伦视频观看了| 丁香六月欧美| 欧美 日韩 精品 国产| 在线观看一区二区三区激情| 亚洲欧美色中文字幕在线| 天天躁狠狠躁夜夜躁狠狠躁| 国产免费av片在线观看野外av| 久久中文看片网| 少妇精品久久久久久久| 天天躁狠狠躁夜夜躁狠狠躁| 精品免费久久久久久久清纯 | 黄色视频,在线免费观看| 99精国产麻豆久久婷婷| 性色av乱码一区二区三区2| 性高湖久久久久久久久免费观看| 欧美午夜高清在线| 亚洲第一青青草原| 亚洲av日韩精品久久久久久密| 热99re8久久精品国产| 欧美 亚洲 国产 日韩一| 精品一品国产午夜福利视频| 亚洲精品粉嫩美女一区| 亚洲精品美女久久av网站| 国产在线视频一区二区| 久久国产精品大桥未久av| 电影成人av| 亚洲欧美精品自产自拍| 又大又爽又粗| 男女国产视频网站| 999精品在线视频| 亚洲精品粉嫩美女一区| 国产成人影院久久av| 69精品国产乱码久久久| 亚洲国产欧美在线一区| 亚洲综合色网址| 一级毛片电影观看| 国产精品免费大片| 日日爽夜夜爽网站| 搡老乐熟女国产| 少妇猛男粗大的猛烈进出视频| 999久久久国产精品视频| 国产一卡二卡三卡精品| 国产欧美亚洲国产| 肉色欧美久久久久久久蜜桃| 视频区图区小说| 欧美黄色淫秽网站| 国产成人啪精品午夜网站| 亚洲va日本ⅴa欧美va伊人久久 | 国产av国产精品国产| 久久精品国产综合久久久| 免费在线观看视频国产中文字幕亚洲 | 亚洲av电影在线观看一区二区三区| 老司机靠b影院| 午夜福利在线免费观看网站| 男人操女人黄网站| 三级毛片av免费| 99久久精品国产亚洲精品| 两性夫妻黄色片| 欧美黄色淫秽网站| 桃花免费在线播放| 免费av中文字幕在线| 99久久综合免费| 在线观看www视频免费| 亚洲专区中文字幕在线| 男人爽女人下面视频在线观看| 又黄又粗又硬又大视频| 午夜免费成人在线视频| 中文字幕人妻丝袜一区二区| 免费女性裸体啪啪无遮挡网站| 国产免费福利视频在线观看| 欧美亚洲 丝袜 人妻 在线| 首页视频小说图片口味搜索| 亚洲人成电影免费在线| 国产精品亚洲av一区麻豆| 国产成人av激情在线播放| 99久久人妻综合| 欧美在线一区亚洲| 搡老熟女国产l中国老女人| 巨乳人妻的诱惑在线观看| 国产伦人伦偷精品视频| 国产成人免费观看mmmm| 久久久久久亚洲精品国产蜜桃av| av一本久久久久| 少妇猛男粗大的猛烈进出视频| 亚洲国产欧美网| 国产片内射在线| 久久国产精品人妻蜜桃| 妹子高潮喷水视频| 成人亚洲精品一区在线观看| bbb黄色大片| 黄色片一级片一级黄色片| 国产激情久久老熟女| 男男h啪啪无遮挡| 女人高潮潮喷娇喘18禁视频| 久久国产精品大桥未久av| 国产成人av教育| 午夜福利影视在线免费观看| 天天影视国产精品| 人人妻人人澡人人爽人人夜夜| 免费在线观看黄色视频的| 亚洲精品国产色婷婷电影| 国产免费视频播放在线视频| 欧美日韩av久久| 国产xxxxx性猛交| 国内毛片毛片毛片毛片毛片| bbb黄色大片| 亚洲色图综合在线观看| 亚洲自偷自拍图片 自拍| 欧美亚洲日本最大视频资源| 香蕉国产在线看| 中文欧美无线码| 91麻豆av在线| 日日夜夜操网爽| 亚洲精品第二区| 欧美97在线视频| 国产三级黄色录像| 成人手机av| 男女国产视频网站| 免费日韩欧美在线观看| 国产精品二区激情视频| 久久久久国内视频| 99久久精品国产亚洲精品| 少妇人妻久久综合中文| 高清av免费在线| 亚洲av片天天在线观看| 免费日韩欧美在线观看| 97在线人人人人妻| 高清视频免费观看一区二区| a在线观看视频网站| 最新在线观看一区二区三区| 91麻豆av在线| 制服人妻中文乱码| 高清欧美精品videossex| 久久久久久久大尺度免费视频| 午夜免费观看性视频| 女人被躁到高潮嗷嗷叫费观| 欧美变态另类bdsm刘玥| 国产精品 国内视频| svipshipincom国产片| 午夜免费鲁丝| 男人爽女人下面视频在线观看| 欧美亚洲日本最大视频资源| a级片在线免费高清观看视频| av网站免费在线观看视频| 日韩有码中文字幕| 亚洲情色 制服丝袜| 天天躁日日躁夜夜躁夜夜| 秋霞在线观看毛片| 深夜精品福利| 亚洲精品国产一区二区精华液| 人人妻,人人澡人人爽秒播| 色精品久久人妻99蜜桃| 亚洲欧洲精品一区二区精品久久久| 亚洲欧美清纯卡通| 国产成人欧美| 国产又色又爽无遮挡免| 久久人妻福利社区极品人妻图片| 国产av又大| 老司机午夜福利在线观看视频 | 国产成人一区二区三区免费视频网站| 一区二区三区激情视频| kizo精华| 大香蕉久久成人网| 日本撒尿小便嘘嘘汇集6| 精品第一国产精品| 九色亚洲精品在线播放| 欧美97在线视频| 亚洲av欧美aⅴ国产| 男女国产视频网站| www日本在线高清视频| 成年动漫av网址| 国产福利在线免费观看视频| 亚洲美女黄色视频免费看| 久久精品久久久久久噜噜老黄| 精品一区二区三区av网在线观看 | 国产一区二区三区av在线| 黑人欧美特级aaaaaa片| 成年人午夜在线观看视频| 韩国精品一区二区三区| 亚洲男人天堂网一区| 99国产精品一区二区蜜桃av | 悠悠久久av| kizo精华| 欧美亚洲 丝袜 人妻 在线| 黑人猛操日本美女一级片| 欧美国产精品va在线观看不卡| 在线亚洲精品国产二区图片欧美| 在线永久观看黄色视频| 在线看a的网站| 国产精品亚洲av一区麻豆| 日日摸夜夜添夜夜添小说| 狂野欧美激情性bbbbbb| 一区福利在线观看| 最新在线观看一区二区三区| 国产亚洲av片在线观看秒播厂| 一区二区av电影网| 中文字幕精品免费在线观看视频| av线在线观看网站| 日本欧美视频一区| 国产不卡av网站在线观看| a级毛片在线看网站| 国产97色在线日韩免费| 久久青草综合色| 久久久精品区二区三区| 91麻豆精品激情在线观看国产 | 欧美日韩国产mv在线观看视频| 91成人精品电影| 90打野战视频偷拍视频| 一区二区三区精品91| 亚洲avbb在线观看| 狂野欧美激情性bbbbbb| 黄色视频不卡| 丰满人妻熟妇乱又伦精品不卡| 女人被躁到高潮嗷嗷叫费观| 午夜福利在线免费观看网站| 日本wwww免费看| 可以免费在线观看a视频的电影网站| www日本在线高清视频| kizo精华| 中国美女看黄片| 黑人猛操日本美女一级片| 老熟妇仑乱视频hdxx| 精品国产乱码久久久久久男人| 中文字幕人妻熟女乱码| 国产高清videossex| 窝窝影院91人妻| 午夜免费成人在线视频| 纵有疾风起免费观看全集完整版| 悠悠久久av| 精品一区二区三卡| 中文字幕人妻熟女乱码| av电影中文网址| h视频一区二区三区| 嫁个100分男人电影在线观看| 欧美久久黑人一区二区| 老司机在亚洲福利影院| 国产淫语在线视频| 香蕉国产在线看| 淫妇啪啪啪对白视频 | 极品少妇高潮喷水抽搐| 亚洲一区二区三区欧美精品| 国产视频一区二区在线看| 国产成人精品无人区| 欧美性长视频在线观看| 国产成人精品无人区| 美女国产高潮福利片在线看| 亚洲一区二区三区欧美精品| 久热爱精品视频在线9| 国产精品av久久久久免费| 高潮久久久久久久久久久不卡| 成人av一区二区三区在线看 | 成人三级做爰电影| netflix在线观看网站| 日韩 欧美 亚洲 中文字幕| 免费高清在线观看视频在线观看| 夜夜夜夜夜久久久久| av电影中文网址| 男人添女人高潮全过程视频| 国产精品av久久久久免费| 91麻豆av在线| 两个人免费观看高清视频| av一本久久久久| 91麻豆精品激情在线观看国产 | av视频免费观看在线观看| 精品国产一区二区久久| 亚洲中文日韩欧美视频| 精品亚洲成a人片在线观看| 国产一区二区三区在线臀色熟女 | 久久九九热精品免费| 久久午夜综合久久蜜桃| 久久久久久人人人人人| 国产三级黄色录像| 久久久国产一区二区| av免费在线观看网站| 日本91视频免费播放| 99国产综合亚洲精品| 黑人猛操日本美女一级片| 老汉色∧v一级毛片| 人人妻人人澡人人爽人人夜夜| 久久久精品94久久精品| 亚洲精品中文字幕在线视频| 国产三级黄色录像| 欧美一级毛片孕妇| 纯流量卡能插随身wifi吗| 啦啦啦 在线观看视频| 18禁裸乳无遮挡动漫免费视频| 麻豆乱淫一区二区| 最新的欧美精品一区二区| 亚洲欧美激情在线| 国产成人影院久久av| 欧美性长视频在线观看| 国产精品久久久人人做人人爽| 中文字幕人妻熟女乱码| 天堂8中文在线网| 亚洲午夜精品一区,二区,三区| 亚洲精品久久成人aⅴ小说| 91国产中文字幕| netflix在线观看网站| 美女中出高潮动态图| 嫁个100分男人电影在线观看| 国产成人精品久久二区二区免费| 热99久久久久精品小说推荐| 欧美日韩亚洲国产一区二区在线观看 | 老司机午夜十八禁免费视频| 乱人伦中国视频| 成年人黄色毛片网站| 黄色视频在线播放观看不卡| 亚洲精品美女久久av网站| 国产麻豆69| 国产精品1区2区在线观看. | 99热国产这里只有精品6| xxxhd国产人妻xxx| 悠悠久久av| 叶爱在线成人免费视频播放| 久久久久精品国产欧美久久久 | 99香蕉大伊视频| 国产在线一区二区三区精| 在线av久久热| 热99久久久久精品小说推荐| 久久久精品94久久精品| 在线观看免费视频网站a站| 国产区一区二久久| 国产高清视频在线播放一区 | www.熟女人妻精品国产| 亚洲欧美精品综合一区二区三区| 人人妻人人爽人人添夜夜欢视频| 男人操女人黄网站| 最近最新中文字幕大全免费视频| 亚洲欧洲日产国产| 精品人妻1区二区| 99热国产这里只有精品6| 日韩一区二区三区影片| 日韩欧美免费精品| 国产免费视频播放在线视频| 亚洲,欧美精品.| 精品国内亚洲2022精品成人 | 国产免费一区二区三区四区乱码| 久久久精品免费免费高清| 久久香蕉激情| 不卡av一区二区三区| 亚洲精品一二三| 一级片'在线观看视频| 午夜视频精品福利| 国产色视频综合| 日日夜夜操网爽| 久热这里只有精品99| 亚洲国产av新网站| 韩国高清视频一区二区三区| 中文字幕人妻丝袜制服| 日日摸夜夜添夜夜添小说| 久久久久精品人妻al黑| 中文字幕高清在线视频| 亚洲黑人精品在线| 女人被躁到高潮嗷嗷叫费观| 精品欧美一区二区三区在线| 深夜精品福利| 亚洲精品国产av成人精品| 老汉色av国产亚洲站长工具| 久久精品国产综合久久久| av网站免费在线观看视频| 老汉色∧v一级毛片| 夜夜夜夜夜久久久久| 欧美变态另类bdsm刘玥| 丰满人妻熟妇乱又伦精品不卡| 少妇被粗大的猛进出69影院| 2018国产大陆天天弄谢| 日本五十路高清| 菩萨蛮人人尽说江南好唐韦庄| 999久久久精品免费观看国产| 啦啦啦 在线观看视频| 国产激情久久老熟女| 亚洲少妇的诱惑av| 久久精品亚洲av国产电影网| 亚洲精品国产av成人精品| 女人久久www免费人成看片| 亚洲 欧美一区二区三区| 蜜桃在线观看..| 久久久久视频综合| 国产在线观看jvid| 国产成人免费观看mmmm| 久久人人97超碰香蕉20202| 欧美日韩成人在线一区二区| 亚洲专区字幕在线| 久久天堂一区二区三区四区| 亚洲免费av在线视频| 国产深夜福利视频在线观看| 国产精品.久久久| 欧美少妇被猛烈插入视频| 欧美精品高潮呻吟av久久| 在线av久久热| 91成人精品电影| 日韩有码中文字幕| 少妇粗大呻吟视频| 美女大奶头黄色视频| 丁香六月欧美| 亚洲精品一二三| 日本猛色少妇xxxxx猛交久久| tube8黄色片| 各种免费的搞黄视频| 久久久国产欧美日韩av| 中文字幕最新亚洲高清| 国产在线视频一区二区| 脱女人内裤的视频| 国产在线视频一区二区| 黑人欧美特级aaaaaa片| 人妻 亚洲 视频| 免费不卡黄色视频| 亚洲欧美激情在线| 欧美xxⅹ黑人| 大片免费播放器 马上看| 五月开心婷婷网| 精品国产乱子伦一区二区三区 | 老司机午夜福利在线观看视频 | 久久人人爽av亚洲精品天堂| 午夜影院在线不卡| 18禁黄网站禁片午夜丰满| 亚洲精品国产av蜜桃| 免费在线观看黄色视频的| 乱人伦中国视频| 中文字幕色久视频| 精品少妇黑人巨大在线播放| 9191精品国产免费久久| 最近中文字幕2019免费版| 亚洲自偷自拍图片 自拍| 欧美日韩亚洲综合一区二区三区_| 欧美人与性动交α欧美软件| 亚洲精品美女久久av网站| www.熟女人妻精品国产| 亚洲国产毛片av蜜桃av| 视频区图区小说| 亚洲成人免费av在线播放| 777米奇影视久久| 好男人电影高清在线观看| 亚洲人成电影观看| 亚洲午夜精品一区,二区,三区| 成年美女黄网站色视频大全免费| av不卡在线播放| 纵有疾风起免费观看全集完整版| 激情视频va一区二区三区| 18禁裸乳无遮挡动漫免费视频| 99re6热这里在线精品视频| 五月天丁香电影| 国产极品粉嫩免费观看在线| 国产精品国产av在线观看| 人妻人人澡人人爽人人| av超薄肉色丝袜交足视频| 一区二区三区激情视频| 成年人黄色毛片网站| 妹子高潮喷水视频| 日韩人妻精品一区2区三区| 欧美激情久久久久久爽电影 | 国产精品久久久久久精品电影小说| 国产精品一区二区在线观看99| 亚洲 欧美一区二区三区| 亚洲成av片中文字幕在线观看| 人人澡人人妻人| 午夜福利免费观看在线| 亚洲中文字幕日韩| 欧美一级毛片孕妇| 久久精品人人爽人人爽视色| 一本久久精品| 永久免费av网站大全| 亚洲欧美日韩另类电影网站| 欧美成狂野欧美在线观看| 亚洲精品国产区一区二| 69精品国产乱码久久久| 久久久久久久大尺度免费视频| av福利片在线| 嫩草影视91久久| 十分钟在线观看高清视频www| 精品视频人人做人人爽| 久久午夜综合久久蜜桃| 他把我摸到了高潮在线观看 | 正在播放国产对白刺激| 国产精品九九99| 日韩免费高清中文字幕av| 亚洲一卡2卡3卡4卡5卡精品中文| 考比视频在线观看| 一区二区三区乱码不卡18| 电影成人av| 欧美 日韩 精品 国产| 日本撒尿小便嘘嘘汇集6| 国产在线观看jvid| 大片电影免费在线观看免费| 久热这里只有精品99|