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

數(shù)字城管防汛決策支持系統(tǒng)的設(shè)計(jì)與開發(fā)

2013-04-29 00:00:00王劍秋陳觀林李真楠
計(jì)算機(jī)時(shí)代 2013年2期

摘 要: 結(jié)合城市防汛預(yù)警決策的信息化建設(shè),開發(fā)了數(shù)字城管防汛決策支持系統(tǒng)。介紹了開發(fā)該系統(tǒng)的意義、所使用的關(guān)鍵性技術(shù)、設(shè)計(jì)模式和開發(fā)工具。該系統(tǒng)應(yīng)用了基于MVC模式的SSH2框架技術(shù),以及目前主流的JavaScript技術(shù)等。分析和展望了數(shù)字城管防汛決策支持系統(tǒng)的使用前景。

關(guān)鍵詞: 數(shù)字城管; 防汛決策支持系統(tǒng); J2EE; SSH2框架; Oracle

中圖分類號(hào):TP31 文獻(xiàn)標(biāo)志碼:B 文章編號(hào):1006-8228(2013)02-63-05

Design and development of flood control decision-making support system for digital urban management

Wang Jianqiu1, Chen Guanlin2, Li Zhennan2

(1. China Telecom Corporation Ltd. Hangzhou Branch, Hangzhou, Zhejiang 310003, China;

2. School of Computer and Computing Science, Zhejiang University City College)

Abstract: With deepening of city-oriented development, the impact of floods become more serious so the information construction of flood control decision-making support system has been paid more and more attention. The way of how to use the J2EE platform with SSH2 (the Struts2+Spring+Hibernate) framework for the development of flood control decision-making support system is introduced, including the significance of developing the system, the key technology of the system, the system design model, development tools. SSH2 framework technology with MVC pattern and the current mainstream JavaScript technology are implemented in this system. A summarized analysis of how to better meet the needs of the flood control decision-making support system is presented for digital urban management.

Key words: digital urban management; flood control decision-making support system; J2EE; SSH2; Oracle

0 引言

數(shù)字城管意為數(shù)字化城市管理,是指用信息化手段和移動(dòng)通信技術(shù)手段來處理、分析和管理整個(gè)城市的所有城管部件和城管事件信息,是促進(jìn)城市管理現(xiàn)代化的信息化措施。數(shù)字城管是現(xiàn)代城市的發(fā)展趨勢(shì),也是城市管理走向現(xiàn)代化的必然要求[1]。

近年來,許多國(guó)外發(fā)達(dá)城市相繼開展了“數(shù)字城管”的研究和實(shí)踐,實(shí)施“數(shù)字城管”也已成為中國(guó)城市管理建設(shè)的熱點(diǎn)。據(jù)統(tǒng)計(jì),目前全國(guó)已有百余個(gè)城市已建設(shè)或正在推行數(shù)字化城市管理[2]。以浙江省杭州市為例,杭州市于2006年8月順利通過國(guó)家建設(shè)部的驗(yàn)收,成為首批十個(gè)“數(shù)字城管”試點(diǎn)城市中第一個(gè)通過驗(yàn)收的城市,其創(chuàng)新模式被冠名為“杭州模式”[3];至2010年底,杭州市已建成覆蓋城市市域的市轄城域數(shù)字城管統(tǒng)一平臺(tái)。

隨著城市化進(jìn)程的推進(jìn),洪水對(duì)城市的影響日益嚴(yán)重,城市防汛預(yù)警決策的信息化建設(shè)日益受到人們的重視[4]。同時(shí),技術(shù)發(fā)展與應(yīng)用的不斷升級(jí)使得現(xiàn)有的決策支持系統(tǒng)已經(jīng)不能滿足各行各業(yè)解決復(fù)雜空間決策問題的需要,空間決策支持系統(tǒng)作為GIS與DSS相結(jié)合發(fā)展的趨勢(shì),已在國(guó)內(nèi)外引起越來越廣泛的關(guān)注[5]。本文介紹一個(gè)面向數(shù)字城管的防汛決策支持系統(tǒng)的設(shè)計(jì)和開發(fā),通過對(duì)城市河道、水庫(kù)等的防汛數(shù)據(jù)進(jìn)行綜合收集和整理,實(shí)現(xiàn)對(duì)重點(diǎn)區(qū)域的有效監(jiān)控;建立和優(yōu)化防汛決策的基礎(chǔ)數(shù)據(jù)庫(kù),為城市的防汛減災(zāi)決策提供支持。在設(shè)計(jì)和開發(fā)面向數(shù)字城管的防汛決策支持系統(tǒng)過程中,主要運(yùn)用Java EE平臺(tái)技術(shù)結(jié)合SSH2(Spring+Struts2+Hibernate)框架,采用MVC架構(gòu)實(shí)現(xiàn)數(shù)字城管防汛決策支持平臺(tái),同時(shí),還應(yīng)用了許多其他的主流技術(shù),包括Java Script,AJAX,JQuery,Open Flash Chart,Oracle數(shù)據(jù)庫(kù)等。

1 系統(tǒng)總體設(shè)計(jì)與分析

1.1 系統(tǒng)總體需求設(shè)計(jì)

設(shè)計(jì)和開發(fā)一個(gè)面向數(shù)字城管的防汛決策支持系統(tǒng),需要通過對(duì)城市河道、水庫(kù)等的防汛數(shù)據(jù)進(jìn)行綜合收集和整理,以實(shí)現(xiàn)對(duì)重點(diǎn)區(qū)域的有效監(jiān)控,并建立和優(yōu)化防汛決策的基礎(chǔ)數(shù)據(jù)庫(kù)。系統(tǒng)功能模塊主要包括系統(tǒng)管理、防汛信息獲取、實(shí)時(shí)水情分析、防汛預(yù)警、統(tǒng)計(jì)查詢等。要求完成系統(tǒng)的總體設(shè)計(jì),對(duì)系統(tǒng)進(jìn)行充分的需求調(diào)研,并在此基礎(chǔ)上認(rèn)真進(jìn)行系統(tǒng)的數(shù)據(jù)庫(kù)設(shè)計(jì)和功能模塊設(shè)計(jì),重點(diǎn)完成分析模型和分類統(tǒng)計(jì)模塊,提供方便的查詢統(tǒng)計(jì)功能。

1.2 系統(tǒng)功能框架

數(shù)字城管防汛決策支持系統(tǒng)框架如圖1所示。

[數(shù)字城管防汛決策支持系統(tǒng)][系統(tǒng)管理][防汛信息獲取][實(shí)時(shí)水情分析][防汛預(yù)警][統(tǒng)計(jì)查詢] [系統(tǒng)基本信息管理][用戶管理] [表格導(dǎo)入][手工輸入][實(shí)時(shí)水情報(bào)表][實(shí)時(shí)水情圖示][預(yù)警測(cè)站分析][水情信息查詢統(tǒng)計(jì)][測(cè)站水位過程查詢]

圖1 數(shù)字城管防汛決策支持系統(tǒng)框架圖

數(shù)字城管防汛決策支持系統(tǒng)分為五個(gè)模塊。

⑴ 系統(tǒng)管理:主要實(shí)現(xiàn)用戶管理和系統(tǒng)基本信息的管理。其中用戶管理包括了用戶的創(chuàng)建、修改、刪除和密碼重置,系統(tǒng)基本信息管理包括了地區(qū)、檢測(cè)站等系統(tǒng)基本信息的增刪改。

⑵ 防汛信息獲取:將各個(gè)監(jiān)測(cè)站監(jiān)測(cè)到的水位數(shù)據(jù)導(dǎo)入到系統(tǒng)中,是本系統(tǒng)數(shù)據(jù)的主要來源。導(dǎo)入方法包括手工輸入和現(xiàn)成表格的導(dǎo)入。

⑶ 實(shí)時(shí)水情分析:將各個(gè)測(cè)站監(jiān)測(cè)到的最新的水位數(shù)據(jù)以各種形式展現(xiàn)給用戶。展現(xiàn)方式主要包括了圖示、表格展示。

⑷ 防汛預(yù)警:利用之前的數(shù)據(jù)通過算法預(yù)測(cè)出某天的水位數(shù)據(jù),給防汛的決策提供一定的數(shù)據(jù)支持。

⑸ 統(tǒng)計(jì)查詢:利用系統(tǒng)采集到的數(shù)據(jù),統(tǒng)計(jì)一段時(shí)間內(nèi)的水情水位信息,并以圖表表格等形式展現(xiàn)給用戶。

1.3 系統(tǒng)數(shù)據(jù)庫(kù)設(shè)計(jì)

系統(tǒng)數(shù)據(jù)庫(kù)包含了水體,地區(qū),檢測(cè)點(diǎn),水位信息,用戶五張表,如圖2所示。

圖2 系統(tǒng)數(shù)據(jù)庫(kù)表結(jié)構(gòu)

2 系統(tǒng)詳細(xì)設(shè)計(jì)與實(shí)現(xiàn)

2.1 用戶登錄功能的實(shí)現(xiàn)

系統(tǒng)初始的登錄界面如圖3所示。本系統(tǒng)擁有權(quán)限控制功能,主要有用戶管理、系統(tǒng)管理、信息錄入等權(quán)限,每個(gè)用戶都可以逐個(gè)分配權(quán)限點(diǎn)。同時(shí),管理員可以給其他用戶分配或取消權(quán)限。

圖3 登錄界面

處理登錄請(qǐng)求的后臺(tái)關(guān)鍵代碼如下:

public class UserAction extends PagealbeAction {

@Autowired

private UserService serivce;

/**

* 用戶登錄

*/

public String login() {

AppUser u=1;

try {

u=serivce.login(user.getLoginName(),user.getLoginPwd());

setLoginUser(u);

return \"home\";

} catch (MessageException e) {

setSessionErrorMessage(e.getMessage());

return LOGIN;

}

}

(其他功能的代碼省略)

}

2.2 防汛信息獲取的設(shè)計(jì)和實(shí)現(xiàn)

防汛信息的獲取,主要是通過手工輸入測(cè)站的水位數(shù)據(jù)或者將Excel表格中的水位數(shù)據(jù)導(dǎo)入系統(tǒng)來實(shí)現(xiàn)的,界面如圖4和圖5所示。手工輸入主要是監(jiān)測(cè)員根據(jù)測(cè)得的數(shù)據(jù),將水位記錄逐一錄入到系統(tǒng)中,效率較低,而表格導(dǎo)入則可以將監(jiān)測(cè)數(shù)據(jù)批量導(dǎo)入到系統(tǒng)中,從而提高數(shù)據(jù)獲取的效率。

圖4 手工輸入水位信息界面

圖5 從Excel表格中導(dǎo)入水位信息界面

⑴ 手工錄入的實(shí)現(xiàn)

手工錄入主要功能是將網(wǎng)頁(yè)表單中的數(shù)據(jù)添加到數(shù)據(jù)庫(kù)中,因此實(shí)現(xiàn)比較簡(jiǎn)單,其Struts的Action的關(guān)鍵代碼如下:

public class WaterLevelAction extends PagealbeAction

{

@Autowired

private WaterLevelService service;

@Autowired

private StationService stationService;

@Autowired

private UserService userService;

private WaterLevel model=new WaterLevel();

private int stationId=-1;

private int monitoreeId=-1;

private WaterLevelQueryArg arg=new WaterLevelQueryArg();

private File excel;

private String excelContentType;

private String excelFileName;

/**

* 手工輸入

*/

public String handInput() {

model.setId(1);

model.setStation(new Station(stationId));

model.setMonitoree(new AppUser(getLoginUser().getId()));

service.saveOrUpdate(model);

getRequest().setAttribute(\"resultMessage\", \"錄入成功\");

return \"view\";

}

(其他代碼省略)

}

⑵ Excel導(dǎo)入數(shù)據(jù)的實(shí)現(xiàn)

表格導(dǎo)入主要過程包括了文件上傳,Excel文件遍歷和數(shù)據(jù)庫(kù)記錄插入,其Struts的Action的關(guān)鍵代碼如下:

public class WaterLevelAction extends PagealbeAction

{

/**

* 從表格中導(dǎo)入

*/

public String excelImport() throws Exception {

final Integer[] count={ 0 };

try {

ExcelTableReader reader=new ExcelTableReader(excel);

reader.process(new ExcelRecordProcessor() {

@Override

public void ProcessRecord(Cell[] columns) {

WaterLevel w=new WaterLevel();

// 初始化一個(gè)實(shí)例

w.setId(1);

w.setMonitoree(getLoginUser());

w.setStation(new Station(new Integer(columns[0]

.getContents())));

w.setTime(ExcelTableReader.getDate(columns[1]));

w.setWaterLevel(Double.valueOf(columns[2].getContents()));

// 保存

service.saveOrUpdate(w);

(其他代碼省略)

}

2.3 實(shí)時(shí)水情分析的設(shè)計(jì)和實(shí)現(xiàn)

實(shí)時(shí)水情分析,是指利用已有的最新水情數(shù)據(jù),將當(dāng)前的實(shí)時(shí)水情及其分析結(jié)果用圖、表的形式展現(xiàn)出來,方便用戶掌控當(dāng)前的實(shí)時(shí)水情。實(shí)時(shí)數(shù)據(jù)的展現(xiàn)形式主要包括圖示和報(bào)表顯示。圖示即標(biāo)明每個(gè)檢測(cè)站在地圖中的位置及當(dāng)前的狀態(tài)信息,讓用戶對(duì)當(dāng)前的水情在地理上的分布有一個(gè)直觀的認(rèn)識(shí),如圖6所示。而報(bào)表顯示則將水庫(kù)和河道的實(shí)時(shí)信息通過表格的形式展示給用戶,表格中包括水情的詳細(xì)統(tǒng)計(jì)數(shù)據(jù),如圖7所示。

圖6 實(shí)時(shí)水情圖示

圖7 實(shí)時(shí)水情報(bào)表

水情圖示功能是利用百度地圖的API來顯示地圖。百度地圖API是一套應(yīng)用程序接口,通過該API,即可在應(yīng)用中構(gòu)建功能豐富、個(gè)性化的、高效的地圖功能,其中包含了構(gòu)建地圖基本功能的多個(gè)接口,提供了諸如位置搜索、周邊查詢、出行路線規(guī)劃等功能服務(wù)。本系統(tǒng)主要利用了API中地圖顯示功能,并將測(cè)站的信息以覆蓋物(覆蓋物是百度地圖API中疊加或覆蓋到地圖中的內(nèi)容)的形式顯示出來。載入地圖并初始化的JS代碼如下:

var map;

$(document).ready(function() {

// 創(chuàng)建地圖實(shí)例

map=new BMap.Map(\"container\");

// 禁用雙擊放大

map.disableDoubleClickZoom();

// 添加導(dǎo)航控件

map.addControl(new BMap.NavigationControl({

type:BMAP_NAVIGATION_CONTROL_LARGE

}));

// 添加地圖類型控件

map.addControl(new BMap.MapTypeControl());

// 添加圖例控件

map.addControl(new CutLineControl());

// 添加地區(qū)控件

map.addControl(new RegionControl());

// 初始化地圖,設(shè)置中心點(diǎn)坐標(biāo)和地圖級(jí)別

map.centerAndZoom('杭州');

// 用于保存創(chuàng)建的站點(diǎn)列表

var stationMarkers=new Array();

// 從服務(wù)器獲取水位信息并更新顯示

function getAndUpdateStations() {

$.getJSON(\"../waterLevel/getAllLatest.action\",function(data) {

var list=stationMarkers;

var levels=data.list;

var i, j;

for(i=0; i

list[i].level=levels[i];

list[i].updateDiv();

}

});

}

// 獲取站點(diǎn)列表并加載

$.getJSON(\"../station/getAll.action\", function(data) {

// 加載返回的站點(diǎn)列表

for(var i=0; i

var lng=data.list[i].lng;

var lat=data.list[i].lat;

var marker=new StationMarker(new BMap.Point(lng,lat),

data.list[i])

stationMarkers[i]=marker;

map.addOverlay(marker);

marker.waterLevel='';

marker.updateDiv();

}

// 獲取水位信息并更新顯示

getAndUpdateStations();

// 定時(shí)器:獲取水位信息并更新顯示

$(document).everyTime( 60*1000, function() {

getAndUpdateStations();

});

});

});

(其余功能代碼省略)

2.4 實(shí)時(shí)水情分析的設(shè)計(jì)和實(shí)現(xiàn)

統(tǒng)計(jì)查詢是指利用系統(tǒng)采集到的數(shù)據(jù),統(tǒng)計(jì)一段時(shí)間內(nèi)的水情水位信息,并以圖、表等形式展現(xiàn)給用戶。主要界面如圖8和圖9所示。

圖8 某個(gè)測(cè)站在一段時(shí)間內(nèi)的統(tǒng)計(jì)信息

圖9 在一段時(shí)間內(nèi)的水情的統(tǒng)計(jì)報(bào)表

統(tǒng)計(jì)查詢中涉及到許多不同類型信息的統(tǒng)計(jì),這里以一個(gè)時(shí)間段內(nèi)的每個(gè)時(shí)間單位的平均水位為例。為了防止系統(tǒng)中單純?yōu)閭鬟f數(shù)據(jù)的Java Bean數(shù)量的無(wú)限制地增長(zhǎng),我們用了Map(映射)代替Java Bean來返回查詢的結(jié)果。其主要代碼略。

2.5 防汛預(yù)警的設(shè)計(jì)和實(shí)現(xiàn)

防汛預(yù)警,主要是利用之前的數(shù)據(jù)通過算法預(yù)測(cè)出某天的水位數(shù)據(jù),給防汛的決策提供一定的數(shù)據(jù)支持,其主要界面如圖10所示。

圖10 在一段時(shí)間內(nèi)的水情的統(tǒng)計(jì)報(bào)表

預(yù)測(cè)算法如下:

public class PredectionService {

/**

* 根據(jù)之間的數(shù)據(jù)預(yù)測(cè)下一天的數(shù)據(jù)

*

* @param list

* @param algorithm

* @return

* @throws MessageException

*/

public Map predict(List>

list, String algorithm) throws MessageException {

// 變量聲明

double result=0;

int n=list.size();

double[] x=new double[n];

// 初始化原始數(shù)組

int i=n-1;

for (Mapm:list) {

x[i--]=(Double) m.get(\"level\");

}

// 調(diào)用相應(yīng)算法

try {

Method method=this.getClass().getMethod(algorithm,

double[].class);

result=(Double) method.invoke(this, x);

} catch (Exception e) {

throw new MessageException(\"不支持的算法\");

}

// 添加到結(jié)果中

Map t=list.get(list.size()-1);

t=new HashMap(t);

try {

SimpleDateFormat sdf=new SimpleDateFormat

(\"yyyy-MM-dd\");

Date date=sdf.parse((String) t.get(\"time\"));

date=new Date(date.getTime()+24L*60*60*1000);

t.put(\"time\", sdf.format(date));

t.put(\"level\", result);

t.put(\"isPrediction\", true);

} catch (ParseException e) {

e.printStackTrace();

}

// 返回

return t;

}

/**

* 平均算法

*

* @param x

* @return

*/

public Double average(double[] x) {

double p=0;

for (double a:x) {

p+=a;

}

return p/x.length;

}

/**

* 插值算法

*

* @param x

* @return

*/

public Double interpolation(double[] x) {

double p=0;

int n=x.length;

double avg=average(x);

if (n==7) {

p=x[6]-7*x[5]+21*x[4]-35*x[3]+35*x[2]-21*x[1]+7*x[0];

} else if (n==6) {

p=-x[5]+6*x[4]-15*x[3]+20*x[2]-15*x[1]+6*x[0];

} else if (n==5) {

p=1*x[4]-5*x[3]+10*x[2]-10*x[1]+5*x[0];

} else if (n==4) {

p=-1*x[3]+4*x[2]-6*x[1]+4*x[0];

} else if (n==3) {

p=1*x[2]-3*x[1]+3*x[0];

} else if (n==2) {

p=1*x[1]-2*x[0];

} else if (n==1) {

p= [0];

}

if (p<0||p>2*avg||pg/2) {

double xx[]=new double[n-1];

for (int i=0; i

xx[i]=x[i];

}

return interpolation(xx);

}

return p;

}

}

3 結(jié)束語(yǔ)

面向數(shù)字城管的防汛決策支持系統(tǒng)平臺(tái)是當(dāng)今數(shù)字城管建設(shè)的重要組成部分,通過對(duì)城市河道、水庫(kù)等防汛數(shù)據(jù)進(jìn)行綜合收集和整理,實(shí)現(xiàn)對(duì)重點(diǎn)區(qū)域的有效監(jiān)控,建立和優(yōu)化防汛決策的基礎(chǔ)數(shù)據(jù)庫(kù),可為城市的防汛減災(zāi)決策提供支持。面向數(shù)字城管的防汛決策支持系統(tǒng),有效地利用數(shù)字城管平臺(tái)積累的數(shù)據(jù),并在此基礎(chǔ)上進(jìn)行數(shù)據(jù)分析,提取有價(jià)值的信息,可進(jìn)一步促進(jìn)數(shù)字城管應(yīng)用的開發(fā)利用和知識(shí)發(fā)現(xiàn),提升城市管理的水平和效能。面向數(shù)字城管的防汛決策支持系統(tǒng)使用當(dāng)今主流的Java EE技術(shù)設(shè)計(jì)開發(fā),以O(shè)racle作為其數(shù)據(jù)庫(kù)系統(tǒng),以Hibernate作為持久層管理,用Spring作依賴注入,使用Struts2作為控制層。系統(tǒng)充分展示了MVC設(shè)計(jì)模式的運(yùn)用。B/S架構(gòu)使得該系統(tǒng)可以在任何有瀏覽器而無(wú)需JRE支持的系統(tǒng)上直接使用。

參考文獻(xiàn):

[1] 余孟澤,趙美英.打造“全省示范,全國(guó)領(lǐng)先”數(shù)字城管[J].城鄉(xiāng)建設(shè),2006.8:53-54

[2] 河南省洛陽(yáng)市文明辦,洛陽(yáng)以數(shù)字化城市管理給力文明城市創(chuàng)建,http://archive.wenming.cn/gzyd/2010-11/15/content_21390931.htm.

[3] 陳觀林,李圣權(quán),周魯耀.杭州市“數(shù)字城管”現(xiàn)狀及發(fā)展對(duì)策研究[J].情報(bào)雜志,2009.28(3):43-45

[4] 賈超,徐幫樹,韓永軍等.濟(jì)南城市防汛預(yù)警決策支持系統(tǒng)研究[J].中國(guó)水利,2010.5:42-44

[5] 田麗秋.水環(huán)境空間決策支持系統(tǒng)的研究與實(shí)現(xiàn)[J].計(jì)算機(jī)光盤軟件應(yīng)用,2011.3:110-110

主站蜘蛛池模板: 国产精品三级专区| 日韩小视频在线播放| 国产理论一区| 青青操国产| 青草娱乐极品免费视频| 老司机精品一区在线视频| 亚洲性日韩精品一区二区| 国产H片无码不卡在线视频 | 亚洲综合片| 久久天天躁夜夜躁狠狠| 国产第一页第二页| 在线无码九区| 国产永久在线观看| 成人精品区| 国产菊爆视频在线观看| 久久a级片| 在线欧美国产| 狠狠操夜夜爽| 99久久精彩视频| 国产欧美视频在线观看| 色老头综合网| 亚洲欧洲日产国产无码AV| 无码电影在线观看| 91青青视频| 欧美国产日韩在线观看| 在线观看的黄网| 亚洲中文字幕久久无码精品A| 天天色综网| 国产97公开成人免费视频| 色婷婷在线播放| 一级做a爰片久久免费| 国产成人喷潮在线观看| 免费在线国产一区二区三区精品 | 无码精品国产VA在线观看DVD| 一本无码在线观看| 亚洲成人一区二区| 久久中文无码精品| 国产黑丝一区| 亚洲美女视频一区| 久久久久久尹人网香蕉| 性视频久久| 久久综合伊人77777| 国产色爱av资源综合区| 欧美精品亚洲日韩a| 在线视频一区二区三区不卡| 日韩在线播放中文字幕| 亚洲综合精品香蕉久久网| 狠狠色噜噜狠狠狠狠色综合久| 国产打屁股免费区网站| 国产视频欧美| 人妻无码中文字幕第一区| 制服丝袜国产精品| 日韩色图在线观看| 亚洲福利片无码最新在线播放| 免费中文字幕一级毛片| 国产乱子伦手机在线| 亚洲成人在线网| 成人免费午夜视频| 国产日韩精品欧美一区喷| 一个色综合久久| 茄子视频毛片免费观看| 波多野结衣一区二区三区四区视频| 国产亚卅精品无码| 99re视频在线| 国产精品999在线| 亚洲第一区精品日韩在线播放| 国产一级毛片在线| 国产精品流白浆在线观看| 国产香蕉97碰碰视频VA碰碰看| 国产无码精品在线播放| 久久亚洲国产一区二区| 免费一级全黄少妇性色生活片| 中文字幕日韩欧美| 四虎在线观看视频高清无码| 国内a级毛片| 色婷婷在线播放| 十八禁美女裸体网站| 国产9191精品免费观看| 精品色综合| 日韩二区三区| 亚洲欧洲日韩国产综合在线二区| 国产成人狂喷潮在线观看2345|