999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于微信小程序的發(fā)酵過程在線監(jiān)測(cè)系統(tǒng)設(shè)計(jì)?

2020-11-02 09:01:12
關(guān)鍵詞:頁(yè)面程序微信

胡 斌

(江南大學(xué)物聯(lián)網(wǎng)工程學(xué)院 無(wú)錫 214000)

1 引言

近紅外光(Near Infrared,NIR)是一種波長(zhǎng)范圍在780nm~2526nm 的電磁波。近紅外光譜分析技術(shù)可以將有機(jī)物質(zhì)的含氫基團(tuán)化學(xué)鍵的倍頻和合頻吸收轉(zhuǎn)換為光譜信息,從而探測(cè)出物質(zhì)的成分或者成分含量[1]。在20 世紀(jì)80 年代期間,由于工業(yè)技術(shù)的落后,無(wú)論是行業(yè)競(jìng)爭(zhēng),還是環(huán)保要求,都迫使工業(yè)生產(chǎn)尋求新技術(shù)。為此,經(jīng)過長(zhǎng)久的投入和發(fā)展,近紅外光譜技術(shù)結(jié)合化學(xué)計(jì)量學(xué)走進(jìn)研究殿堂。近紅外光譜技術(shù)以快速、安全和準(zhǔn)確的特點(diǎn)在物質(zhì)檢測(cè)中發(fā)揮著重要作用,在發(fā)酵過程監(jiān)控的研究也取得了顯著進(jìn)展[2~6]。

國(guó)際上,對(duì)光譜技術(shù)的應(yīng)用越來越成熟。美國(guó)尼高力儀器公司開發(fā)的OMNIC 光譜分析軟件[7]、Bruker 公司開發(fā)的OPUS 軟件[8]和賽默飛世爾科技公司(Thermo Fisher Scientific)的TQ Analyst 軟件[9]都在各行各業(yè)取得了良好的效果。通過上述光譜分析軟件建立定量分析模型,進(jìn)而應(yīng)用在實(shí)時(shí)監(jiān)測(cè)系統(tǒng)中。與此同時(shí),國(guó)內(nèi)外研究者也開發(fā)出基于Matlab 語(yǔ)言的工具箱,用于建立定量和定性分析模型,如Lars N?rgaard 開 發(fā) 的iToolbox 工 具 箱 和Hong-Dong Li 近期開發(fā)的libPLS_1.98 工具箱[10~11]。上述公司和研究者對(duì)近紅外光譜分析技術(shù)的發(fā)展起到的很大的促進(jìn)作用,為近紅外光譜技術(shù)應(yīng)用到實(shí)際生產(chǎn)中奠定了堅(jiān)實(shí)的基礎(chǔ)。

本文借鑒國(guó)際上通用的光譜數(shù)據(jù)分析和監(jiān)測(cè)平臺(tái),如RESULT和OPUS等,設(shè)計(jì)出一種新型的實(shí)時(shí)監(jiān)測(cè)系統(tǒng)。在系統(tǒng)實(shí)現(xiàn)中,利用libPLS_1.98 工具箱建立定量模型,采用輪詢方式對(duì)光譜采集軟件的輸出的CSV格式光譜數(shù)據(jù)文件進(jìn)行讀取,采用微信小程序技術(shù)進(jìn)行客戶端頁(yè)面設(shè)計(jì),利用Java語(yǔ)言進(jìn)行服務(wù)器端開發(fā),采用Websocket 技術(shù)實(shí)現(xiàn)客戶端和服務(wù)端的全雙工通信,從而實(shí)現(xiàn)對(duì)發(fā)酵過程參數(shù)的遠(yuǎn)程、在線監(jiān)測(cè)。

2 關(guān)鍵技術(shù)

2.1 近紅外光譜檢測(cè)基礎(chǔ)

近紅外光譜分析技術(shù)的物理基礎(chǔ)是光與物質(zhì)之間的相互作用,當(dāng)光入射到物質(zhì)時(shí),會(huì)發(fā)生反射、透射或者吸收。從光源入射到物質(zhì)表面后,經(jīng)過與物質(zhì)中微粒的一系列作用后出射,其中入射與出射的光強(qiáng)比就是我們需要的信息。近紅外光譜分析技術(shù)的化學(xué)基礎(chǔ)來自物質(zhì)內(nèi)部的分子振動(dòng)和能級(jí)吸收。由波爾頻率方程計(jì)算出的振動(dòng)量子數(shù)v 從0到1 得到的振動(dòng)頻率f 稱之為基頻。那么,一級(jí)倍頻和二級(jí)倍頻分別為v 從0 變化到2 和3 獲得的振動(dòng)頻率,而合頻指的是不同基頻之間的和或差獲得的振動(dòng)頻率[12~13]。

2.2 微信小程序技術(shù)

微信小程序技術(shù)(Mini Program),是一種介于B/S(Brower/Server)結(jié)構(gòu)和C/S(Client/Server)結(jié)構(gòu)之間的系統(tǒng)。對(duì)于客戶來說,客戶不需要像安卓或者IOS 一樣下載應(yīng)用程序,只需要在微信軟件上打開小程序功能搜索即可。有著即開即用的效果。對(duì)于開發(fā)人員來說,這又是一種快速開發(fā)平臺(tái)[14]。在微信小程序的編碼中,已經(jīng)封裝好了頁(yè)面的結(jié)構(gòu)、生命周期以及數(shù)據(jù)渲染。目前,已經(jīng)有150 萬(wàn)開發(fā)人員推動(dòng)著微信小程序的發(fā)展,涉及到了200多個(gè)行業(yè),并帶動(dòng)了一個(gè)新行業(yè)的發(fā)展。

2.3 Websocket技術(shù)

Websocket 技術(shù)誕生之前,客戶端和服務(wù)器通常使用的技術(shù)有:輪詢和長(zhǎng)連接等。但是,長(zhǎng)時(shí)間的通信會(huì)導(dǎo)致一些問題:

1)多個(gè)客戶端同時(shí)請(qǐng)求服務(wù)器時(shí),服務(wù)器必須為每個(gè)客戶端建立Tcp 連接。頻繁的連接和斷開容易造成系統(tǒng)崩潰。

2)頻繁的Http 協(xié)議請(qǐng)求具有很高的開銷,Http請(qǐng)求頭存儲(chǔ)了很多信息,重復(fù)的連接也會(huì)傳遞重復(fù)的信息。

Websocke 技術(shù)是解決上述問題的簡(jiǎn)單方案。如圖1 所示W(wǎng)ebsocke 技術(shù)建立連接的原理圖。TCP 協(xié)議傳輸數(shù)據(jù)時(shí),每次發(fā)送數(shù)據(jù)都要建立復(fù)雜的“三次握手,四次揮手”。而在Websocket 協(xié)議的傳輸中,只需要建立一次連接就可以一直通信[15]。

圖1 Websocket原理圖

3 系統(tǒng)總體結(jié)構(gòu)

實(shí)時(shí)監(jiān)測(cè)系統(tǒng)的總體結(jié)構(gòu)圖如圖2 所示,包括發(fā)酵罐、光纖探頭、光譜儀、廠商配套的光譜采集軟件、實(shí)時(shí)監(jiān)測(cè)軟件系統(tǒng)和用戶終端。在整個(gè)系統(tǒng)中,光譜儀器采用了賽默飛品牌的傅立葉近紅外過程分析儀Antaris MX,此儀器可以檢測(cè)波數(shù)范圍在10000cm-1~4000cm-1的近紅外光譜。服務(wù)器采用了Windows7 操作系統(tǒng),并安裝廠商配置光譜采集軟件。廠商配置的光譜采集軟件為RESULT 平臺(tái)下的RESULT-Integration 軟件,可以設(shè)置參數(shù)將實(shí)時(shí)采集的光譜數(shù)據(jù)以CSV格式輸出到指定文件夾中。

圖2 系統(tǒng)總體結(jié)構(gòu)圖

由總體結(jié)構(gòu)圖可以看出,在系統(tǒng)運(yùn)作之前,利用Lars N?rgaard開發(fā)的iToolbox工具箱中的聯(lián)合區(qū)間偏最小二乘法,對(duì)發(fā)酵過程數(shù)據(jù)建立糖含量的定量分析模型,并將模型數(shù)據(jù)存儲(chǔ)為CSV格式的模型文件(如圖2 中NIR 模型)。其中,NIR 模型的第一行數(shù)據(jù)為特征區(qū)間,第二行數(shù)據(jù)為波數(shù)權(quán)重。

系統(tǒng)運(yùn)作的流程如下:1)在發(fā)酵過程中,近紅外光譜儀通過光纖探頭采集發(fā)酵罐的發(fā)酵過程數(shù)據(jù),并通過廠商配備的光譜采集軟件將采集到的物質(zhì)信息轉(zhuǎn)換成光譜信息,進(jìn)入輸出為CSV格式的光譜數(shù)據(jù)文件;2)在采集軟件不斷輸出實(shí)時(shí)光譜數(shù)據(jù)的過程中,實(shí)時(shí)監(jiān)測(cè)系統(tǒng)利用輪詢監(jiān)測(cè)功能獲取CSV 格式光譜數(shù)據(jù)文件,并利用文件處理功能解析數(shù)據(jù)文件和模型文件,將解析到的實(shí)時(shí)數(shù)據(jù)和模型數(shù)據(jù)以全局變量的形式存儲(chǔ);3)利用模型預(yù)測(cè)功能將當(dāng)前實(shí)時(shí)光譜數(shù)據(jù)和模型數(shù)據(jù)結(jié)合,并計(jì)算出實(shí)時(shí)預(yù)測(cè)結(jié)果;4)在用戶開啟Websocket連接后,系統(tǒng)服務(wù)端利用數(shù)據(jù)推送功能將預(yù)測(cè)結(jié)果推送給在線用戶。

4 功能流程設(shè)計(jì)

4.1 輪詢監(jiān)測(cè)功能設(shè)計(jì)

輪詢監(jiān)測(cè)功能是對(duì)光譜采集軟件輸出文件的變化進(jìn)行監(jiān)測(cè)。近紅外光譜儀將采集的樣品經(jīng)過光譜采集軟件的處理后得到了光譜圖像,進(jìn)一步通過設(shè)置相關(guān)參數(shù)可以將光譜數(shù)據(jù)轉(zhuǎn)換成CSV格式,并存儲(chǔ)在指定文件夾中。利用Java 語(yǔ)言對(duì)指定文件夾進(jìn)行輪詢監(jiān)測(cè)的關(guān)鍵點(diǎn)有:

1)文件夾每次輪詢掃描前,需要對(duì)已存在文件進(jìn)行緩存,并在下一次輪詢掃描中對(duì)已有文件對(duì)比,以確定是否有新文件。

2)為避免大量的數(shù)據(jù)對(duì)比,應(yīng)該優(yōu)選判斷文件數(shù)量。如果文件數(shù)量上排除了新文件的產(chǎn)生,可以直接進(jìn)行下次輪詢。

3)考慮到在近紅外光譜數(shù)據(jù)的業(yè)務(wù)處理中,如果時(shí)間過長(zhǎng)或者其他環(huán)境異常會(huì)導(dǎo)致的掃描時(shí)間阻塞。系統(tǒng)使用子線程的方式將掃描到的新文件交給子線程解決,而不會(huì)干擾掃描任務(wù),由子線程去繼續(xù)執(zhí)行后續(xù)業(yè)務(wù)。

在上述關(guān)鍵點(diǎn)下,對(duì)系統(tǒng)的輪詢監(jiān)測(cè)功能進(jìn)行設(shè)計(jì),如圖3所示輪詢監(jiān)測(cè)功能流程圖。

圖3 輪詢監(jiān)測(cè)流程圖

從圖中可以看出輪詢監(jiān)測(cè)的主要流程如下:1)系統(tǒng)開啟監(jiān)控,使用Java 語(yǔ)言的Properties 類掃描并解析properties 類型的配置文件以獲取目標(biāo)路徑。其中,配置文件的目的是便于將來因業(yè)務(wù)或者環(huán)境調(diào)整而導(dǎo)致的文件夾更改;2)使用Java語(yǔ)言的Map 對(duì)象將目標(biāo)路徑的所有文件加入到緩存變量中,其中Map 的key 值為文件的最后修改時(shí)間,Map的value 值為文件對(duì)象;3)計(jì)算當(dāng)前目標(biāo)路徑的文件數(shù)量,并與緩存變量的數(shù)量進(jìn)行對(duì)比,如果沒有新文件直接進(jìn)入延遲狀態(tài),如果有新文件,利用文件最后修改時(shí)間找出新文件;4)開辟線程對(duì)新文件進(jìn)行后續(xù)的功能處理,包括文件解析功能、數(shù)值計(jì)算功能和信息推送功能。

4.2 文件處理功能

在實(shí)時(shí)監(jiān)測(cè)系統(tǒng)有兩種類型的文件需要處理,包括實(shí)時(shí)光譜數(shù)據(jù)文件和模型文件。采集軟件所輸出的CSV 格式光譜數(shù)據(jù)具備“只讀”。在光譜數(shù)據(jù)的內(nèi)容中,第一列為波數(shù)值,第二列為光譜吸收度值,實(shí)時(shí)監(jiān)測(cè)系統(tǒng)只需要獲取第二列的吸收度信息。模型文件是通過基于Matlab 的iToolbox 工具建立定量模型,并將模型數(shù)據(jù)的特征區(qū)間和權(quán)重信息寫入到CSV格式文件中。

使用Java 語(yǔ)言對(duì)上述文件進(jìn)行處理的主要任務(wù)有:獲取文件夾中的文件列表、獲取文件格式、獲取文件的最終修改時(shí)間和獲取文件內(nèi)容。其中,Java 語(yǔ)言獲取文件的外部屬性可以通過File 類獲得,具體方法如表1 所示。Java 語(yǔ)言讀取文件的內(nèi)容信息則需要字節(jié)流FileInputStream 或者字符流Reader以及相關(guān)類。

表1 File類部分方法

通過表中的具體文件操作方法,對(duì)實(shí)時(shí)數(shù)據(jù)文件和模型文件進(jìn)行讀取。從圖4 所示文件讀取流程圖中,可以看出文件處理的流程為1)由于文件處理是通用程序,需要先判斷文件的類型,以進(jìn)入不同的文件讀取過程;2)在光譜數(shù)據(jù)文件的讀取中,由于文件夾可能混雜其他文件,因此需要采用表1中的getName方法判斷是否為CSV格式以及文件名內(nèi)容,排除非光譜數(shù)據(jù)文件;3)通過字節(jié)流FileInputStream 的readLine 方法逐行讀取文件的內(nèi)容;4)使用Java 語(yǔ)言的splite 方法對(duì)每行數(shù)據(jù)進(jìn)行逗號(hào)分隔符截取,從而讀取到的光譜吸收度信息進(jìn)行拼接并存儲(chǔ);5)在模型文件的讀取中,讀取第一行存儲(chǔ)的區(qū)間信息,并使用Java 語(yǔ)言的splite 方法辨識(shí)多個(gè)區(qū)間信息;6)讀取第二行存儲(chǔ)的權(quán)重信息,其中權(quán)重信息以逗號(hào)分割,依舊使用splite方法進(jìn)行截取,并保存為模型對(duì)象。

圖4 文件處理流程圖

4.3 信息推送功能

信息推送功能是在服務(wù)端將預(yù)測(cè)的數(shù)據(jù)主動(dòng)推送給當(dāng)前在線用戶。首先需要利用Websocke 技術(shù)建立客戶端和服務(wù)端的連接。在微信小程序客戶端,微信小程序使用wx.connectSocket(Object ob?ject)函數(shù)建立連接,其中Object所表示的信息有后端服務(wù)器wss 的地址url 和Http Header 請(qǐng)求頭。在服務(wù)端,Java 語(yǔ)言通過ServerEndpoint 注解來自定義Websocket類,并指定生命周期函數(shù)onOpen 建立連接。每個(gè)客戶端與服務(wù)端建立連接后,將用戶對(duì)象存儲(chǔ)到CopyOnWriteArraySet<MyWebSocket>中,其中MyWebSocket為自定的連接對(duì)象。

連接建立成功后,對(duì)實(shí)時(shí)數(shù)據(jù)進(jìn)行計(jì)算,并將預(yù)測(cè)結(jié)果推送,如圖5所示的信息推送流程圖。

從信息推送流程圖可以看出,信息推送的過程為1)獲取輪詢監(jiān)測(cè)功能得到的實(shí)時(shí)數(shù)據(jù)和文件處理后的模型數(shù)據(jù);2)使用Java 語(yǔ)言的Math 類計(jì)算預(yù)測(cè)結(jié)果;3)在獲取到的當(dāng)前用戶對(duì)象集合中,對(duì)存儲(chǔ)了用戶對(duì)象的CopyOnWriteArraySet 集合進(jìn)行遍歷;4)以Json 格式封裝預(yù)測(cè)結(jié)果,并包含光譜文件的最后修改時(shí)間、近紅外光譜的數(shù)據(jù);5)Java 語(yǔ)言將待發(fā)送的Json格式數(shù)據(jù)字符串化,并使用自定義連接對(duì)象MyWebSocket 類的sendMessage 方法推送信息。

圖5 信息推送流程圖

5 編碼實(shí)現(xiàn)與測(cè)試

5.1 頁(yè)面布局設(shè)計(jì)

實(shí)時(shí)監(jiān)測(cè)系統(tǒng)的微信小程序端共有三個(gè)頁(yè)面,包括數(shù)據(jù)預(yù)測(cè)的置頂式刷新頁(yè)面、預(yù)測(cè)結(jié)果的詳情頁(yè)面以及預(yù)測(cè)結(jié)果的歷史走勢(shì)頁(yè)面。其中,置頂式刷新頁(yè)面是由表格構(gòu)成的數(shù)據(jù)預(yù)測(cè)頁(yè)面,預(yù)測(cè)結(jié)果從上到下按照時(shí)間倒序排列。預(yù)測(cè)的詳情頁(yè)面除了預(yù)測(cè)時(shí)間和預(yù)測(cè)結(jié)果外,還包含了光譜的曲線信息。預(yù)測(cè)結(jié)果的歷時(shí)曲線頁(yè)面是將開啟在線監(jiān)控到當(dāng)前時(shí)刻的所有預(yù)測(cè)結(jié)果通過折線圖的形式展示。

如圖6 所示是微信小程序的界面設(shè)計(jì)圖。其中,標(biāo)題為“置頂式”所在界面是系統(tǒng)進(jìn)入的首頁(yè)。在首頁(yè)的最上方是監(jiān)測(cè)系統(tǒng)開啟監(jiān)測(cè)功能的按鈕。首頁(yè)的最下方是導(dǎo)航欄,包括了當(dāng)前置頂式頁(yè)面和歷史曲線頁(yè)面的選項(xiàng)卡。在監(jiān)測(cè)按鈕和導(dǎo)航欄之間是數(shù)據(jù)預(yù)測(cè)的表格數(shù)據(jù),其排列順序按照時(shí)間倒序的結(jié)果展示在表格中。詳情頁(yè)面作為置頂式刷新頁(yè)面的二級(jí)頁(yè)面,是通過點(diǎn)擊表格預(yù)測(cè)結(jié)果的單個(gè)條目進(jìn)入。詳情頁(yè)面更詳細(xì)的介紹預(yù)測(cè)信息和光譜的曲線圖。通過點(diǎn)擊首頁(yè)的導(dǎo)航2 按鈕,可以進(jìn)入到歷史光譜數(shù)據(jù)的預(yù)測(cè)走勢(shì)頁(yè)面。預(yù)測(cè)走勢(shì)頁(yè)面展示了從開啟監(jiān)測(cè)功能到當(dāng)前數(shù)據(jù)預(yù)測(cè)的所有數(shù)據(jù)預(yù)測(cè)走勢(shì)圖。

圖6 微信小程序界面設(shè)計(jì)圖

5.2 實(shí)時(shí)數(shù)據(jù)預(yù)測(cè)頁(yè)面測(cè)試

根據(jù)圖6 的頁(yè)面布局,首先設(shè)計(jì)置頂式刷新頁(yè)面和詳情頁(yè)面。如圖7(a)所示的置頂式刷新頁(yè)面中,通過點(diǎn)擊首頁(yè)上方的在線監(jiān)測(cè)狀態(tài)欄,可以向后端服務(wù)器發(fā)送Websocket 連接請(qǐng)求,在等待連接的時(shí)間內(nèi)如果連接失敗按鈕直接跳到關(guān)閉狀態(tài),狀態(tài)顯示“未開啟”,如果連接成功顯示“已開啟”。狀態(tài)欄的下方是數(shù)據(jù)列表,從上至下按照時(shí)間倒序排列。當(dāng)新的預(yù)測(cè)結(jié)果推送到微信小程序頁(yè)面時(shí),數(shù)據(jù)將置頂?shù)阶钌戏轿恢茫渌A(yù)測(cè)結(jié)果下移。通過點(diǎn)擊單個(gè)預(yù)測(cè)條目,可以進(jìn)入到圖7(b)的預(yù)測(cè)結(jié)果詳情頁(yè)面中。詳情頁(yè)面以更加美觀的排版展示預(yù)測(cè)結(jié)果,并且新增光譜數(shù)據(jù)曲線圖。

圖7 數(shù)據(jù)預(yù)測(cè)頁(yè)面測(cè)試

5.3 預(yù)測(cè)數(shù)據(jù)的歷史曲線頁(yè)面測(cè)試

通過點(diǎn)擊圖7 中導(dǎo)航欄的“過程”選擇卡進(jìn)入如圖8 所示的預(yù)測(cè)結(jié)果的歷史曲線頁(yè)面。歷史曲線是通過微信小程序端進(jìn)行收集,具體過程為1)在線用戶開啟監(jiān)測(cè)功能后,記錄每次的預(yù)測(cè)結(jié)果,為了讓數(shù)據(jù)在頁(yè)面間傳遞,微信小程序?qū)?shù)據(jù)存儲(chǔ)在app.js文件的全局變量globaldata中;2)當(dāng)用戶進(jìn)入歷史數(shù)據(jù)曲線頁(yè)面后,獲取globaldata 的全部數(shù)據(jù),并使用Echarts 插件繪制歷史預(yù)測(cè)結(jié)果的折線圖。

圖8 歷史數(shù)據(jù)曲線頁(yè)面測(cè)試

在微信小程序的數(shù)據(jù)傳遞中,服務(wù)端通過發(fā)送Json 格式的字符串傳遞到微信小程序端。微信小程序通過JSON.parse 方法將Json 字符串轉(zhuǎn)換成Json 對(duì)象,并通過this.setData 方法渲染到頁(yè)面數(shù)據(jù)Data中。當(dāng)進(jìn)入到歷史數(shù)據(jù)頁(yè)面后,通過生命周期函數(shù)onLoad 讀取全局變量,進(jìn)而使用Echarts 繪制圖表完成折線圖渲染。當(dāng)新數(shù)據(jù)傳遞到微信小程序端,微信小程序?qū)⑿骂A(yù)測(cè)結(jié)果拼接到數(shù)組末端,重新繪制歷史曲線,完成數(shù)據(jù)的動(dòng)態(tài)變化。

6 結(jié)語(yǔ)

長(zhǎng)久以來,近紅外光譜技術(shù)在發(fā)酵過程監(jiān)測(cè)的應(yīng)用大多為桌面端系統(tǒng)。本文在經(jīng)典監(jiān)控系統(tǒng)的基礎(chǔ)上,結(jié)合當(dāng)前快速發(fā)展的互聯(lián)網(wǎng)技術(shù),設(shè)計(jì)并實(shí)現(xiàn)了一套基于微信小程序技術(shù)的實(shí)時(shí)監(jiān)測(cè)系統(tǒng)。系統(tǒng)采用微信小程序技術(shù)作為客戶端進(jìn)行快速開發(fā)和快速應(yīng)用,采用Websocket 技術(shù)進(jìn)行客戶端與服務(wù)端的高效數(shù)據(jù)推送,采用Java語(yǔ)言開發(fā)服務(wù)端應(yīng)用程序,以提高系統(tǒng)的跨平臺(tái)能力。經(jīng)過最后的編碼與測(cè)試表明,系統(tǒng)可以滿足發(fā)酵過程參數(shù)的遠(yuǎn)程實(shí)時(shí)監(jiān)測(cè),為近紅外光譜技術(shù)的遠(yuǎn)程監(jiān)測(cè)應(yīng)用提供完整的軟件系統(tǒng)和具體的解決方案。

猜你喜歡
頁(yè)面程序微信
大狗熊在睡覺
刷新生活的頁(yè)面
試論我國(guó)未決羈押程序的立法完善
“程序猿”的生活什么樣
英國(guó)與歐盟正式啟動(dòng)“離婚”程序程序
微信
創(chuàng)衛(wèi)暗訪程序有待改進(jìn)
微信
微信
微信
主站蜘蛛池模板: 中文字幕亚洲乱码熟女1区2区| 亚洲第一区欧美国产综合| 亚洲天堂.com| 久久香蕉国产线| 中文字幕天无码久久精品视频免费| 国产女人18水真多毛片18精品 | 中文字幕在线观| 无码在线激情片| 国产69囗曝护士吞精在线视频| 18禁高潮出水呻吟娇喘蜜芽 | 欧美在线一二区| 老司国产精品视频91| 亚洲国产天堂久久九九九| 国产00高中生在线播放| 日韩无码一二三区| 美女潮喷出白浆在线观看视频| 高清无码手机在线观看| 国产高颜值露脸在线观看| 成人中文字幕在线| 97se亚洲综合在线天天| 久久这里只有精品2| 国产美女自慰在线观看| 久久久久久久久久国产精品| 欧美人与牲动交a欧美精品| 四虎成人精品| 天堂成人av| 国产美女主播一级成人毛片| 欧美国产成人在线| 色综合久久综合网| 伊人久久大香线蕉综合影视| 日韩av电影一区二区三区四区| 日韩二区三区无| 在线看AV天堂| 国产成人精品一区二区免费看京| 99热这里只有精品国产99| 天天躁夜夜躁狠狠躁躁88| 久久99国产精品成人欧美| 欧美亚洲国产精品第一页| 色综合天天娱乐综合网| 人妻91无码色偷偷色噜噜噜| 国产高清无码麻豆精品| 国禁国产you女视频网站| 在线视频精品一区| 国产另类视频| 欧美午夜一区| 国产精品成人一区二区| 丰满人妻一区二区三区视频| 中文字幕在线视频免费| 91小视频在线播放| 免费在线一区| 五月婷婷丁香综合| 国内精品91| 人妻精品全国免费视频| 亚洲视频三级| 亚洲婷婷六月| 一级毛片免费播放视频| 在线欧美日韩国产| 国产欧美综合在线观看第七页| 欧美精品H在线播放| 国模粉嫩小泬视频在线观看| 久久亚洲日本不卡一区二区| 狠狠亚洲婷婷综合色香| 5388国产亚洲欧美在线观看| 人妖无码第一页| 国产亚洲精品自在线| 久久久久久国产精品mv| 日本国产精品| 久草视频中文| 亚洲最大看欧美片网站地址| 人妻精品久久久无码区色视| 一级一级一片免费| 欧美h在线观看| 国产精品永久免费嫩草研究院| 亚洲欧美h| 成人综合网址| 人妻丰满熟妇αv无码| 亚洲欧美日韩视频一区| 久久久精品无码一区二区三区| 久久五月天国产自| 欧美精品三级在线| 亚洲性色永久网址| 中文字幕在线播放不卡|