国产成人欧美一区二区三区vr_久久国产精品人人爽人人爽_国产精品永久免费播放_肉欲啪啪a∨无码精品一区二区_国产超短裙jk丝袜在线_亚洲AV片高清资源在线观看_国模无码一区二区三区久久_国产成年人未进视频_中文字幕无码精品夜_一区二区三区在线视频免费看_亚洲成AV人片在线观看网址_日本激情视频高清综合久久_亚洲午夜视频福利_国内大量揄拍人妻精品視_久久国产精品福利二区三区

ARTICLE DETAIL

資訊詳情

深耕商務(wù)建站與企業(yè)官網(wǎng)運(yùn)營(yíng)的一線實(shí)戰(zhàn)洞察。

基于SpringBoot的遙感影像共享系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)

基于SpringBoot的遙感影像共享系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn) 1. 項(xiàng)目概述與核心需求解析1.1 這個(gè)系統(tǒng)到底要解決什么問題每年到了畢業(yè)設(shè)計(jì)選題季總有不少同學(xué)來找我聊——說學(xué)校給的選題清單里躺著一個(gè)“遙感影像共享系統(tǒng)”看上去跟普通的圖書管理、商品管理系統(tǒng)差不多但真打開參考文獻(xiàn)一看又是柵格數(shù)據(jù)、又是金字塔切片、又是空間索引直接被嚇退。這個(gè)基于SpringBoot的遙感影像共享系統(tǒng)從編號(hào)后綴來看就是很典型的Java畢業(yè)設(shè)計(jì)項(xiàng)目但“共享”這兩個(gè)字意味著它不只是做簡(jiǎn)單的文件上傳下載更需要圍繞遙感影像的元數(shù)據(jù)管理、可視化預(yù)覽、權(quán)限控制等方面去設(shè)計(jì)這也是它區(qū)別于一般CRUD系統(tǒng)的關(guān)鍵所在。我說說我的理解。遙感影像這個(gè)東西本質(zhì)上是帶有地理空間屬性的大文件一張高分辨率影像動(dòng)輒幾百M(fèi)B甚至幾個(gè)GB直接扔到數(shù)據(jù)庫里肯定不合適也不可能像普通圖片一樣用img標(biāo)簽直接預(yù)覽。所以這個(gè)系統(tǒng)最核心的問題可以拆成三個(gè)第一影像文件怎么存、怎么管理既要控制存儲(chǔ)成本又要保證訪問效率第二影像的元數(shù)據(jù)拍攝時(shí)間、傳感器類型、覆蓋區(qū)域、分辨率、坐標(biāo)系等怎么結(jié)構(gòu)化存儲(chǔ)讓用戶能精準(zhǔn)檢索第三普通用戶能不能在線預(yù)覽大影像而不需要先把整個(gè)文件下載下來。如果把這三個(gè)問題想清楚了后面所有的編碼工作其實(shí)都是在圍繞它們做具體的方案落地。這個(gè)系統(tǒng)的目標(biāo)群體也很明確一類是產(chǎn)生數(shù)據(jù)的遙感數(shù)據(jù)生產(chǎn)部門比如某地理信息中心、某測(cè)繪實(shí)驗(yàn)室另一類是需要在科研或項(xiàng)目中用這些數(shù)據(jù)的高校師生、研究機(jī)構(gòu)。系統(tǒng)價(jià)值在于打通“影像數(shù)據(jù)入庫—元數(shù)據(jù)編目—在線檢索—權(quán)限化下載/預(yù)覽”的完整鏈路而不是讓數(shù)據(jù)躺在硬盤里成為孤島。1.2 關(guān)鍵詞拆解與邊界劃定我先把這個(gè)項(xiàng)目可能涉及的關(guān)鍵詞和技術(shù)邊界梳理一下方便后面每個(gè)章節(jié)按圖索驥關(guān)鍵詞對(duì)應(yīng)模塊說明遙感影像數(shù)據(jù)管理核心支持TIFF、GeoTIFF、IMG等常見柵格格式共享共享與權(quán)限包括登錄認(rèn)證、角色授權(quán)、影像公開/私有/指定共享SpringBoot后端技術(shù)基座負(fù)責(zé)接口層、業(yè)務(wù)層、持久層的整體架構(gòu)元數(shù)據(jù)檢索與管理拍攝日期、傳感器、云量、坐標(biāo)范圍等結(jié)構(gòu)化字段在線預(yù)覽可視化模塊提供影像縮略圖、瓦片加載、基礎(chǔ)地圖交互特別提醒一點(diǎn)畢業(yè)設(shè)計(jì)里做遙感相關(guān)系統(tǒng)的同學(xué)很容易被“空間分析”這個(gè)方向帶偏非要在系統(tǒng)里塞一堆GIS算法進(jìn)去比如NDVI植被指數(shù)計(jì)算、影像分類、圖形疊加分析。我見過好幾個(gè)項(xiàng)目做到最后論文寫得像算法研究系統(tǒng)本身連最基本的影像上傳和檢索都卡頓答辯時(shí)被老師一問數(shù)據(jù)流就答不上來。這個(gè)項(xiàng)目名稱里“共享系統(tǒng)”四個(gè)字已經(jīng)劃定了邊界——核心是管理與共享不是算法分析??臻g分析可以做但只應(yīng)該作為附屬的小亮點(diǎn)絕不能搶了主線。2. 整體框架設(shè)計(jì)與技術(shù)選型思路2.1 為什么SpringBoot是畢業(yè)設(shè)計(jì)的最佳選擇先聊框架選型?,F(xiàn)在后端技術(shù)五花八門有人用Python的Django、Flask還有人用Go的Gin但Java生態(tài)的SpringBoot依然是這個(gè)項(xiàng)目最穩(wěn)妥的主選。原因有三點(diǎn)一是市場(chǎng)驗(yàn)證充分。在各類企業(yè)級(jí)應(yīng)用里SpringBoot占據(jù)了相當(dāng)大的市場(chǎng)份額這意味著你遇到任何問題基本上都能在社區(qū)里找到解決方案而不是自己一個(gè)人對(duì)著報(bào)錯(cuò)發(fā)呆。對(duì)畢設(shè)來說“可完成”比“最先進(jìn)”重要得多。二是與前端、數(shù)據(jù)庫的集成成本低。SpringBoot自帶的Spring Data JPA或MyBatis-Plus能極大簡(jiǎn)化數(shù)據(jù)庫操作Spring Security能快速搭建認(rèn)證授權(quán)體系內(nèi)置Tomcat讓部署也變得簡(jiǎn)單這些都是畢設(shè)項(xiàng)目能按時(shí)交付的保障。三是后續(xù)可擴(kuò)展性好。等真正工作了你會(huì)發(fā)現(xiàn)大多數(shù)Java后端項(xiàng)目都是SpringBoot生態(tài)提前把SSM到SpringBoot的思維轉(zhuǎn)過來對(duì)以后的職業(yè)發(fā)展也是加分項(xiàng)。2.2 分層架構(gòu)單體應(yīng)用的邊界感我見過很多畢業(yè)設(shè)計(jì)項(xiàng)目一開始就想著微服務(wù)把系統(tǒng)拆成文件服務(wù)、用戶服務(wù)、檢索服務(wù)好幾個(gè)模塊結(jié)果開發(fā)一周之后發(fā)現(xiàn)光服務(wù)間調(diào)用和配置就能把人逼瘋。這個(gè)遙感影像共享系統(tǒng)用標(biāo)準(zhǔn)的單體分層架構(gòu)就夠了重點(diǎn)是在模塊內(nèi)部做好邊界分隔。我推薦的分層方式是這樣的Controller層只負(fù)責(zé)接收請(qǐng)求、參數(shù)校驗(yàn)、返回結(jié)果不寫任何業(yè)務(wù)邏輯Service層承擔(dān)核心業(yè)務(wù)邏輯比如影像元數(shù)據(jù)的組裝、權(quán)限校驗(yàn)策略、文件存儲(chǔ)的調(diào)度Mapper/Repository層只做數(shù)據(jù)持久化操作不關(guān)心上層業(yè)務(wù)DTO/VO層用于接口數(shù)據(jù)的傳輸和展示避免直接把數(shù)據(jù)庫實(shí)體暴露給前端工具類與配置層封裝文件處理、坐標(biāo)解析、JWT工具等橫切邏輯。這樣做的好處是答辯時(shí)思路非常清晰。老師問你“權(quán)限控制怎么設(shè)計(jì)的”你能直接說出是在Service層做了攔截校驗(yàn)還是用Spring Security過濾器實(shí)現(xiàn)的問你“文件存儲(chǔ)怎么解耦的”你能講清楚是通過策略模式在本地存儲(chǔ)和OSS存儲(chǔ)之間切換。這種“能講清楚”的能力很多時(shí)候比代碼本身更能體現(xiàn)你真正做了設(shè)計(jì)。2.3 技術(shù)棧全景圖我列一份參考技術(shù)棧清單供你選型時(shí)對(duì)照層次技術(shù)選型選型理由前端Vue 3 Element Plus LeafletVue 生態(tài)上手快Leaflet 輕量且支持影像瓦片展示后端SpringBoot 2.7.x穩(wěn)定版本兼容性好社區(qū)資源豐富ORMMyBatis-Plus代碼生成方便單表CRUD幾乎零SQL數(shù)據(jù)庫MySQL 8.x開源成熟InnoDB對(duì)事務(wù)和并發(fā)支持良好緩存Redis存儲(chǔ)影像縮略圖索引、登錄會(huì)話、熱數(shù)據(jù)緩存文件存儲(chǔ)本地磁盤 / MinIO畢設(shè)階段用本地即可預(yù)留MinIO切換接口權(quán)限認(rèn)證Sa-Token / JWT輕量級(jí)比Spring Security學(xué)習(xí)成本低很多影像處理GDAL / JTS / ImageIO讀取GeoTIFF頭文件信息、生成縮略圖給一個(gè)實(shí)操建議如果你對(duì)文件存儲(chǔ)到底用本地還是OSS猶豫不決就先用本地磁盤但一定把OSS的切換接口設(shè)計(jì)好。定義一個(gè)StorageService接口本地實(shí)現(xiàn)和OSS實(shí)現(xiàn)各寫一個(gè)類通過配置文件切換。這招在論文里寫“存儲(chǔ)策略的可擴(kuò)展設(shè)計(jì)”非常加分實(shí)際做起來卻很簡(jiǎn)單。3. 數(shù)據(jù)庫設(shè)計(jì)與核心數(shù)據(jù)模型3.1 表結(jié)構(gòu)規(guī)劃影像元數(shù)據(jù)與其他業(yè)務(wù)表的關(guān)系數(shù)據(jù)庫設(shè)計(jì)是這種管理系統(tǒng)最見功底的地方也是答辯時(shí)老師最愛問的部分。我建議把核心表拆成以下幾種第一張是user用戶表字段包括id、username、password、nickname、avatar、role_type區(qū)分管理員/普通用戶/審核員、status、create_time。密碼一定要用BCrypt加密存儲(chǔ)千萬別明文。第二張是image_info影像信息表這是系統(tǒng)的主表承載遙感影像的核心元數(shù)據(jù)id主鍵original_name原始文件名file_path存儲(chǔ)路徑thumbnail_path縮略圖路徑sensor_type傳感器類型比如GF-1、Landsat8、Sentinel-2capture_date拍攝日期cloud_cover云量百分比resolution空間分辨率單位米coord_min_lon、coord_min_lat、coord_max_lon、coord_max_lat影像覆蓋范圍外包矩形坐標(biāo)coordinate_system坐標(biāo)系描述比如WGS84 / CGCS2000file_size文件大小band_count波段數(shù)量upload_user_id上傳用戶status審核狀態(tài)待審核/已發(fā)布/已下架view_count、download_count統(tǒng)計(jì)字段description備注說明。第三張是share_record共享記錄表。如果要做精細(xì)化的權(quán)限管理共享范圍不能只有公開和私有兩種要有“指定用戶共享”的中間態(tài)。字段包括id、image_id、share_user_id被共享人、share_permission預(yù)覽/下載、expire_time。第四張是download_log下載記錄表記錄哪個(gè)人在什么時(shí)間下載了哪張影像方便做數(shù)據(jù)溯源。第五張是operation_log操作日志表記錄登錄、上傳、審核、刪除等關(guān)鍵操作。這里有一個(gè)特別容易踩的坑不要把影像文件路徑直接暴露給前端數(shù)據(jù)庫只存相對(duì)路徑前端拼接完整URL時(shí)要通過后端接口做鑒權(quán)校驗(yàn)。否則沒有登錄的人只要猜到URL就能直接下載原圖共享系統(tǒng)的權(quán)限控制就形同虛設(shè)了。3.2 數(shù)據(jù)索引與空間檢索的取舍影像檢索是這個(gè)系統(tǒng)區(qū)別于一般文件管理系統(tǒng)的核心功能。在畢業(yè)設(shè)計(jì)這個(gè)體量下我建議做兩種檢索方式來組合屬性檢索按傳感器類型、拍攝日期范圍、云量、分辨率等元數(shù)據(jù)字段進(jìn)行組合條件篩選用SQL的where拼接即可空間范圍檢索用戶在Leaflet地圖上畫一個(gè)矩形框返回所有外包矩形與該矩形相交的影像數(shù)據(jù)。如果你的數(shù)據(jù)庫使用了MySQL空間范圍檢索可以直接用ST_Intersects等空間函數(shù)實(shí)現(xiàn)配合空間索引效果就很好了。如果你不想引入復(fù)雜的空間SQL也可以退一步用最小經(jīng)度小于框最大經(jīng)度、最小緯度小于框最大緯度之類的四條件相交判斷雖然不那么“專業(yè)”但實(shí)現(xiàn)簡(jiǎn)單、運(yùn)行可靠畢業(yè)答辯完全夠用。我實(shí)際做過測(cè)試在百萬級(jí)影像元數(shù)據(jù)量的規(guī)模下加不加空間索引的查詢耗時(shí)差距能有幾十倍所以coord_min_lon這些字段上務(wù)必建聯(lián)合索引。4. 核心功能模塊與技術(shù)實(shí)現(xiàn)細(xì)節(jié)4.1 大文件分片上傳與秒傳機(jī)制遙感影像文件動(dòng)輒幾百M(fèi)B傳統(tǒng)的一次性multipart文件上傳方式基本不可行。一是后端內(nèi)存壓力大二是網(wǎng)絡(luò)稍有波動(dòng)就得重新傳。實(shí)際項(xiàng)目里我強(qiáng)烈建議直接上分片上傳斷點(diǎn)續(xù)傳。分片上傳的思路是這樣的前端把文件用File.slice按固定大小比如10MB切成多個(gè)分片每個(gè)分片單獨(dú)發(fā)送一個(gè)上傳請(qǐng)求攜帶fileMd5、chunkIndex、chunkCount等參數(shù)后端接收分片并暫存到臨時(shí)目錄當(dāng)所有分片上傳完成后前端發(fā)起合并請(qǐng)求后端按分片序號(hào)將二進(jìn)制內(nèi)容合并成完整文件并計(jì)算整體文件的MD5如果合并之前發(fā)現(xiàn)同一MD5的文件已經(jīng)存在就直接返回已存在的路徑完成“秒傳”。上面提到的MD5我做一下解釋它是一個(gè)類似“文件指紋”的唯一字符串內(nèi)容不同指紋就不同用來判斷兩個(gè)文件是否完全一樣。這不是高深技術(shù)但做好交互體驗(yàn)的細(xì)節(jié)能做到很流暢比如記住上次傳到了哪個(gè)分片、失敗自動(dòng)重試。這個(gè)模塊在論文里可以重點(diǎn)寫因?yàn)樗峭ㄓ玫墓こ棠芰Χ皇呛?jiǎn)單調(diào)用后才有的功能。這里有一個(gè)關(guān)鍵點(diǎn)合并文件時(shí)建議用RandomAccessFile的seek方法按分片序號(hào)寫入正確位置不要循環(huán)讀然后寫到一個(gè)輸出流里否則分片亂序覆蓋會(huì)導(dǎo)致整個(gè)文件損壞。另外合并完一定要校驗(yàn)總文件大小和分片數(shù)是否吻合并刪除臨時(shí)分片不然臨時(shí)目錄就變成垃圾堆了。4.2 遙感影像元數(shù)據(jù)解析用GDAL還是自己寫解析器影像上傳后如果讓用戶手動(dòng)填寫傳感器類型、坐標(biāo)系、覆蓋范圍這些信息不僅體驗(yàn)差還容易出錯(cuò)。正確的做法是從影像文件本身讀取元數(shù)據(jù)。常用的方案是GDALGeospatial Data Abstraction Library它能解析絕大多數(shù)柵格格式也支持處理地理空間數(shù)據(jù)。主要做法是在Java中通過JNI調(diào)用GDAL需要引入gdal.jar和本地動(dòng)態(tài)庫或者用tifffile之類的庫做輕量級(jí)解析。但GDAL的本地依賴在Windows和Linux下的配置都比較麻煩——你要下載對(duì)應(yīng)版本的庫文件配好環(huán)境變量一不留神就版本沖突。我建議分兩步走第一步對(duì)于GeoTIFF文件用Java自帶的ImageIO讀取文件頭可以拿到寬、高、波段數(shù)、位深等基礎(chǔ)信息第二步如果需要讀取坐標(biāo)系、仿射變換參數(shù)等更專業(yè)的元數(shù)據(jù)再接入GDAL的解析命令。比如用gdalinfo命令行輸出XML格式的元數(shù)據(jù)然后Java程序解析XML這樣能繞開直接的本地庫調(diào)用配置更省心。在元數(shù)據(jù)解析這塊我踩過的最經(jīng)典的一個(gè)坑是GeoTIFF的坐標(biāo)系信息里有一個(gè)GeoKeyDirectoryTag很多文件在寫這個(gè)Tag時(shí)格式并不完全符合規(guī)范導(dǎo)致部分庫解析直接報(bào)錯(cuò)或返回空值。所以解析代碼一定要做空值兜底解析不到就提示用戶手動(dòng)補(bǔ)充。千萬不要讓一個(gè)元數(shù)據(jù)解析失敗阻斷整個(gè)上傳流程。4.3 在線預(yù)覽與瓦片化處理在線預(yù)覽是體現(xiàn)系統(tǒng)“共享”價(jià)值的重要一環(huán)。你把一張遙感影像上傳上去用戶在列表頁點(diǎn)一下如果前端直接彈出一個(gè)下載鏈接那體驗(yàn)完全不合格——人家要的是“像Google Earth一樣能拖動(dòng)、縮放、看細(xì)節(jié)”的影像瀏覽體驗(yàn)。實(shí)現(xiàn)思路是瓦片化將原始大影像按規(guī)則切成若干小圖塊比如256x256像素按縮放級(jí)別建立目錄層級(jí)0/0/0.png表示第0級(jí)第0行0列1/0/1.png表示第1級(jí)第0行1列前端用Leaflet加載瓦片URL模板就可以實(shí)現(xiàn)平滑縮放與平移。畢業(yè)設(shè)計(jì)階段如果影像數(shù)量可控可以做一個(gè)簡(jiǎn)化的方案在上傳時(shí)用GDAL生成一個(gè)金字塔縮略圖大圖導(dǎo)出為若干級(jí)分辨率縮略圖前端根據(jù)縮放級(jí)別展示對(duì)應(yīng)的縮略圖更多級(jí)的交互用Leaflet插件離線支撐。我先說明一下“瓦片”這個(gè)概念就是把一整張大地圖切成小方塊網(wǎng)格每一級(jí)縮放進(jìn)一副更粗略的圖瀏覽器只需要加載視野內(nèi)的小方塊就行了而不必一次加載整幅巨圖這也是在線地圖能流暢瀏覽的原因。還需要注意瓦片化處理是CPU密集型任務(wù)大批量上傳時(shí)會(huì)產(chǎn)生較高的后臺(tái)壓力。我給個(gè)建議用生產(chǎn)-消費(fèi)模式處理瓦片化任務(wù)上傳接口把影像ID放進(jìn)Redis隊(duì)列或數(shù)據(jù)庫任務(wù)表后臺(tái)固定線程池去消費(fèi)并異步生成瓦片避免上傳請(qǐng)求被長(zhǎng)時(shí)間占用。4.4 權(quán)限控制共享系統(tǒng)的生命線“共享”兩個(gè)字意味著數(shù)據(jù)要在一定范圍內(nèi)流動(dòng)但如果誰都能下載全部影像那就不叫共享叫裸奔。我建議權(quán)限模型至少分三層第一層是角色管理員可以審核、下架、管理所有影像普通用戶可以上傳、管理自己的影像游客只能瀏覽公開影像。第二層是數(shù)據(jù)權(quán)屬每張影像都有一個(gè)歸屬用戶只有上傳者和管理員能編輯、刪除。通過upload_user_id關(guān)聯(lián)在Service層做歸屬校驗(yàn)。第三層是共享策略公開——所有人可見可下載私密——僅上傳者可見指定共享——被加入共享記錄的用戶可以預(yù)覽或下載。這里的控制可以在查詢列表時(shí)動(dòng)態(tài)拼接SQL也可以用Spring Security的PreAuthorize注解做方法級(jí)控制。我實(shí)際項(xiàng)目里的做法是寫一個(gè)ImageAccessService它對(duì)外提供checkViewPermission()和checkDownloadPermission()兩個(gè)核心方法。所有涉及影像詳情的接口入口處必須調(diào)用校驗(yàn)邏輯然后用統(tǒng)一異常處理器捕獲AccessDeniedException返回403。千萬不要把權(quán)限判斷分散寫在各個(gè)Controller里否則遺漏一個(gè)入口就是安全漏洞。5. 實(shí)操過程與核心環(huán)節(jié)實(shí)現(xiàn)5.1 創(chuàng)建SpringBoot工程并集成基礎(chǔ)依賴我用一個(gè)標(biāo)準(zhǔn)步驟來說明怎么起步。這一步不難但依賴版本之間容易出兼容問題。第一步在pom.xml里引入核心starter。我建議這樣規(guī)劃!-- Web 支持 -- dependency groupIdorg.springframework.boot/groupId artifactIdspring-boot-starter-web/artifactId /dependency !-- 持久層 -- dependency groupIdcom.baomidou/groupId artifactIdmybatis-plus-boot-starter/artifactId version3.5.3/version /dependency !-- 數(shù)據(jù)庫 -- dependency groupIdmysql/groupId artifactIdmysql-connector-java/artifactId version8.0.33/version /dependency !-- JWT 認(rèn)證 -- dependency groupIdio.jsonwebtoken/groupId artifactIdjjwt-api/artifactId version0.11.5/version /dependency第二步在application.yml里配置數(shù)據(jù)源、MyBatis-Plus、Redis連接、文件存儲(chǔ)路徑server: port: 8080 spring: datasource: url: jdbc:mysql://localhost:3306/remote_sensing?useUnicodetruecharacterEncodingutf8serverTimezoneAsia/Shanghai username: root password: 123456 driver-class-name: com.mysql.cj.jdbc.Driver servlet: multipart: max-file-size: 20MB max-request-size: 500MB redis: host: localhost port: 6379 mybatis-plus: mapper-locations: classpath*:mapper/**/*.xml configuration: log-impl: org.apache.ibatis.logging.stdout.StdOutImpl storage: local: root-path: D:/rs-data/ type: local第三步編寫一個(gè)簡(jiǎn)單的RestController測(cè)試接口確認(rèn)工程能正常啟動(dòng)并連接數(shù)據(jù)庫。這一步不要跳過我就見過不少人上來就寫一堆業(yè)務(wù)代碼結(jié)果最終連啟動(dòng)都報(bào)錯(cuò)排查了一周發(fā)現(xiàn)是依賴版本沖突。5.2 實(shí)現(xiàn)分片上傳的后端接收邏輯分片上傳的后端核心代碼看起來不復(fù)雜但有幾個(gè)邊界條件必須處理好。RestController RequestMapping(/api/upload) public class ChunkUploadController { private final StorageService storageService; private final ImageInfoService imageInfoService; PostMapping(/chunk) public Result uploadChunk(RequestParam(file) MultipartFile file, RequestParam(fileMd5) String fileMd5, RequestParam(chunkIndex) Integer chunkIndex, RequestParam(chunkCount) Integer chunkCount) { // 1. 保存分片到臨時(shí)目錄 String tempDir storageService.getTempPath(fileMd5); File chunkFile new File(tempDir, String.valueOf(chunkIndex)); file.transferTo(chunkFile); // 2. 如果這是最后一個(gè)分片觸發(fā)合并 if (chunkIndex.equals(chunkCount - 1)) { boolean complete storageService.mergeChunks(fileMd5, chunkCount); if (complete) { // 3. 合并完成后解析元數(shù)據(jù)、生成縮略圖、創(chuàng)建影像記錄 File mergedFile storageService.getMergedFile(fileMd5); ImageMeta meta ImageMetadataParser.parse(mergedFile); ImageInfo imageInfo ImageInfoAssembler.from(meta, mergedFile); imageInfoService.save(imageInfo); return Result.success(上傳完成, imageInfo.getId()); } } return Result.success(分片已接收); } PostMapping(/check) public Result checkUpload(RequestParam(fileMd5) String fileMd5, RequestParam(fileSize) Long fileSize) { // 秒傳校驗(yàn)如果存在相同MD5且文件大小一致則直接返回已有影像ID ImageInfo existing imageInfoService.lambdaQuery() .eq(ImageInfo::getFileMd5, fileMd5) .eq(ImageInfo::getFileSize, fileSize) .one(); if (existing ! null) { return Result.success(秒傳成功, existing.getId()); } return Result.success(需要上傳); } }這里的合并邏輯我再補(bǔ)充一個(gè)底層細(xì)節(jié)為了保證大文件的分片合并不會(huì)內(nèi)存溢出合并時(shí)應(yīng)使用通道Channel或者緩沖流分批寫入而不是Files.readAllBytes()一把梭把幾百M(fèi)B一次性加載進(jìn)內(nèi)存。5.3 影像列表與空間范圍檢索的前后端聯(lián)調(diào)列表頁是用戶接觸最多的頁面交互體驗(yàn)直接影響答辯效果。后端接口的設(shè)計(jì)邏輯是GetMapping(/images) public Result pageList(RequestParam(defaultValue 1) Integer page, RequestParam(defaultValue 12) Integer size, RequestParam(required false) String sensorType, RequestParam(required false) String startDate, RequestParam(required false) String endDate, RequestParam(required false) Double minLon, RequestParam(required false) Double minLat, RequestParam(required false) Double maxLon, RequestParam(required false) Double maxLat) { LambdaQueryWrapperImageInfo wrapper new LambdaQueryWrapper(); // 屬性條件 wrapper.eq(StringUtils.hasText(sensorType), ImageInfo::getSensorType, sensorType); wrapper.between(StringUtils.hasText(startDate), ImageInfo::getCaptureDate, startDate, endDate); // 空間范圍條件 if (minLon ! null maxLon ! null) { wrapper.apply(coord_min_lon {0} AND coord_max_lon {1}, maxLon, minLon) .apply(coord_min_lat {0} AND coord_max_lat {1}, maxLat, minLat); } // 權(quán)限過濾只能看到公開的或自己上傳的或被共享的 wrapper.and(w - w.eq(ImageInfo::getStatus, published) .or().eq(ImageInfo::getUploadUserId, currentUserId()) .or().inSql(ImageInfo::getId, getSharedImageIdsSql(currentUserId()))); // 分頁 PageImageInfo pageResult imageInfoService.page(new Page(page, size), wrapper); return Result.success(pageResult); }前端Leaflet部分的關(guān)鍵代碼我貼一個(gè)示意const map L.map(map).setView([35.0, 105.0], 5) L.tileLayer(https://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png).addTo(map) // 矩形框選擇 let bounds null L.rectangle(bounds, { color: #ff7800, weight: 1 }).addTo(map) map.on(boxzoomend, (e) { const b e.boxZoomBounds const query { minLon: b.getWest(), maxLon: b.getEast(), minLat: b.getSouth(), maxLat: b.getNorth() } loadImages(query) })需要注意空間范圍檢索一定要使用索引并且把經(jīng)度緯度的比較條件合拼在同一個(gè)apply的SQL片段里避免MyBatis-Plus生成多個(gè)OR條件導(dǎo)致索引失效。5.4 縮略圖生成與瓦片簡(jiǎn)易處理的代碼示例生成縮略圖這一步我用的是ImageIO加Graphics2D縮放的方式先說明這個(gè)是相對(duì)簡(jiǎn)化的方案如果你做的是GeoTIFF大圖建議結(jié)合GDAL命令完成。我做一種輕量實(shí)現(xiàn)的示范public String generateThumbnail(File source, String outputDir, int targetWidth) throws IOException { BufferedImage image ImageIO.read(source); // 計(jì)算等比縮放高度 int targetHeight (int) Math.round(image.getHeight() * (targetWidth * 1.0 / image.getWidth())); BufferedImage thumbnail new BufferedImage(targetWidth, targetHeight, BufferedImage.TYPE_INT_RGB); Graphics2D g2d thumbnail.createGraphics(); g2d.setRenderingHint(RenderingHints.KEY_INTERPOLATION, RenderingHints.VALUE_INTERPOLATION_BILINEAR); g2d.drawImage(image, 0, 0, targetWidth, targetHeight, null); g2d.dispose(); String thumbPath outputDir File.separator thumb_ System.currentTimeMillis() .jpg; ImageIO.write(thumbnail, jpg, new File(thumbPath)); return thumbPath; }這段代碼運(yùn)行在小文件場(chǎng)景下沒問題但我要說實(shí)話如果影像尺寸特別大ImageIO.read()會(huì)把整幅圖讀進(jìn)內(nèi)存極容易觸發(fā)OutOfMemoryError。正規(guī)做法是用ImageIO的ImageReader按需解碼縮略圖設(shè)置ImageReadParam的setSourceRegion或者直接調(diào)用GDAL生成金字塔。這是很多畢設(shè)項(xiàng)目的隱藏雷區(qū)如果你提前規(guī)避掉答辯時(shí)能講出這套原理面試官和老師都會(huì)高看你一眼。6. 常見問題與排查技巧實(shí)錄6.1 啟動(dòng)報(bào)錯(cuò)與依賴沖突速查表我整理了開發(fā)過程中最高頻的五類啟動(dòng)期問題直接對(duì)照排查報(bào)錯(cuò)現(xiàn)象常見原因解決思路Failed to configure a DataSource未配置數(shù)據(jù)源或YAML縮進(jìn)錯(cuò)誤檢查application.yml的spring.datasource配置及MySQL服務(wù)是否啟動(dòng)Consider defining a bean of type XXXMapperMapper接口沒加Mapper注解啟動(dòng)類加MapperScan或在每個(gè)Mapper接口上標(biāo)注端口被占用8080被其他服務(wù)占用netstat -ano定位進(jìn)程并關(guān)閉或修改端口MyBatis-Plus分頁失效缺少分頁插件配置配置MybatisPlusInterceptor并注冊(cè)PaginationInnerInterceptor文件上傳提示超過大小限制spring.servlet.multipart.max-file-size不匹配修改配置遠(yuǎn)程影像大文件多走分片接口6.2 上傳成功但列表不顯示問題出在哪里這是一個(gè)很經(jīng)典的綜合問題場(chǎng)景文件本身傳到服務(wù)器了臨時(shí)目錄里的分片也合并成了完整文件但列表頁就是查不到新數(shù)據(jù)。我經(jīng)歷過一次最后排查出兩個(gè)問題第一個(gè)是元數(shù)據(jù)解析失敗導(dǎo)致事務(wù)回滾。影像文件雖然上傳到了磁盤但由于格式比較特殊ImageMetadataParser拋出了NullPointerException導(dǎo)致事務(wù)回滾數(shù)據(jù)庫里沒有生成image_info記錄而磁盤上的文件卻“殘留”了。解決方式是在元數(shù)據(jù)解析失敗后捕獲異常仍然保存一條狀態(tài)為“元數(shù)據(jù)待補(bǔ)充”的數(shù)據(jù)同時(shí)清理異常文件。第二個(gè)是查詢條件限制了可見范圍。列表接口有權(quán)限過濾默認(rèn)只能看到已發(fā)布的公開影像。新上傳的影像狀態(tài)是“待審核”上傳者自己理論上能看到但如果你用了管理員賬號(hào)去測(cè)試而管理員沒有歸屬該影像就必然看不到。所以要區(qū)分兩個(gè)場(chǎng)景管理端看全部數(shù)據(jù)普通用戶端看可見數(shù)據(jù)。6.3 在線預(yù)覽失敗瓦片加載不出來怎么排查這個(gè)問題的排查路徑很固定先從后端日志看瓦片請(qǐng)求有沒有到達(dá)接口。沒到——檢查前端請(qǐng)求URL拼接是否正確尤其是{z}/{x}/{y}的層級(jí)順序。到了——檢查后端返回的瓦片文件是否存在。若確認(rèn)文件存在但前端渲染模糊或花屏多半是瓦片坐標(biāo)系不統(tǒng)一前后端對(duì)影像范圍的經(jīng)緯度計(jì)算方式不一致。我給一個(gè)實(shí)操心得瓦片調(diào)試階段先用瀏覽器的開發(fā)者工具直接訪問瓦片地址看返回的Content-Type是否為image/png或image/jpeg。如果返回了JSON錯(cuò)誤說明URL路由或者權(quán)限校驗(yàn)有問題優(yōu)先排查這兩處。這樣才能快速定位是鏈路問題還是渲染問題。6.4 數(shù)據(jù)庫表導(dǎo)入亂碼與時(shí)空坐標(biāo)數(shù)據(jù)異常MySQL連接字符串一定要帶characterEncodingutf8否則在Windows下導(dǎo)入中文字段會(huì)出現(xiàn)亂碼。還有一個(gè)容易忽略的是serverTimezone不配置的話在8.x版本啟動(dòng)階段會(huì)拋出時(shí)區(qū)異常。對(duì)于坐標(biāo)數(shù)據(jù)異常我遇到過經(jīng)緯度解析出NaN的情況原因根子在于GeoTIFF里GeoTags的仿射變換參數(shù)讀取失敗。解決辦法就是做校驗(yàn)入庫前判斷四個(gè)坐標(biāo)值是否是有限數(shù)值并且經(jīng)度范圍是否在[-180,180]之間、緯度是否在[-90,90]之間。如果有異常就把該影像標(biāo)記為“待修復(fù)”而不是直接拒絕整個(gè)文件。7. 項(xiàng)目打磨建議與答辯亮點(diǎn)7.1 三個(gè)低成本高回報(bào)的加分功能如果核心功能都做完了還有余力我建議優(yōu)先考慮下面三個(gè)功能。它們每個(gè)工作量都不大但對(duì)系統(tǒng)觀感的提升非常明顯第一個(gè)是操作日志與數(shù)據(jù)統(tǒng)計(jì)后臺(tái)。管理員能看到每日上傳量、下載量、活躍用戶數(shù)前端用ECharts畫幾張趨勢(shì)圖。這不難但能讓老師直觀感受到系統(tǒng)的“管理閉環(huán)”已經(jīng)建起來了。第二個(gè)是影像對(duì)比模式。在預(yù)覽模塊中支持同時(shí)加載兩期影像比如同區(qū)域不同月份的數(shù)據(jù)通過透明度滑桿進(jìn)行對(duì)比。Leaflet里有現(xiàn)成的插件可以做圖層透明度控制實(shí)現(xiàn)難度不高但能直接呼應(yīng)“遙感影像”的業(yè)務(wù)特色效果比千篇一律的CRUD列表頁亮眼得多。第三個(gè)是數(shù)據(jù)批量導(dǎo)入。支持用戶上傳一個(gè)ZIP壓縮包后端解壓后逐張解析并導(dǎo)入影像元數(shù)據(jù)。很多真實(shí)場(chǎng)景下遙感生產(chǎn)部門都是批量出數(shù)據(jù)的這個(gè)功能會(huì)讓系統(tǒng)顯得更有工程意識(shí)。7.2 答辯時(shí)技術(shù)亮點(diǎn)怎么講不心虛答辯官最反感的就是“代碼全是復(fù)制粘貼”的痕跡。但反過來如果你能把系統(tǒng)里的幾個(gè)設(shè)計(jì)決策講出前因后果即使代碼本身沒那么完美也完全能通過。我給你列三個(gè)角度角度一存儲(chǔ)抽象層為什么要做。你可以說“文件存儲(chǔ)我抽取了一個(gè)StorageService接口本地實(shí)現(xiàn)和對(duì)象存儲(chǔ)實(shí)現(xiàn)可以自由切換。當(dāng)前畢設(shè)環(huán)境用的是本地磁盤如果部署到云環(huán)境只需要增加一個(gè)實(shí)現(xiàn)類不需要改任何業(yè)務(wù)代碼?!边@是實(shí)際做過的設(shè)計(jì)不是編的。角度二分片上傳為什么選擇10MB作為分片大小。你可以說“分片太小會(huì)產(chǎn)生太多HTTP請(qǐng)求增大網(wǎng)絡(luò)開銷分片太大在網(wǎng)速不穩(wěn)時(shí)容易超時(shí)重傳。實(shí)測(cè)下來10MB在校園網(wǎng)帶寬下是一個(gè)平衡點(diǎn)?!苯嵌热龣?quán)限校驗(yàn)為什么放在Service層而不是Controller層。你可以說“Controller是HTTP入口但Service層是業(yè)務(wù)復(fù)用邊界。如果只做Controller校驗(yàn)內(nèi)部調(diào)用、定時(shí)任務(wù)這些非HTTP入口就會(huì)繞過權(quán)限造成數(shù)據(jù)越權(quán)?!?.3 從畢設(shè)到真實(shí)項(xiàng)目的演進(jìn)路徑做完這個(gè)系統(tǒng)如果還想往深走我按實(shí)際工作中的演進(jìn)路徑給你指?jìng)€(gè)方向。畢設(shè)階段用MySQL存元數(shù)據(jù)、本地存文件是夠的但真實(shí)遙感共享平臺(tái)遲早要面對(duì)海量文件和在線計(jì)算的需求。第一步是引入對(duì)象存儲(chǔ)。把分散的本地文件統(tǒng)一收編到MinIO或云對(duì)象存儲(chǔ)里存儲(chǔ)路徑仍然存在MySQL但接口走SDK訪問用預(yù)簽名URL。好處是文件不用再擔(dān)心磁盤爆掉也方便做CDN加速。第二步是數(shù)據(jù)湖與元數(shù)據(jù)目錄服務(wù)。當(dāng)影像數(shù)量達(dá)到百萬級(jí)MySQL的元數(shù)據(jù)檢索會(huì)變得吃力。這時(shí)可以考慮引入Elasticsearch或?qū)iT的元數(shù)據(jù)目錄方案實(shí)現(xiàn)更靈活的全文檢索、多字段聚合分析甚至按業(yè)務(wù)標(biāo)簽做智能推薦。第三步是矢量柵格一體化。遙感平臺(tái)如果只管理柵格影像是不夠的往往還需要管理矢量邊界比如行政區(qū)劃、地塊信息。這時(shí)候就要考慮引入空間數(shù)據(jù)庫把矢量數(shù)據(jù)與柵格數(shù)據(jù)統(tǒng)一管理起來平臺(tái)才能支持更復(fù)雜的空間分析業(yè)務(wù)。這些路徑并不是讓你現(xiàn)在就去實(shí)現(xiàn)但答辯時(shí)老師一旦問“系統(tǒng)的下一步規(guī)劃”你能說出這套有層次的演進(jìn)方向比空談“性能優(yōu)化”要有說服力得多。8. 寫在最后我的實(shí)操體會(huì)這個(gè)遙感影像共享系統(tǒng)做下來我個(gè)人最大的體會(huì)是畢業(yè)設(shè)計(jì)的難點(diǎn)從來不在于某項(xiàng)技術(shù)多高深而在于能不能用一個(gè)完整的業(yè)務(wù)邏輯把各種技術(shù)串聯(lián)起來。文件上傳、列表檢索、權(quán)限控制、空間預(yù)覽每個(gè)單點(diǎn)技術(shù)你可能都見過但真正把它們“焊接”成一個(gè)能跑通的系統(tǒng)中間會(huì)遇到無數(shù)個(gè)以為很簡(jiǎn)單、實(shí)際上卻很消磨耐心的小問題——合并文件時(shí)路徑誰負(fù)責(zé)清理、預(yù)覽瓦片請(qǐng)求被攔截器卡住、云量字段是String還是Double、前端畫框和后端判斷相交用的坐標(biāo)系是不是同一個(gè)。我給正在做或準(zhǔn)備做這個(gè)題目的同學(xué)一個(gè)非常具體的建議前期設(shè)計(jì)階段拿一張紙從管理員、普通用戶、游客三種角色視角把系統(tǒng)的核心操作流程完整走一遍所有涉及狀態(tài)的流轉(zhuǎn)都寫下來再動(dòng)手寫代碼。這個(gè)動(dòng)作花不了半天但能幫你省出后面兩周的返工時(shí)間。最后再分享一個(gè)小技巧論文“測(cè)試結(jié)果”章節(jié)不要只寫“運(yùn)行成功、頁面正?!币欢ㄒ獪?zhǔn)備幾個(gè)有說服力的數(shù)據(jù)。比如上傳一張真實(shí)的多光譜遙感影像記錄上傳耗時(shí)、元數(shù)據(jù)解析出來的波段數(shù)和坐標(biāo)范圍在列表中用傳感器類型加拍攝日期做組合查詢截圖展示查詢條件和結(jié)果數(shù)量。這些實(shí)證數(shù)據(jù)會(huì)讓你的論文厚度立刻提升一個(gè)檔次。希望這個(gè)選題能成為你技術(shù)成長(zhǎng)路上扎實(shí)的一步。
返回列表
PREV
查看更多資訊
NEXT
返回資訊列表
亚洲精品天堂久久A∨51成人漫| 东京热伊久| 天天日天天色| 男女啪啪网站免费视频| 激情人妻另类| 综合97亚洲| 亚洲一区深夜| 久久久免费一级黄片| 亚洲丝袜诱惑| 久久成人午夜狠狠| 国产乱弄免费在线视频。 | 色婷婷影院| 97人妻免费中文字幕| 无码一区二区三区四区五区六区七区八区九区十区视频 | 欧美亚洲中文字幕| 亚洲综合色在线| 亚洲 自拍偷拍 欧美| 欧洲亚洲天堂精品 | 欧美 日韩 国产传媒| 精品久久久亚洲AV成人网站| 亚洲AV操| 日亚韩精品视频二区三| av无码av无码专区| 手机在线播放国产福利| 岛国激情视频在线观看| 成人97人人超碰人人| 天天肏天天干| 视频国产成人精品日本亚洲18| 国产自偷| 人人操人人摸超碰| 日日夜夜免费| 欧美大波激情xxxx| 国内精品嫩模A∨私拍小视频| 国产精品熟女一区二区三区| 久久久久久网址| 加勒比99999| 国产三级中文字幕粉嫩| 91熟女视频网| 麻豆一区二区三区在线看| 日本国产二线女色| 成人无码欧美一级A片狼牙直播| 日本天天干天天日一区| 99热线麻豆 | 亚洲情色 自拍| 亚洲一区制服诱惑| 精品超碰色| 啊啊啊久久久视频| 国产区日韩区在线观看| 日本午夜操逼| 丁香五月激情网| 大胆91| 很很干很很操| 60秒免费小视频| 色九九综合AV| 久久这里只| 日本高清免费一本视频在线观看| 大黄片做爱的大的| 天天操天天插| 久噜噜| 国产精彩女在线观看视频| 亚洲麻豆18发?| 日本在线999| 欧美天天弄| 亚洲人体视频在线观看| 大香蕉专区| 婷婷色五月激情| 在线观看十八禁| 四虎视频在线观看| 熟女熟妇一区二区三四区| 97色综合中文网| 加勒比伊人| 麻花豆传媒剧国产MV出差| 曰韩精品视频一区二区| 色情成人五月天| 色好看av| 激情内射| 国产狂喷潮在线精品| 亚洲人妻中文高清| 日韩人妻精品| 最新亚洲黄色免费电影 | 韩国轻伦国内自拍一区| 色情婷婷久久五月天| 校园春色 亚洲| 免费1级a做爰片观看| 国产福利精品最新在线| 日本97久久久精品| 99热这里都是精品| 成人性爱高清视频免费看| 97香焦色区| 老女人碰碰在线碰碰视频| 91久久久久| 亚洲中文字幕熟女| 五月丁香婷婷综合| 快播久久人人aV| 亚洲 无码 偷拍| 亚洲各类熟们中文字幕| 日韩欧美被操黄免费观看| 女上位精品在线| 人妻偷拍一区二区三区| 男人的天堂网免费| av橘色网站| 黑丝自慰喷水网站| 午夜后入| 午夜精品五区| 97视频620| 亚洲精品国语在线播放| 天天流夜夜操| 日本二三四区| 二色av| 日韩中文字幕宗合在线| 日本日逼高清| 久久久精品久久| WWW操逼| 97欧美精品综合| 夜夜欢天天干| 日韩精品99999| 欧美大的香蕉有线电视视频| 中文字幕精品资源在线| 日韩9区| 五月丁香影院| 九九热av| 五月天黄色av| aⅴ日韩成人电影av在线免费看av大全| 91美乳| 立川理惠被中出无码| 欧美熟爽综合| 最近2018中文字幕在线高清第一页| 台湾佬激情综合| 亚洲男人天堂AV| 亚州色交| 中文字幕日韩电影人妻| 久久一本大香蕉 | 日韩性爱一级片| 裸体女人草逼视频播放一区,二区,三区,四区,五区 | 国产一区二区三区白丝| 韩国嫰模上门援交视频| 久操热线| 日韩在线欧美精品一区二区| 大香蕉男人的天堂| 女人双腿搬开让男人桶| 3P丝袜熟女 色综合| 色情五月婷婷| 精品国产91内射久久| 欧美日韩亚洲高清不卡一区二区三区| 国产人妖的免费的视频| 欧美啪啪天堂| 久久人人妻| 久久的免费性爱视频| 欧色综合| 日韩不卡a级视频专区| 好爽要喷了| 六月丁丁香| 特色a在线上| 久久99国产综合精品女同| 少妇被c 黄 免费观看| 麻豆婷婷成人一二三| 国产AAAAAABBBBB| 久久精品免视看国产成人﹣蜜臀av一区. 久久精品免视看国产成人,蜜臀av一区 | 精品v1区| 亚洲操人| 亚洲色图尤物视频| 亚洲狠狠入| 国产伦精品免编号公布| 国产日韩在线播放av| 激情婷婷丁香网| 嗯啊免费视频| 狠狠穞A片一區二區三區| 亚洲影视综合| 国产精品大屁股999| 久久亚洲影院一区二区| 强奸乱伦av电影| 99久久国产精品免费高潮| 亚洲日韩久久精品一区| 久久久久久久九九九九九九| 男女真人网18| 亚洲伊人久久综合97| 超碰偷拍| 欧美天天综合站| 综合网,亚洲,欧美| 激情四射五月天| 亚洲国产精品有声| 思思久热在线精品66| 天天天操天天天爱| 欧美韩国你懂得在线| 亚洲综合在线视频| 人人射人人操人人摸| 丁香色狠狠色综合久久小说| 国产日本顶级一区二区三区| 狠狠入| 风月影院男女十八禁| 人人妻人人操人人乐| 一级A片女人高潮叫床| 久久精品国产亚洲AV清纯| 欧美色吧综合| 欧美在线综合| 免费视频97| 97中文综合| 九九九影院| 大香蕉色网| 好吊色在线观看| 超碰在线国产| 啊啊啊用力在线观看| 狠狠爱综合网| 久久久中文| 无遮挡h肉动漫在线观看| 国产一级不卡在线观看| 国产99精品一区二区三区免费| 无码精品久久久久久亚洲| 青青青在线高清视频在线一二三四区 | 久久久精品中文字幕麻豆| 国产精品久久久九九九| 国产乱人妻精品入口| 日本熟人妻中文字幕在线|...久久国产精品-国产精品_日本一区二区三区中文字幕 | 久湿久久| 青青草一区二区高清无码视频| 污电影在线观看| 91精品人妻啪啪间| 亚洲午夜精品久久久中文影院| 美女爽爽爽刺痛洞洞| 日韩精品人妻中文字幕不卡乱码| 91国产丝袜白虎| 在线二区不卡| 18禁止看精品中文字幕| 国产视频一区二区三区在线免费观看| 狠狠操官网| 多毛小伙内射老太婆| 51一区二区三区| 日韩精品一区二区三区色欲| 999久久久精品国产| 久久黄黄| 欧美在线视频观看一二三四区高清| 激情人妻另类| 99少妇内射| 伦理第一页| 久久 国产 无码| 91在线超高颜值国产| 久久性爱网站| 六月丁香啪啪啪| 97人妻色| 二级毛片| 亚洲色欧美| 91丨九色丨国产丨人妻在线 | 免费啪啪啪网站18岁| 人妻少妇色综合| 日韩人妻少妇中文字幕| 刺激精品视频| 亚洲少妇视频| 亚洲中文日韩欧美大香蕉视频| 十八禁视频网站| 超碰超碰95| 欧美 牲| 友优传媒精品在线一区二区| 国产精品探花视频| 亚洲欧洲偷拍一区| 日日夜夜模| 日韩欧美中文字幕搭讪巨乳美人妻视频| 欧美AB在线| 人人看欧美性爱| 激情婷婷丁香| 夜夜嗨一区二区三区三州加勒比 | 色吧综合网| 一区麻豆 高清中文字幕| 伊人午夜福利视频| 日韩免费大片一级播放| 97爱免费插| 超碰九九| 日本一区二区成人在线| 狠狠热这里都是精品| 91操熟女视频| 黄网在线播放| 91久久婷婷| 亚洲伊人久久精品狠狠在线| 亚州欧美在线| 岛国艾薇凹凸视频天堂| 2017超碰| 国产精品一区av在线| 婷婷五月天补不补| 亚洲美女精品九九视频| 成人性爱电影一区二区| 东京热熟女亚洲视频网站| 国产无码成人无码| 99国内精品| 久肏视频字幕| 国内三级自拍小视频在线观看| 成人热久久精品| 啊啊啊好想要| 色999人与兽| 欧美性爱超碰97| 一本道综合色图| 国产亚洲精品激情| 欧美午夜色妇色鬼| 国产在线观看一区二区三区| 99激情| 正宗无毛一线天嫩逼| 无码精品一区二区三区潘金莲| 嗯嗯,好大,好爽,好骚| a亚洲欧美色欲| 欧美大码在线视频| 欧美gv在线观看| 草b在线| 久久久久亚洲Av无码专区老牛影视| 色五月av| 麻豆亚洲AV成人无码久久精品| 色色婷婷丁香| 久草新在线| 最新欧洲欧美日本激情网站| 中文字幕在线免费观看2| 麻豆视频test| 强奸乱伦AV一天堂网| 青青草啪啪网| 国语对白在线播放视频| 熟女少妇一区二区三区| 爆乳免费黄网站| 欧美Ⅴ性爱| 日韩一级二级在线| 久久东京伊人一本到鬼色| 日本久久999| 亚洲女毛多水多21P| 久久激情视频| 少妇毛片久久| 超97在线精品视频| 97在线免费视频观看| 按摩中文字幕| 亚洲精品亚洲人成在线麻豆| 亚洲中文字幕熟女少妇一区二区| 日产国产精品中文久久婷婷| 成人女人国产| 三级片大波波| 91网站18+| 少妇高潮对白在线观看| 97超碰超碰| 亚洲天堂另类小说男人| 国产精品久久久久久片| AV乱伦专区| 精品久久久不卡一区二区| 欧亚乱色熟女一区二区| 国产女人视频三四五区| 国产第11页| 五月丁香综合激情| 精品一区二区综合熟妇| 人妻精品一区二区| 伊人久久亚洲中文字幕不卡| 欧美性爱五月天| 国产日韩手机视频在线| 夜色91| 久色99999| 亚洲第一综合| 国产精品一二三在线看| 成人五月天丁香激情综合| 十八禁电影伊人网| 青青草黑寡妇男人天堂| 久久久97| 不卡一区二区日本视频| 国产高清亚洲日韩一区| 少妇三p| 色综和网| 久久综合精品一区二区三区| 中文字幕啊啊啊在线观看视频| 蜜乳av一区二区| 综合色区偷拍| 日本精品一区二区三| 精彩国产视频播放1区2区| 这里有精品| 日本日皮视频逼| 国产精品久久久久久久久久梁医生| 国产后入式在线观看| 久久綜合很很很| 欧美专区在线| 亚洲夜色在线| 色色无码| www.av在线视频| 国产不卡的视频| 婷婷激情五月天小说网| 欧美1区二区三区公司 | 精品免费一区| 综合 亚洲 欧美| 啊啊啊操死我了| 强奸熟女一区二区三区 | 91国模| 亚洲欧美综合图片| 懂色Av一区二区三区| 国产熟码AV| 台湾佬中文娱乐网久久久久久久久久com | 色阁阁AV综合网| 久久AV无码1区2区3区| 麻豆2区1区天美| 天天日天天爽| 怡红院视频在线| 色嘟嘟人妻天堂网| 日韩三四五区| 国产精品乱码久久久久久久久久久久| 嗯~啊~快点 死我视频| 校园春色之综合网| 91麻豆天美国产| av午夜玫瑰| 97精品视频免费| 日韩三级在线观看mp4| 91国产大片| 麻豆AV96熟妇人妻| 蜜臀无码一区二区| AV中文字幕三四五| 欧美综合另类| 成人免费看吃奶视频网站| 欧美一区二区福利在线| 国产白嫩漂亮KTV在线| 一,爱啪啪,在线免费视频| 亚洲精品a人片在线观看视| 人妻人人操| 日本超碰在线国产一区| 中文字幕-区二区三区四区视频中国| 香蕉久久精品| 怡红院成人视频| 女性喷水高潮在线观看| 日韩国产乱子伦App| 伊人色综合网电影| 亚洲图片欧美日韩| 韩日精品福利视频一区不卡在线免| 久久精品成人一区二区三区蜜臀| 欧美美女视频| 国产自产自拍| 精品一区二区三区蜜桃臀赵总| 怡红院怡春院| 国产久9| av毛片aaaaa免费看| 高潮的A片激情扒开一区| 国产精品老师| 国产不卡中文字幕免费avi| 中文字幕在线第二页| 丰满人妻一区二区三区| 91快色色色色色| 麻豆国产尤物AV| 欧美 日韩 另类 亚洲| 亚洲图片视频小说| 日韩精品一区二区日韩| 97色五月天完| av橘色网站| 大香蕉视频一二三区| 日韩成人综合网| 欧美视频激情久久久久久| 亚州欧美在线| av无码精品久久久久| 91九久| 亚洲国产97在线精品一区| 午夜啪| 岛国成人av在线播放网址| 夜夜操av亚洲一区二区| 亚洲乱妇p22| 精品国产一级久久| 粉嫩小泬久久久一区二区| 熟妇色99| 丁香五月综合| 欧亚韩国999| 国产第12页| 欧美亚洲玖玖玖| 欧洲色综合| 91成人久久| 最新精品久久蜜桃 | 黄片免费久久久久久久| 激情文学欧美| 国产精品人妻一区二区| 九九热最新| 在线播放成人高清免费视频| 亚洲一区二区AV| 久久精品国产97欧美精品亚洲 | 北条麻妃性愛视频| 亚洲国产一区二区三区在线| 99热成人| 污啪啪啪视频| 六月丁丁香| 亚洲成A∨人影院在线欢看| 加勒比在线观看一区二区| 亚洲综合999| 国产一线二线三线av| 蜜桃臀一区二区aV| 蜜臀无码一区二区| 国产乱码久久久久久| 伊人久久大香蕉线AV五月天| 任我爽视频在线观看| 欧美夜夜狠| 99在线精品观看99| 天天爽天天| 婷婷五月天AV| 99啪啪| 色色五月婷婷| 中文字幕在线观看丝袜| 婷婷五月影院| 免费视频在线观看啊啊啊啊啊| 丁香五月天激情| 青青草天天亲夜夜操网| 婷婷激情四射| 国模一区二区三区| 狼人综合婷婷激情四射 | 综合色久欲| 一本色道熟妇| 亚欧美综合网。| 老司机免费视频在线91| 夜夜综合| 亚洲中文字幕久久无码精品| 加勒比aⅴ| 精品999一区二区| 99热这里只有精品18| 97欧美视频| 午夜舔阴达高潮视频免费看| 另类TS人妖一区二区三区| 国内偷自视频区视频综合| 日韩国产不卡在线视频| HEYZO高无码国产精品227| 国产热RE99久久6国产精品首 | 七月丁香婷婷| 色操逼网| 大地资源在线观看中文第二页| 日韩乱插| 夫妻四区五区六区| 久久精品中文| 中文字幕制服诱惑| 久久久久久电影| 亚洲国产高清福利视频| 日本精品一区三区| 青娱乐手机日韩在线视频| 色哟哟AV| 国产精品内射婷婷一级二| 国产精品经典一卡久久久 | 97爱免费插| 91美女看B| 91综合天天| 日欧操屄| 色综合九九| 色哟哟-国产专区| 风月影院男女十八禁| 青草地一本线一区二区三区| 为用户提供免费看黄网址在线观看| 日本www操操操| 久久国产精品91| 欧美夜夜骑视频| 粉嫩AV一区二区夜夜| 亚洲男人久久综合天堂| 高清无码网址| 蜜臀av网址| 国产在线观看一区二区三区| 黑人嘿嘿嘿超爽免费视频| 久久综合99| 亚洲精品白丝| AV麻豆免费一区| www色婷婷| 人人妻人人色| 天天日天天操天天射河南省| 国产精品一区二区 尿失禁| 精品人妻二区三区| 五月天久久人妻| 中文字幕国产| 性欧美天天| 国产精品农村妇女| 国产精品一区二区三区,亚洲综合| 天天影视综合网欧美精品| 日本三级韩国三级美三级91| 在线日韩精品一区二区三区| 五月天啪啪| 啊啊啊啊啊舒服| 无码高清操逼网址| 久久久久久久 九九九九九九九 | 一区二区 电影 亚洲| 91麻豆天美传媒在线| 亚洲情色中文字幕一区| 高跟伊人julia ann| 91另类| 久久五月天婷婷| 熟女熟妇伦久久影院毛片一区二区| 日韩欧美大力操| 日韩丝袜人妻AV| 91制服丝袜中文字幕| 欧美成人性爱视频大全| 天操天操夜操夜月操月年年操操| www.91理论| 欧美日韩精品久久| 亚洲欧洲综合成人av一区| 日韩AV一区二区三区三州三州| 九九久久玖玖| 日本高清电影欧美色图| 蜜臀久久99精品久久久久久-DVD| 六九九九| 青娱乐休闲视频在线观看| 97爱免费插| 91春色| 麻豆久久久久久久久丝袜| 精品国产Av无码久久久伦古装| 美女刺激久久国产欧美| 偷拍综合网| 大香蕉伊人一区在线观看| 久久只有精品| 亚洲综合小视频小说在线观看 | 九久精品| 嗯嗯嗯啊啊啊操的我好爽 | 成人青青草原伊人| 欧美成人都市人妻| 超碰97色| 亚洲色香| 亚洲1区| 91另类| 天天碰操中国年青熟妇| 成年女人黄网站| 大香蕉一区二区在线观看.| 99www.bibizy香蕉资源国产一区二区三区高清 | 日韩中文字幕人妻视频| 加勒比久久av| 人妻天堂综合网| 强奸乱伦 亚洲一区| 综合91网| AV九九| 久久久久国产精品久久久| 性爱乱伦一区| 亚洲国产97| 99精品丰满人妻无| 成人a大片在线观看| 伊人四虎综合| 欧美嗯啊……在线观看视频免费| 日本一区二区亚洲综合| 日本黄页视频在线观看| 亚洲av乱伦色图网站| 日本中文字幕熟妇| 五月丁香激情啪啪| 日本影视久久免费| 精品乱码在线观看| 欧美日韩99| 强被迫伦姧在线观看无码网站| 日本一区99| 日韩激情啪啪啪| 国产欧美日产一区二区三区 - 国产欧美日 | 精品免费囯产一区二区三区| 精品大久久| 成人日韩3| 在线看污网站| 亚洲熟女乱熟乱熟妇综合网二区| 精品国产片亚洲一区| 少妇一区二区三区| 60秒免费小视频| 玖玖综合.com| 久久九九视频九九视频| 男同专区一区二区三区在线| 极品内射| 亚洲色吧网| 操逼大黄片| 99re综合伊人| 啊啊啊好舒服好爽啊啊啊视频| 成人免费在线网站| 精品无码一区二区三区| 高颜值美女口爆高潮浪叫| 男人的天堂色偷偷青青草视频婷婷网| 欧美网站免费| 中国熟女老妇仑乱一区二区三区| 国产AV线| 91美女在线视频| 男人的天堂不卡一区二区| 午夜国产乱伦视频| 日韩成人性日韩成人性爱视频在线免费观看| 美女网站黄页| 97免费免费视频网| 久久草草欧美精品| 日本一级黄色电影| 亚洲少妇综合在线播放| 啪啪性爱免费视频| 亚洲情色综合| 97在线播放 | 激情文学88| 久久婷婷成人综合色怡春院| 人妻激情在线视频| 9999九九九久久久| a男人的天堂| 天天干,夜夜爽| 国模精品一区二区三区苹果色戒| 国产大陆天天艹| 亚洲天堂在线怕怕视频| 日躁天天爽爽| 国内外内射高清视频| 蜜臀Av一区二区三区| 91美女国产在线| 久操在97| 极品粉嫩一区二区| 欧美性夜| 青青草中出视频| 久久噜噜噜精品国产亚洲综合| 超碰这里只有精品| 麻豆精品天美| 69人妻精品丰满熟女区| 超碰97玖玖爱| 久久一留热品黄| 国产白嫩精品久久| 大鸡吧尹人在线| 不卡人妻少妇精品毛片一区23区视频| 五月天激情小说网| 性吧在线视频| 欧美综合骚| 96久久科窝| 野狼激情网| 亚洲丝袜天堂| 久久超碰亚洲人| 熟女AV一区| 亚州色图片在线色| 绯色AV粉色AV蜜臀AV| 欧美色图成人网一区二区 | 国产精品色色| 青娱乐av在线| 丝袜综合色图| 欧美日韩人人早| 黄呦呦在线| 91久久堂| 密臀在线视频| 亚洲国产精品无石码久久 | 小骚逼被操的爽不爽| 最新9久久久9免费视频| 91国产伊人大香蕉| 蜜臀视频网站| a片久久久久久久久久久久 | 欧美超碰97| 最新日日夜夜天天干干| 国产传媒操逼视频| 狠狠干综合| 久久精品视频久久久| 亚洲少妇激情视频| 香蕉大久久久| 精品人妻一区二区三区在| 婷婷av在线中文字幕| 18禁超污无遮挡无码免费网| 国内毛片无码一级毛片| 日本三级韩三级99久久| 9热9热综合网| 超碰到97情色| 国产91影院| 国产操逼网站亚洲一级黄色| 午夜视频久久久久一区| 激情久久久| 成人日韩中文字幕| 玖玖爱视频网站| 成年人黄色视频免费| 日本性爱少妇| 国产怡红院| 欧美日韩国产精品久久色婷婷| 国产日韩久久| 日本一本道A级黄色毛片试看60分钟| 久久丁香| 操老熟女AV| 国产v亚洲v日韩v欧美v片另类| 久久久精品91八戒| 啪啪啪大香蕉| 亚洲情色五月天| 久草综合网| 操婢日韩| 91天天日| 插B在线观看| 欧美黄色片在线播放| 九九碰九九爱97| 亚洲黄a三级三级三级看三级| 欧美78P| 精品性爱一区二区| 欧美激情片一区二区| 美女91在线| aaaa黄片| 99精品高潮| 亚洲国产一级黄色视频| 免费观看欧美日韩操逼视频| 九九九九免费高| 久久超碰国产一区二区三区| 大香蕉综合| 破处bbq| 国产Av超碰| 不卡九肏| 夜夜精品视频| 韩日精品四区| 欧美性五月| 老司机深夜影院18未满| 97这里都是精品| 国产捆绑一区| 日本人体九九九九九九| 国产一线二线三线av| 欧美另类综合久久| 色娱乐色呦呦夜夜夜夜av| 国产精品点击进入在线影院高清| 国产刺激视频| 无套后入双马尾| www色婷婷| 成年人免费观看网站| 人人操人人uiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii | 天天日天天干天天操| 免费看片黄| 精品人妻一区二区三区-国产| 黑白配性爱AV成| 天天操天天舔| 熟妇激情| 国产精品老师| 偷拍新久久| 99亚洲天堂| 精品丰满熟妇人妻一区| 激情五月丁香五月| 欧美97se| 欧美综合自拍成人自拍第二十页| 国语精品av| 黑丝少妇在线观看| 久久加勒比| 美腿色图| 26uuu最新| 熟妇高潮一区二| 天天弄天天操| 职场同事知名国产国产精品久久欧美日韩| 亚洲无码国产精品久久| 亚洲国产青青| 人人妻人人狠人人| 清纯唯美综合| 五月丁香色综合| 手机看片91人妻| 女优免费一区二区永久| 999综合网| 韩国轻伦国内自拍一区| 熟女五十路一区二区三| 色香伊人| 成人短视频在线观看| 97欧美综合网| 神马久久久久久久久久久久| 变态乱伦伪娘灌肠一区二区| 大干人妻| 亚洲宅男天堂| 岛国在线国产| 中文一区在线日| 狠狠色色| 2020久久免费视频| 狠狠躁天天躁日日躁97| 精品亚洲国产成人AV制服丝袜| 国产99热| 亚洲视频小说| 人妻AV在线| 91色欧美| 97天天操天天干| 久99| 激情黄色片在线观看| 伊人久久亚洲色欲综合网站 | 欧美专利1区2区3区4区5区免费| 一级二级三级黑人无码| 青草园大香蕉| 99re不伦| 操逼操网| 秋霞一集毛片观看| 亚洲九九视频在线观看| 男人的天堂在线2| 啪一啪免费视频| 久久成年片色大黄全免费网站| 97精品97久久| 亚洲精品天天影视综合网 | 一个人免费视频观看在线WWW| 四虎精品一区| 久久久久久久久久久97| 爽 好舒服 无码刺激久久| 午夜经典| 啊啊啊好疼| a人欧美综合天堂麻豆| 第一高清av中文字幕| 97超碰磁| 中文有码9| 久久久成人精品| 日韩在线视频1234| 国产一级αv免费看片| 性无码专区2020| 97网色| 超碰日韩美妻| 超碰天天操| 国产精品亚洲免费| 欧美成人性爱视频免费观看| 17c在线成人免费A片观看| 国产精品久久久久9999小说| 岛国999| 色综合潮| 麻豆国产原创AV色哟哟 | 777AV电影| 亚洲一二三精品久久网| 久99视频| 亚洲一区二区三区AV无码 | 91五月天| 很黄很色的视频在线观看| 国产品精品自在在线午夜免费| 久久9免费视频| 日本黄页视频在线观看| 亚洲欧美日韩有码| 亭亭丁香激情| 日韩乱码av| 亚洲麻豆精品二区三区| 婷婷色在线| 精品亚洲国产成人AV制服丝袜| av婷婷色网| 久操精品网| 亚洲精品久久久久久久蜜桃臀| 一二三四视频中文字幕在线看| 亚洲av噜噜噜噜噜噜| 欧美亚洲首页| 天天摸天天操视频| 国产欧美日产一区二区三区 - 国产欧美日 | 韩国成人精品久久久免费看| 青青青国产手线观看视频2| 久久大| 亚洲日韩电影| 亚洲一区二区三区春色| 欧美色宗合| 99久久久无码国产精品性啊聊| 亚欧操逼片在线观看 | 亚91亚洲网| 99青草| 天天舔九色婷婷| 国产又大又粗又长视频在线| 久久伊人青青草| 熟妇人妻一区二区三区| 99久久无色码| 欧天美中出| 天天操人人操骚逼网站| 精品女同一区| 偷窥自拍亚洲| 亚洲色婷婷久久久综合日本| 精品在线78| 男人亚洲天堂| 久久精品国产亚洲妲己影视| 亚洲国产精品无码AV久久久| 2019久久久久久久久福利| 欧美日韩国产三级黄色| 成视频在线观看免费看| 凹凸视频特色日本特黄| 亚洲色图久久成人| 超碰夫妻97| 啊啊啊啊啊啊啊啊啊在线观看| 俺去啦自拍| 3P丝袜熟女 色综合| 伊人国产成人av网站| 国内亚洲高清无码| 99久久e免费热视| 欧美激情综合色综合啪啪五月| 国内精品伊人久久久久影院会| 日韩性爱免费视频在线网站| 国产女人高潮嗷嗷嗷叫小说 | 97人人草| 97视频在线免费看| 少妇500双飞99| 久操影视| 国产欧洲精品亚洲午夜拍精品| 欧美人妻另类在线| 欧美午夜熟妇黑人精品91| 亚洲天天在线| 一起草日韩| 欧美日韩国产中文超碰| 97 九色| 欧美啪啪色吧在线| av绯色| 可以免费观看的av| 青青草字幕AV| 人妻第一页| 强奸乱伦Av网| 国产AV超爽| 97干天天| 精品免费一区| 天堂无码精品国产久| 亚洲天堂色图| 中文熟女五十乱码在线| 视频一区二区免费在线| 探花激情视频| 综合久欧洲| 久久久久久久91| 亚洲自拍天堂| 亚洲五月丁香花狠狠干一区二区三区| 国精综合一二三区影视| 大香蕉懂9| 亚洲av综合色| 婷婷综合在线观看| 国产三级中文字幕粉嫩| 欧美一级久久久丰满| 日韩三级网址| 丝袜美腿91| 欧美视频一区二区在线| 日本99热| 一本色道久久综合亚洲二区三区| 性暴力欧美猛交在线直播| 亚洲操逼网| 欧美最婬乱婬爆婬牲视频| 人妻二区| 欧美亚洲第1页| 日韩97P| 亚洲一区二区性爱电影| 素颜老阿姨乱情色| 欧美情色亚洲| 国产福利第一视频| 国产91丝袜在线播放蜜月| 极品欧美一区二区三区| 看看小穴| 啊啊啊好想要| 任你艹| 亚洲天堂男| 熟女六十路| 久久久九| 色爱三区| 中文幕97| 国产成年免费大片黄在线观看| 91亚洲黑人| 色九久| 伊人成人中文字幕久久网| 人妻人久久精品中文字幕| 凸凹视频在线观看| 国产风韵犹存熟妇三区| 在线A日本| 久久视频少妇美女| 成人av在线播放| 91欧美美女日韩国产婷婷| 蜜乳AV免费观看| 精品国产网站| 日韩精品字幕| 日本欧美色| 久久黄片国产一区二区| 少妇人妻精品| 日本αv| 国产美女激情| 伊人久久大香线蕉无码| 欧美中文狠| 黄片aaaaa一区| 九九九九九精品十六| 国产性爱在线视频一区二区| 久久久99999久网站| 日韩国产欧美伦理在线| 好爽免费视频,| 午夜国产成人福利视频| 欧美日日人人天天| 亚洲天堂区| 97K超碰在线| 精品一区二区三区蜜桃臀赵总 | 国产a级午夜毛片| 好涩综合| 五月天色图| 天天肏天天干| 久草婷婷| 97精品熟女少妇一区| 日夜尻逼网| 日本三级久| 免费精品无码一级毛片牛牛影视| 久久欧洲| 人人摸人人叼| 国产精品伦理| 丝袜制服字幕在线| 操逼无码操逼| 情色五月天网| 色婷婷基地| 精品人妻一区二区三区在| 最新精品久久蜜桃 | 日本中文熟女视频| 日韩色女精品| 亚洲色人妻综合| 1级黄色夫妻对换性交免费看| 欧美手机在线综合| 极品白嫩福利在线| 国产精品嫩草久久久久| 日本媚薬中文字幕在线| 色爱欲亚洲| 国语av最新自产拍在线观看| 国产400孕妇孕交群| 日日夜夜狠狠| 欧美一区二区三区四区综合| 色欧美在线| 久久久久久夜夜夜夜夜| 熟女精品va中文字幕| 91中文字幕| 欧洲亚洲天堂精品 | 色综合久| 亚洲97| 天天操熟妇| 97欧美精品综合| 国产超碰人人操| 最新av网站在线观看| 人妻黑丝袜电影| 中文字幕一区 二 区 三 四 五 区日 日 骚 | 国产品精品自在在线午夜免费| 热久久无毒不卡| 成 人 影视 一区 二区 三区 四区 | 97欧美色| 久久一二三四五六七八九区区| 五月天成人综合| 国产99精品一区二区三区免费| 亚洲欧美另类图片| 麻豆区久久久久亚| 爱欲AV| 精品妇女一区二区三区| 网页导航五月天免费一二三区 | 亚洲另类色综合网站| 久久久久久久久久久久久久久乱码| 亚洲操人| 午夜无码精品免费看性色| 人人操人人色网| 欧美日韩一二三| 日日碰视频网| 成人综合网 欧美| 婷婷五月天影院| 久久久久成人亚洲国产| 色欧洲| 欧美变态激情网| 99999精品视频| 丁香激情网| 人人天天干干| 色综合天天| 蜜臀一区二区三区在线| 91国产丝袜白虎| 制服中出中文人人精品| 97色在线观看| 超碰成人国产| 精品国产三级av韩国在线| 九九九国产精品| 中文字幕少妇色 | 蜜屁Av| 精品无码人妻一区二区免费蜜桃| 97资源欧美| 久操九九九九| 欧美图片偷拍| 狠狠躁AV| 综合欧美日本三级| 精品一区二区人妖| 久久免费精品视频免一| 久久久久亚洲Aⅴ无码| 免费一级黄色录像影片| 成人性爱视频在线看| 三级色综合| 99久久久无码精品国产人| 岛国黄| 3P乱轮视频| 亚洲 自拍偷拍 欧美| AA特级绝黄| 秋霞欧美性爰视频| 亚洲Av无码成人精品国产| 欧洲熟妇xxXx欧美老妇裸体| 色婷婷色99国产综合精品| 亚洲午夜福利视频| 麻豆这里只有精品| 亚州情色j区| 午夜丁香婷婷| 天堂九九九九九九九九九| 超碰色中文| 天天舔天天日天天射| 好舒服视频| 欧美色图99| 2017大香蕉| 精品国产一区探花在线观看| 操B视频日韩无码| 欧美日本一区二区a人| aaaa少妇高潮大片| 日韩A优精品在线观看| 欧亚日本情色| 欧美情色男人的天堂| 久久久久久久久久久久久女过产乱-少妇高潮一区二区三区喷水-成人AV | 国产白丝网站| 99精品在线| 女人综合网| 九九精品99| 久久艹逼视频| 五月婷婷色| 中文久久一区| 人妻无码一区二区三区久久99| 亚洲97网站| 激情小说亚洲| 一区二区三区黄片免费观看| 玖玖婷婷五月天| 国产欧美美女免费观看视频| 日韩av色图| 在线中文字幕视频| 日韩欧美亚洲自拍偷拍|