日韩精品一区二区三区在线视频放-无码中文字幕V?一区二区-成年片免费观看视频-国内少妇人妻丰满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
返回資訊列表
玖玖大干人妻| 九九九九热只有精品| 亚洲啪啪视频免费| 五月婷婷激情综合| 精品人妻15区| 欧美另类自拍 | 一道本东京热加勒比一区二区三区| 亚洲色宗合| 婷婷五月天影院| 欧美天堂第二区| 人人做天天爱| 九久久精品| 丁香婷婷九月| 成人免费毛片| 亚洲诱惑天堂| 欧美 亚洲 偷拍自拍| 欧美激情专区| 69久久久久久久久久久久久| 国产不卡精品91| 2023天天操夜夜操| 久草资源欧美在线视频| 午夜福利成人免费视频| 91精品丝袜久久久久久| 久久97| 手机午夜电影神马久久| 嗯嗯啊啊的视频| 男人的天堂2010| 一级岛国大片| 亚洲av资源| 亚洲凸凹超碰成人| 女同在线视频一区| 人妻少妇精品视频一区二区三区| 狠狠躁AV| 久久欲| 強姦亂倫a| 亚欧性爱ab| 九九无码| 亚洲精品一二牛牛| 日日噜噜夜夜久久亚洲一区二区 | 亚州情色j区| 精彩久久中文| 91午夜无码| 后入福利视频| 精品久久人妻成人网| 久久久久久久久久久久久久久乱码| 日本一区二区三区四区五区六区七区八区九区 | 91成人久久| 欧美大色交| 亚洲欧洲综合成人av一区| 日韩ab网 | 又黄又粗又硬又长又大| 午夜a成v人电影| 97精品视频网站| 欧亚性爱视频免费看| 伊人国产AV| 国内毛片无码一级毛片| 97啪啪| 丁香五月天婷婷姐| 91丝袜激情在线| 亚洲一级性爱视频免费看| 天天草AV| 无码欧美有限公司| 黄片免费视频2019| 99日视频在线免费| 色色色色色色色色色色色色色色综合| 欧美一级A一级a爱片久久| 中文字幕一区 二 区 三 四 五 区日 日 骚 | 风间由美日韩欧美久久| 青青草原人妻| 国产精品人人爽人人做可爱福利| 96精品久久久| 欧美中文狠| 日本高清免费一本视频在线观看| 九九九网站| 91成人社区| 午夜精品视频777| 国内偷拍精品一区二区| 欧美操逼录像国产黄色国产| 人妻天天操天天爽视频免费| 国产一区二区a毛片| 午夜男人的天堂| 男人 天堂 日 亚洲| 国产91av在线播放| 精品日韩| 人伦四五区| 亚洲一二三四区机械| 国产精品探花在线| 人人操人人大香蕉| 3PAV乱伦视频| 亚洲 欧美 第一页| 99热线麻豆| 看黑丝美女操逼青青网站| 日韩av不卡在线看| 女人精品内射国产99| 亚洲图片偷拍欧美| 99只有精品| 91久热这里只有精品| 午夜福利精品| 久久激情五月| 精品中文字幕第一页| 一区二区影视| 美欧色综合| 曰本熟女视频| 日韩一级二级在线| 伊人综合色网| 亚洲欧美精品福利在线| 伊人网青青| 老熟女91视频| 东京热男人天堂| 天天天操天天天爱| 久久蜜桃综合网| 免费的av网| 久久国产三区| 长长久久免费视频| 欧美亚洲日本激情在线| 手机在线视频国内精品| 亚洲精品国产日韩无码AV永久免| 日韩激情无码影院| 精品视频在线观看精品| 伦理第一页| 亚洲女人毛茸茸91| 91美女视频直播| 亚洲天天自拍| 男人天堂2030| 污色区网站| 国产精品久久久久久久久久久久久久吹| 极品色电影院| 视频在线观看青青99国产| 风月影院男女十八禁| 亚洲国内精品成人不卡| 久久精品人妻一区二区三区| 色综九九九一区| 黑人性欧美| 快灬快灬 一下爽蜜桃在线观看 | 性爱AV天堂| 老鸭窝黄色视频网站| 亚洲综合校园春色| 91模特在线观看| 麻豆成人影音在线| 人妻色偷色噜| 国产91影院| 天天射天天| 亚洲AV秘无码一区..| 91香蕉视频在线观看免费| 亚欧性爱无码| 亚洲操人| 一区麻豆 高清中文字幕| 欧亚第一综合网| 天堂亚洲精品久久老牛| 欧美96精品在线| 色约约一区=区三区| 老妇女91| 人人妻人射| 2021久久国产综合精品青草| av中文字幕在线熟女| 97爱欧美| 欧美综合狠| 久久香蕉国产线看观看亚洲女人 | 变态综合色| 91丝袜在线观看| 69少妇一区二区| 精品性爱无码在线播放| 第45页一区二区| 亚洲精品久久一区二区三区蜜桃臀| 欧美在线综合| 精品一级毛片在线观看| 岛国在线一区二区三区| 日韩美一区| 国产小炒后入式| 骚妻少妇精品性色无码四色A V| 九久精品| 日韩乱插| 日韩懂色网| 激情婷婷黑人91| 欧美综合第一页| 嫩草影院在线观看精品| 中文字幕一区二区三区蜜臀| 激情婷婷丁香网| 樱花蜜乳av| 高清无码 国产精品| 天天综合91在线| 熟女色图在线| 久久免费9| 亚洲91在线播放影院| AA丁香综合激情| 97视频在线视频| 2017av无码免费无线播| 日本色婷婷| 青青草白白色| 尤物网址| 日韩中文字幕av在线播放| 东京热,男人的天堂| 秋霞一级A片黄色视频| 成人 日本A片无码8888| 国产精品熟妇一区二区三| 超碰成人人人爽人人爽| 91啪9色| 久久久月天| 久久这里是精品| 亚洲人在线成线成人| 色欲色香天天天综合网www-亚洲综合国| 91高潮| 久久香蕉国产线看观看猫咪av| 欧美高潮在线| 国产精品国产自产高清AV| 日韩99神马视频播放片在线播放| 精品国产乱码久久久久久蜜臀| 色欲日韩欧美在线一区| 欧美第一页| 国产久久av| 九九九九九九成人| 青娱乐欧美激情一区二区| 青青草在线视频人人想人人上| 东京热毛片调教| 国产精品麻豆视频网站| 中文字幕、久久精品国产2020、久久综合久久自在自线精品自、亚洲 | 男人天堂导航| 丰满欧美少妇| 国产真乱mangent| 熟妇艹鸡八| 性色av大全| 久插综合| 国产美女激情| 艹比视频国产精品| 国产精品白丝AV| 色色激情| 在线有码中文字幕| 香蕉免费一区二区三区不读| 嫖老熟女A片一二三区| 岛国不卡超碰护士AV在线播放| 日本黄色大片一级视频免费麻豆| 亚热日本熟女| 五月婷婷六月丁香| 视频国产成人精品日本亚洲18| 欧美日韩黄色片一区二区三区四区人与兽做爱| 操婢日韩| 91精品导航| 国产黄a三级三级三级av在线看| 久久精品久| 五月天婷婷综合网| A 天堂| 97超碰资源网| 久久婷婷伊人| 色欲Av人妻精品一区二| 91路www| 亚洲精品乱码久久久久久蜜桃麻豆 | 97超碰久久| 91啪9色| 午夜福利免费精品视频| 97色色色| 一区中文字幕二区日韩| 99热免费| 岛国在线免费视频| 天天操福利视频综合网站| 91狠| 在线人人人人人人精品超 | 天天香香欲综合| 成人免费视瓶| 蜜桃臀av一区二区| 97久久久精品| 婷婷五月天综合网| 在线a v| 成人久久久| 夜夜综合| 好湿好紧好爽 视频| 国产人伦a片信息免费片| 一二区在线观看视频| 日韩精品三区四区| 色色无码| 在线v中文字幕一区二区三区| 欧美激情在线观看视频| 试看福利| 日本人妻一区二区| 色色婷婷五月天| 女人久久久| 乱色老一区二区三区的观看方式| 亚洲一区二区三区麻豆传媒| 激情接吻视频久久久久久| 精品视频在线观看精品| 999国产精品999久久久久久| 九九九精品一区二区无码| 久久超碰爱| 立川理惠无码一区二区| 天天综合网日韩7799| 亚洲一区二区在线观看91| 色香91| 国产夜夜艹| 亚洲综合色男人网| 国产日韩精品人妻久久久久色欲网站| 日韩精品一二三| 亚州国产成人精品女人久久| 精品一久久久| 青青草国产亚洲精品久久| 精品一区二区三区蜜桃臀赵总 | 大香蕉97久久| 另类小说五月天| 51一区二区三区| 久久东京伊人一本到鬼色| 国产99999| 97人人夜| 久久αⅴ| 在线不欧美| 后入精品| 日韩一卡二卡三卡| 久久婷婷苹果| 久久九操在线观看| 丝袜美腿91| 久久久久幕乱码| 麻豆a'v电影| 天天在线91| 久久久一区二区| 欧美色图人妻| 自拍第一页| 女人天堂网| 91狠狠狠| 超碰99re| 国产操逼网站亚洲一级黄色| 精品无码欧美三级| 中文字幕一区二区韩| 黄片aaaaa一区| 国产亚洲禁久一区二区| 大香蕉乱伦视频网| 婷婷亚洲中文字幕在线| 四季AV综合网址| 9精品在线| 密臀AV在线| 中文字幕AV片| 国产AB视频| 欧美 日韩 另类 亚洲| 91精品成人www| 欧美制服网站美腿丝袜| 78久久久| 人人妻天天做天天爽| 久久久国产护士丝袜美腿一| 久久啊啊啊| 麻豆视频国产一区二区| 强奸乱伦免费网站| 精品人妻中文字幕4399| 人人操人人狠狠操| 久久久久久久久久久人妻| 中文乱码99| 色偷偷超碰亚洲| 唯美清纯 妖精视频| 欧美色狠| 久久精品国产99精品亚洲蜜...| 日韩成人在线性爱视频| 亚欧精品久久久久久久久久久| 日日干日日操五月天伦理视频| 久久香蕉超碰97国产精品| 欧洲亚洲人人爽爽视频| 97久久国产| 免费一二区| 日韩欧美日韩| 欧美在线观看综合国产| 久久大线蕉一区| 日本精品加勒比海一区| 成人av福利在线观看| 日本精品不卡一二三区| 91色爽欧美| 国产精品久久久久久久久久久久久久久久 | 边做饭边操逼逼| 影音先锋中文字幕日本好一区二区 | 超碰97亚洲区| 黄色工厂这里只有精品| 东北丰满熟女国产一区| 青青草视频久久| 天天操天天日天天干| 午夜超碰| www狠狠| 淫乱图区 | 超碰97起碰| 开心六月色| 91n处女在线观看| 亚洲精品性爱片| 中文字幕二区日韩天堂| 国产中文字幕在线观看| 久久五十路熟女人妻| 国产伦精品一区二区三区视频女| 后入式视频国产自| 日韩欧美午夜一区二区| 花野真衣| 亚洲天堂资源| 亚洲成人性| 久久久久骚| 熟女人妻一区二区三区免费看| 丰满人妻无码一区二区三区| 欧美一二三区四五区| 91色插| 午夜福利视频在线一区| 情色五月天网| 2020中文在线一区二区三区| 大香蕉亚洲中文| 久久久99999久网站| 亚洲无992tv| 校园春色综合| 人妻丝袜日本| 亚洲男人天堂Av| 久久久久久99999国产精品| 乱伦Av网| 少妇内射视频| 亚洲最新av无码成人精品区 | 久久久久婷婷精品av电影| 国产又黄又粗的视频| 乱理日韩中文| 翔田千里A片一区二区| 日韩pv中文| aa片毛片| 大香蕉免| 国产无码精品成人| 日韩人妻无码精品系列| 人人干黄色| 亚洲日韩青青草色月| 999久久久| 国产99 中文字幕日韩小视频| 九九九九97| 国产三区免费在线观看| 欧亚韩国999| 婷婷色综合| 欧美男人的天堂| 男人夜色天堂ss| 亚洲人天堂| 爱欲AV| 东京热av影院| 亚洲一区二区专区-国产丝袜精品丝袜-成人AV | 日韩九九九| 欧美有码激情视频一区二区三区| 91人人操| 中国黑人三级片网站上区| 国产无马在线| 亚洲一二三四区在线免费看视频| 依人大香蕉| 污色区网站| 亚拍在线| 97国产高清视频在线观看| 一本色道久久综合亚洲二区三区| 丁香五月影院| 人妻丝袜一区二区三区在线| 伊人久久亚洲中文字幕| 欧美色宗合| 少妇69中文| 日韩欧美字幕亚洲一区二区| 欧色网址| 97视频620| 国产亚洲色婷婷久久99精品91葵花宝典| 热热色综合网| 九九精品美女高溯喷水| 操逼片中文| 欧美熟女逼久久久久久| 看一级黄色视频| 亚洲毛片基地专区| 欧美亚综合色图| 亚洲男人天堂2012| 欧美在线91| 无码人妻精品一区二区三区九九| 久干9操| 啪啪啪综合| 九月AV| 美女操逼A A| 日韩特一级久久| 97亚洲性爱| 亚洲少妇综合在线播放| 国产精品免费久久久久久久久久| 加勒比综合a∨| 亚州伊人色综台| 欧美国产欧美在线观看| 麻豆天美在线| 啊啊啊啊啊在线视频| 被体育老师抱着c到高潮| 天天综合青苹果| 综合网少妇| 日韩兔费看黄片| 百度百度日本操逼| 人人摸人人叼| 天天肏美女| 亚洲精品乱码久久久久久蜜桃麻豆| 青青青国产手线观看视频2| 91老熟女91老女人| 国产又大又粗又色生活片亚洲国产精品成人久久久综合免费 | 好爽,再快点啊哈嗯嗯嗯嗯| 国产大学生口爆吞精合集| 夜夜嗨视频| 99热婷婷一区二区三| 大香蕉综合| 亚洲 日本 一 二 三| 日B操| 外站AV在线| 在线播放欧洲免费av| 亚洲一二三| 久久视网78| 久久久精品成人国产| 操逼天美3区| 国产操逼逼网| 婷婷五月激情综合| 91国内外在线| 不卡一区二区日本视频| 在线观看 99热| 欧美色图亚洲特色| 久这精品中文在线观看视频| 91 亚欧| 人人摸人人干| 免费9 1久久| 天天摸夜夜摸| oumeisetu综合| 丝袜 亚洲 偷拍| 太久视频| 日韩欧美亚洲一区二区三区影院| 一区三区啪啪| 97超碰久久| 精品97精品97| 欧美91精彩| 性爱欧美五月| 9999亚洲电影| 天堂亚洲精品久久老牛| 精吧天堂| 嗯嗯嗯啊啊在线观看| 91大香蕉伊人| 男人天堂东京热| 一区二区高清视频| 精品视频在线观看精品| 国产又黄又粗的视频| 思思热一热婷婷热一热| 日韩乱伦视频| 秋霞蝌科网日本一区| 中国一区二区亚洲人妻| 成人黑料社久久| 亚洲无码99| 九九综合| 丝袜AV一二三区| 国产亚洲日韩在线三区黑人| 亚洲超碰AV| 中文字幕一区二区三区视频播放| 人妻AV在线| 91美女视屏| 九九热五区| A男人的天堂| 亚洲一区二区中文字幕| V A在线| 操东北女人| 特级特黄一级毛片免费| 黄色av片三级三级三级免费看| 无码又爽又硬又激情免费视频| 亚洲另类久操网| 日本熟人妻中文字幕在线|...久久国产精品-国产精品_日本一区二区三区中文字幕 | 天天透伊人| 一区中文字幕二区日韩| 狠操91,com| 中国特猛少妇色xxx| 91大神精品长腿在线观看网站| 日本视频一区二区三区| 混色激情av| 97超碰在线资源网站| 人妻内射一区二区在线视频| 玖玖久久久| 欧美色图亚洲色| αⅴ天堂| 91色综| 天堂亚洲精品久久老牛| 国产农村妇女精品| 99国产精品视频尤物| 欧美一级黄片免费播放| 精品国产乱码久久久久久影片| 亚洲AV无码久久精品蜜桃小说| 成人欧美日超碰| 亚洲成成熟女人综合一区二区| 100啪啪视频大全| 99无码视频| 大香网伊人久久综合网eew| 91麻豆天美传媒在线| 亚洲欧美日韩偷拍色图| 99精品在线| 日韩无码久久熟女一级片| 色欲天天综合久久久无码网中文| 丁香色色网| 91视频成人福利网站在线一区 | 男啪女色黄无遮挡免费观看| 男人a天堂手机在线版| 九九九综合精品| 久射吧| 一起草欧美| 九九热AV| 美女91网| 欧美做爰无码A片视频| 色女综合| 东京热一区二区中文字幕| 精品久久久久久AV无码| oumeisetu综合| 后入人妻无码| 欧美精品999| 少好三P| 欧美一区二区三区另类精品| 91伊人大香蕉| 人人妻碰人人免费| 男人天堂.AB| 丝袜足交视频| 97超碰jingpin| 久夜操| 成人三一级一片aaa| 欧美91在线+|+欧美| 超碰人人妻| 精品91| 99热只有| 成年人黄色| 性爱av在线免费观看| 嗯~啊~快点 死我视频免费看网站| 少妇厨房愉情理伦片bd在线观看| 91精品电影18| 在线观看亚洲成人精品| 久久嫩草国产成人一区| 色y情视频免费看| 1204av韩国| 久久青青草在线视频| 亚州伊人色综台| 亚洲丝袜综合| 96精品久久久久中文字幕| 日本人妻伦在线中文字幕| 97久久超碰国产网站| 国产亚洲日韩欧| 美日韩在线不卡人妻| 操逼啊啊啊91| 亚洲日韩东京热一区| 老外又粗又长一晚做五次| 精品久久久久久久久久久久| 欧美性爱日韩性爱| 夜夜高潮夜夜爽高清视频一| 欧美国产欧美在线观看| 日本天堂在线播放| 东京热亚洲一区二区| 天啪| 精品一区二区3区| 午夜国产综合视频在线观看| 欧美九九99久久精品| 免费一级黄色录像影片| 美女十八禁| 91在线综合网| 国产精品自在自拍视频| 欧美激情视频一区二区| 色五月天AV| 日韩偷拍一区二区三区 | 四虎精品永久在线观看| 青青11操操操操操操操操| 亚洲校园激情| 九一综合精品视品av| AV不卡在线| 成人小电影网站tex| 91 刺激在线| 国产在线观看91精品一区| 日韩欧美蜜桃精品久久中文字幕久久 | 免费观看国产小粉嫩喷水精品午| 久热精品在线| 男插女青青影院| 国产高清在线观看欧美| 青草成人免费视频一com| 天综合中文| 欧美性爱三区二区| 久久专区| nuu12国产麻豆精品| 操婷婷逼| 97亚洲精品| 国产乱不卡| 伊人久久大香线综合无码| 色狠狠色| 秋霞一级鲁丝片A片| 91久久久久| 人妻人人澡人人爽人人| 亚洲丝袜二区| 天天躁日日躁AAA片李宗瑞| 日本阿v天堂在线观看| 青青欧洲黑| 妺妺跟我一起洗澡没忍住| 懂色中文一区二区三区| 色五月av| 国产后入式在线观看| 91爰爱欧美| 久久 国产精品 一区| 亚洲一区中文精品| 天天综合网视频91| 日本最新免费韩国1区2区视频播放| 久久人人妻| 色色五月天婷婷| 无码免费精品高清| 欧美综合娱乐久久| 蜜乳视频网站| 亚洲视频中文一区| 久久老女人| 久久久久久久91| 亚洲欧美综合图片| 婷婷九月丁香| 青青草国产一区二区三区| 亚洲成人妻日韩在线| 青青草精品| 伊人久久国产免费观看视频| 亚洲综合五月天| 九色视频91| 妺妺跟我一起洗澡没忍住| 免费久久一级毛片大黄| 操东北女人| 97精品视频| 97av在线观看| 亚洲在线a| 亚洲国产97| 少妇无码999| 亚洲天堂资源网| 免费视频一二三区| 亚洲精品久久久久毛片A片拉屎| 欧美在线啊啊| 久久久精品网站| 天天爽天天操啊啊啊| 野狼福利社区| av激情亚洲五月天| 蜜桃午夜视频一区二区| 日本ZZ高免费A级视频| 国产精品另类| 91亚洲色图| 日韩熟女操逼| 中文人妻av高清一区| 少妇综合网| AA级电影三区| 艹比视频国产精品| 欧美春色| 国产主播福利| 99精品成人免费看| 大鸡吧尹人在线| 成人天天看站长推荐| 99热日| 青青草大香蕉视频| 中文字幕蜜乳av| 久久这里只精品免费福利| 中文字幕乱在线伦视频中文字幕乱码在线 | 精品超碰国产| 日韩pv中文| 91黑丝美女| 99热线麻豆| 狠狠操使劲操| 国内毛片婷婷六月色| 亚洲欧美国产日本一区二区三区| 麻豆精品久久久久久久| 欧美老妇综合网| 久久中文字幕女同性恋一区| 不卡日本一区二区| 欧美人人曰人人操人人射射| 9999免费精彩视频| 中文字幕一区二区三区蜜臀| 亚洲综合图片在线| 青青草久草| 久久的免费性爱视频| 丰满高潮18xxxx| 亚洲AV无码天美传媒一区| 日本五十路在线| 亚洲精品人伦一区二区| 特色a在线上| 日本不卡高清视频| 98色网| 91色图片| 欧美综合综合| 一级特黄aaa大片在线观看成人一级片在线观看 | 一块操欧美| 蜜臀亚洲中文| 91痴汉| 亚洲小电影免费涩涩成人在线高清| 成视频在线观看免费看| 综合网亚| 天天综合欧美| 免费操逼视频下载| 中文字幕亚洲欧美在线不卡| 亚洲精品九九九九九九| 无码精品久久| 殴美,日韩国产伦精品| 亚洲人精品午夜不卡| 亚洲国产精品V?在线播放| 欧美精品99久久久| 国产精品毛片| 青草成人免费视频一com| 睡产熟女乱伦| 精品一久久久| 亚洲 欧美 日韩 国产一区二区| 在线播放成人网站| 曰韩少妇无码| 一区二区三区亚洲| 国产福利夜| 久久激情婷婷| 97人人射| 久草精品在线| 亚洲黄网在哪免费看| 九九九九九用不成了| 亚洲A曰本VA欧美VA视频| 国产伦精品一区二区三区视频女| 亚洲 中文 欧美 日韩 在线| 高清成年美女黄网站免费大全| 九九热免费在线国产视频伊人五月| 亚洲无码一区成人免费午夜| 亚洲一区中文字幕一区| 色踪合AV| 在线看片国产精品每日更新| 中出789在线视频| 老外又粗又长一晚做五次| 综合国产97| 久久久久久精| 操人妻少妇中文| 大茄子熟女AV导航| 大香蕉黄色一区| 国产乱不卡| 亚洲最新中文字幕免费| 国产精品久久久久久久免牛肉蒲团| 秋霞一级鲁丝片A片| 91亚州日韩高清| 美女久久久久久久久久久| 亚洲国男人的天堂| 亚洲人综合19| 人妻激情另类| 家庭乱伦麻豆| 性性欧美| 操逼操逼视频操逼| 久久精品女同亚洲女同13| 精品亚洲国产成人AV制服丝袜 | 中文字幕 人妻不满 在线视频| 啊啊啊好舒服视频| 五月丁香久久| 毛片一区二区| 欧美婷婷久久| 1024人妻熟女一区二区三区| 涩亚洲欧洲| 日日夜夜天天| 国产强奸91| 五十路熟女,国产欧美精品区一区二区三区| 国产一级黄色片在线观看| 夜夜嗨一区| 青青草日韩无码| 国内一级精品| 久久理论字幕视频| 丁香六月激情| 91性| 啪啪啪综合网| 97精品一区二区视频| 日本男人插女人的逼黄色| 天天操天天舔| 女生久久网| 啊啊啊啊二区好大| 日韩精品中文字幕二区| 玖玖久久久| 三级网站超变态精品| 天天看,天天做| 青青草依人大香蕉| 大香蕉伊人在线成人AV在线观看| 亚洲AV无码黄色强奸| 九九热精品视频六| 欧美国产视频| 国产成人精品亚洲日本| TS人妖另类精品视频系列| 蜜臀久久精品久久久久视频| 又黄又爽在线观看视频| 欧美性爱无码一区二区三区| 蜜臀久久99精品久久久久久成人小说| 91美女在线视频| 91精品综合久久久久久五月丁香| 色噜噜国产精品视频一区二区| 欧美性爱一区二区三区四区| 天天日天天舔天天喷天天射| 欧美日韩不卡a片| 九久精品| 热久久无毒不卡| 情色av电影| 亚洲国产日韩欧美熟妇在线| 日韩欧美午夜一区二区| 亚洲图片欧美另类综合免费视频大大香| 黑丝少妇在线观看| 亚洲精品国产熟女久久久久久| 欧美se综合| 曰韩香蕉97| 看看小穴| 一区二区三区精品视频| 欧美五十路熟| 91精品在线播放| 又黄又粗又硬又长又大| 久久99操天天日| 人妻 丝袜美腿 中文字幕| 超碰97久久| 91白虎| 97视频在线视频| 日日日啊啊啊| 亚洲熟妇自偷自拍另欧美| 日韩在线观看字幕精品| 亚洲无线码欧洲精品区别| 97资源站日韩| 亚洲欧美视| 试看福利| 午夜精品久久久99| 青娱乐av在线| 成年男人的天堂| 美女丝袜激情小说| 天堂国产AV| 久久熟女人| 日韩免费福利在线观看| 91爱啪| 亚洲人妻久久久| 神马久久啊啊| 青青草啪啪网| 久久久婷婷| 九九九九九九亚洲| www.激情| 高跟丝袜AV专区国产| 久久性爱网站| 久久五十路熟女人妻| 97超碰人妻| 九九九九9999| 天天综合网~91| 久久国产精品一区二区| 亚洲区小说| 欧美最婬乱婬爆婬牲视频| 蜜臀在线网站| 91热色| 人妻另类| 欧美偷拍| 在线不欧美| 国产精品片| 国产成年女黄特黄| 国产在线综合福利网站| 国产搭汕a级片| 台湾佬大香蕉| 91 丝袜在线播放| 日韩欧美亚洲自拍偷拍| 日本人妻最新在线中| 性爱网站一区二区| 国产欧美精选自拍一区| 成人午夜小视频手机在线看| 无码av永久免费专区网站| 成人免费福利在线观看| 免费黄色片子| 女色视频社区| 天天肏美女| 伊人成人情色综合| 色综和网| 91综合天天看| 搡老女人老熟女91老熟女综合网| 亚洲性天堂| 精品九九| 亚洲精品三区在线观看| 成人麻豆av电影网站| 亚洲精品aa久久伊人| 九九AV| 99re这里只有精品3| av东京热男人的天堂| 在线洲亚线| 久操精品| 丰满岳乱妇一区二区三区| 亚洲综合中文字幕有码| 97资源制服丝袜| 青青草精品| 国产AV人人夜夜澡人人爽麻豆| 婷婷10月天青娱乐| 男人女人18禁片免费看网站| 欧美日韩操逼动图| 另类小说五月天| 欧洲精品一区二区三区| 人妻少妇无码| 日本黄大片在线观看视频| 亚洲AV性爱电影| 中文字幕大片三级狠狠干| 婷婷综合在线观看| 欧美丝袜美女电影一二三四区| 精品传媒在线一区| 爱逼综合| 欧美日韩大黄片| 综合五月婷婷| 久操大香蕉超碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰 | 性爱视频啪啪啪啪| 999在线电影香蕉| 亚洲日韩资源| 日韩免费大片一级播放| 干B视频伊人网| 超碰地址久久| 偷窥自拍亚洲天堂网爆| 亚洲国产丝袜在线观看| 在线观看一级α片刺激高潮视频| 丁香五月影院| 大干人妻| 欧美色性爱| 97精品视频网站| 看免费的黄片| 蜜臀人妻少妇久久在线观看| 国产日本一区二区三区蜜臀在线观看| 久久九色| 精品国产乱码久久久久久久| 精品国产www久久| 青青草久草AV| 国产久久av| 亚洲熟女乱色一区二区三区久久久| 亚洲97成人在线观看| 男人的天堂.com| 久久专区| 91 在线亚洲| 91狠狠综合网| 久久亚洲影院一区二区| 综合 亚洲 欧美| 97电影院超碰| 伊人骚琪琪亚洲天堂网站| 久热无码| 97在线免费看视频| 女优视频第10页| 亚洲资源站| 六月婷激情福利天堂69| 性色亚洲| 韩国轻伦国内自拍一区| A 天堂| 91久久18禁| 三级特黄60分钟播放| 欧美中文狠| 国产高清MV操逼视频| 粉嫩av一区二区三区四季| 亚洲AV无码黄色强奸| 台湾佬中文娱乐网久久久久久久久久com| AV不卡在线| 亚洲少妇自拍中文字幕懂色| 偷窥自拍亚洲天堂网爆| 久久香蕉国产线看观看亚洲女人 | 美日韩成人| 夜色91| 午夜精品久久久99| 99在线无码精品秘 入口黑人 | 91最新综合| 狠狠操夜夜| 91麻豆天美国产欧美高潮| 91精品久久久久久综合五月天| 97资源亚洲| 国产视频一区二区三区久久亚洲天堂 | 国产亚洲色婷婷99精品91| 郑州宾馆老熟女露脸啪啪| 欧美日韩亚洲少妇寂寞影院正在播放| 99热精品在线观看| 狠狠操使劲操| 一区二区三区成人| 91Chinese在线| 天堂v无码免费视频| 男人网站婷婷| 99自拍视频在线| 看日韩黄片| 搡老女人老91妇女熟女| 99热这里都是精品| 人人操我人人干| 蜜臀中文无码午夜| 久九九九九九九热| 国产精品自在线发布| 久久精品店| 久草男人天堂| 好吊妞转入那个网| 先锋激情∨在线视频播放| 91久热| 欧美一区二区三区大综合| 91在线精品| 操逼A∨| 天天日熟妇| 色女网日韩| 强奸乱亚洲| 亚洲国产一区二区日韩专区| www.人人摸在线视频| 久久久久久91香蕉国产| 久久久久婷婷| 亚洲欧美91| 国产精品一区二区校花| 日韩AV噜噜噜一区二区三区四区| 91超碰人人| 好看的91视频| 日韩人成网站在线播放| 亚洲美女AV无码| 四虎免费视频| 国产人伦精品一区二区三区| 久久精品色欧美aⅴ一区二区| 美国日韩黄片| 大香蕉懂9| 欧美999999| 少妇蜜汁| 婷婷色色网| 成人 日本A片无码8888| 熟女乱3伦999| 综合色欧美| 看看日B真人视频| 日韩欧美丝袜诱惑| 日韩pv中文| 97在线精品| 人人摸人人摸人人干| 国产多人在线观看视频| 另类天堂| 不卡二三区人妻少妇| 九草九九九| 国产第11页| 青青草大香蕉在线视频| 国产伦精品免编号公布| 亚洲操操| 成年女人18级毛片毛片免费观看| 强奸国产在线| 51久久夜色精品国产麻豆| 91肉片| 91精品91久久久中77777| 欧美瑟综合| 密臀成人视频久久久| 好爽免费视频,| 97色涩| 麻豆国产第一| 欧美熟女妇同| 精品久久久久久久久久久久| 91在线限制级| 嗯嗯嗯不要不要免费视频| 欧美色偷拍 | 大学生美女口爆| 国产深喉视频一区二区| 69精品| 丰满人妻一区二区三区色-百度| 少妇淫妇久久久久久久| 国产sv美女内射| 91精品丝袜久久久久久| 少妇的嫩逼图片| 伊人麻豆传媒| 蜜臀久久99精品久久久久久-DVD原版全| 欧美乱欲| 成人精品无码| 日韩免费簧片| 老司机深夜18禁污污网站| 久久久国产av美女私房| 欧美一区二区福利在线| 欧美亚洲一级在线观看| 亚洲AV性爱电影| 亚洲女毛多水多21P| 色爱综合网| 农村妇女一级二级三级视频| 麻豆天美国美国产AV| 九九热九九热| 你草精品在线视频| 欧美亚州色的图| 亚洲精品九九九九九九| 欧美姓爱综合网| 日本不卡一区| 最新av网站在线观看| 国模不卡| 国产精品熟女乱伦| 口爆综合网| 嗯……啊…嗯嗯…啊…好舒服| 99在线观看无大码| 丝袜色综合| 欧美综合天堂| 国内偷拍精品一区二区| 成年人三级黄色片视频| 果冻国产精品麻豆成人av| 亚洲人妻av| 夜夜夜夜夜夜夜夜夜狠狠狠狠狠狠狠| 97天天操天天干| 在线 欧美 亚洲| 中文字幕欧美丝袜07资源| 国产av激情无码久久天堂| 亚洲人成网www| 秋霞成人做爱| 日韩精品在线观看网站| 91操碰| 91夜色chaopeng| 亚洲91射| 思思久热在线精品66| 欧美老妇曰批的视频| 日本99视频| 美腿丝袜高跟网免费视频免费视频| 天天草AV| 色综合一区二区三区| 免费作爱一级视频|