99精品久久精品一区二区-亚洲熟妇无码?v在线播放-日本国产精品无码字幕在线观看-久久久亚洲永夜AV-亚洲一级无码一区二区一-免费国产成高清人在线视频-中文字幕乱码免费观看-国产毛片精品妇女久久久

ARTICLE DETAIL

資訊詳情

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

SpringBoot+Vue3項(xiàng)目管理系統(tǒng)源碼解析:從庫(kù)表設(shè)計(jì)到前后端聯(lián)調(diào)

SpringBoot+Vue3項(xiàng)目管理系統(tǒng)源碼解析:從庫(kù)表設(shè)計(jì)到前后端聯(lián)調(diào) 手頭正好有一套從需求梳理到落地的企業(yè)項(xiàng)目管理系統(tǒng)源碼技術(shù)棧是 Java SpringBoot Vue3 MyBatis MySQL前端分離得挺干凈拿來(lái)改吧改吧就能復(fù)用。企業(yè)項(xiàng)目管理系統(tǒng)這個(gè)題目聽著大實(shí)際拆開無(wú)非就是“項(xiàng)目立項(xiàng)、任務(wù)拆解、進(jìn)度跟蹤、成員協(xié)作、工時(shí)統(tǒng)計(jì)”這幾件事的數(shù)字化。這套系統(tǒng)解決的核心問題是讓項(xiàng)目狀態(tài)不再靠打聽而是靠數(shù)據(jù)說(shuō)話讓任務(wù)分配不再靠口頭而是靠流程閉環(huán)。如果你正準(zhǔn)備做畢設(shè)、給公司內(nèi)部搭一套項(xiàng)目管理后臺(tái)或者想找一份能看懂、能改、能上線的前后端分離源碼作為學(xué)習(xí)樣板這篇內(nèi)容能直接給你一條相對(duì)完整的路。我寫這篇文章不打算只貼一段演示代碼而是想把從庫(kù)表設(shè)計(jì)到安全認(rèn)證、從前端路由到接口聯(lián)調(diào)過(guò)程中那些容易翻車的環(huán)節(jié)都攤開講。這套東西拿來(lái)學(xué)習(xí)也好、二次開發(fā)也好核心價(jià)值在于它是典型的“業(yè)務(wù)系統(tǒng)標(biāo)準(zhǔn)形態(tài)”——有用戶權(quán)限、有CRUD、有狀態(tài)流轉(zhuǎn)、有統(tǒng)計(jì)報(bào)表覆蓋了Java后端開發(fā)面試?yán)锔哳l出現(xiàn)的場(chǎng)景。讀懂了這套項(xiàng)目SpringBoot的自動(dòng)裝配、MyBatis的Mapper機(jī)制、Vue3的組合式API、Pinia的狀態(tài)管理基本都能串起來(lái)。1. 項(xiàng)目定位與技術(shù)選型思路1.1 企業(yè)項(xiàng)目管理系統(tǒng)到底管什么很多剛接觸項(xiàng)目的人一上來(lái)就問“系統(tǒng)有哪些功能”但在我看先想清楚“系統(tǒng)要解決誰(shuí)的什么痛點(diǎn)”更重要。企業(yè)項(xiàng)目管理系統(tǒng)的使用者通常有三類人項(xiàng)目經(jīng)理要分任務(wù)、盯進(jìn)度、匯總風(fēng)險(xiǎn)普通成員要查看自己的待辦、提交進(jìn)度、反饋?zhàn)枞芾韺右吹饺肆晚?xiàng)目進(jìn)展的全局視圖。由此推導(dǎo)出的功能邊界就相對(duì)清晰項(xiàng)目檔案、項(xiàng)目成員、任務(wù)分解、任務(wù)狀態(tài)流轉(zhuǎn)、工時(shí)填報(bào)、項(xiàng)目看板、消息提醒。這套源碼在這塊做得比較克制沒有硬塞一堆華而不實(shí)的圖表插件而是圍繞“任務(wù)流轉(zhuǎn)”這個(gè)主線把項(xiàng)目的生命周期管起來(lái)。一個(gè)項(xiàng)目從“立項(xiàng)”開始經(jīng)過(guò)“進(jìn)行中”、“暫緩”、“完成”幾個(gè)階段每個(gè)階段背后都有對(duì)應(yīng)的任務(wù)狀態(tài)數(shù)據(jù)支撐。項(xiàng)目維度有基礎(chǔ)字段任務(wù)維度有優(yōu)先級(jí)、指派、截止時(shí)間、實(shí)際工時(shí)成員維度有角色區(qū)分。整個(gè)系統(tǒng)跑起來(lái)之后項(xiàng)目干系人看到的不是Excel里亂糟糟的表格而是統(tǒng)一入口的數(shù)據(jù)面板。1.2 為什么是SpringBootVue3MyBatisMySQL這套組合技術(shù)選型這件事很多新人喜歡追新一上來(lái)就引入微服務(wù)、引入各種中間件結(jié)果項(xiàng)目還沒跑起來(lái)先被概念淹沒。這套系統(tǒng)選SpringBoot首先是生態(tài)成熟市面上的Java面試題、企業(yè)后端崗位要求幾乎都圍繞SpringBoot展開用它做后端底座無(wú)論是找人維護(hù)還是自我學(xué)習(xí)資料都足夠多。Vue3做前端相比Vue2最大的變化是組合式API和更好的TypeScript支持后臺(tái)管理系統(tǒng)的場(chǎng)景里Vue3配合Element Plus這類組件庫(kù)做表格、表單、彈窗、權(quán)限控制的速度非???。MyBatis做持久層理由更直接企業(yè)項(xiàng)目里的SQL往往需要精細(xì)控制特別是多表聯(lián)查和動(dòng)態(tài)條件篩選MyBatis的XML映射給了開發(fā)者足夠的主動(dòng)權(quán)。MySQL則是成本和技術(shù)門檻的雙重考慮中小型企業(yè)的數(shù)據(jù)量級(jí)下它完全夠用部署、備份、運(yùn)維的文檔也是一抓一大把。這套組合沒有用Redis做緩存、沒有上RabbitMQ做消息隊(duì)列并不是說(shuō)那些技術(shù)不重要而是項(xiàng)目的復(fù)雜度還沒有到需要它們支撐的階段。真正的業(yè)務(wù)系統(tǒng)開發(fā)永遠(yuǎn)是根據(jù)復(fù)雜度選型而不是根據(jù)技術(shù)潮流選型。加上Redis和MQ的工作量會(huì)讓一個(gè)本該聚焦業(yè)務(wù)邏輯的項(xiàng)目變得難以收尾。2. 數(shù)據(jù)庫(kù)設(shè)計(jì)與 MyBatis 映射2.1 核心表結(jié)構(gòu)怎么劃分?jǐn)?shù)據(jù)庫(kù)設(shè)計(jì)決定了業(yè)務(wù)邏輯的上限這絕對(duì)不是一句空話。這套系統(tǒng)的表結(jié)構(gòu)圍繞“組織-用戶-項(xiàng)目-任務(wù)”四條主線展開角色權(quán)限相關(guān)表放到獨(dú)立的模塊里避免業(yè)務(wù)表和權(quán)限表混在一起。sys_user存用戶基本信息sys_role和sys_menu管角色與菜單權(quán)限user_role做關(guān)聯(lián)這三張表支撐了前端的動(dòng)態(tài)菜單和接口鑒權(quán)。業(yè)務(wù)表這邊project表記錄項(xiàng)目名稱、編號(hào)、開始結(jié)束時(shí)間、項(xiàng)目狀態(tài)、負(fù)責(zé)人。project_member表記錄項(xiàng)目成員和成員在項(xiàng)目?jī)?nèi)的角色這張表承擔(dān)的是“項(xiàng)目資源”的概念成員加入項(xiàng)目之后才能被指派任務(wù)。task表是核心中的核心承接項(xiàng)目ID、任務(wù)名稱、指派人ID、創(chuàng)建人ID、優(yōu)先級(jí)、狀態(tài)、計(jì)劃開始時(shí)間、計(jì)劃結(jié)束時(shí)間、實(shí)際工時(shí)。工時(shí)記錄單獨(dú)拆成task_work_log表每條記錄對(duì)應(yīng)任務(wù)ID和填寫人ID這樣后端的統(tǒng)計(jì)報(bào)表才有數(shù)據(jù)基礎(chǔ)。我見過(guò)很多項(xiàng)目把附件、評(píng)論、日志全部塞進(jìn)task表這是典型的反模式。一旦任務(wù)表字段過(guò)多索引失效、查詢變慢、代碼里各種if判斷問題都會(huì)集中爆發(fā)。這套源碼把日志、評(píng)論、工時(shí)分別拆表是符合企業(yè)系統(tǒng)常規(guī)做法的。2.2 關(guān)鍵聯(lián)表查詢與分頁(yè)實(shí)現(xiàn)項(xiàng)目管理系統(tǒng)里最典型的查詢是“任務(wù)列表頁(yè)”它需要根據(jù)當(dāng)前用戶的角色和項(xiàng)目篩選條件查出任務(wù)列表同時(shí)關(guān)聯(lián)用戶名和項(xiàng)目名。用MyBatis寫這類查詢重點(diǎn)在于動(dòng)態(tài)SQL的組裝。如果直接把所有條件拼在XML里條件多的時(shí)候SQL會(huì)非常臃腫。合理的做法是在Mapper接口里定義一個(gè)復(fù)合查詢對(duì)象包含任務(wù)實(shí)體、分頁(yè)參數(shù)、篩選條件集合然后用where標(biāo)簽自動(dòng)過(guò)濾空條件。分頁(yè)這里用的PageHelper接入成本很低。在pom.xml引入pagehelper-spring-boot-starter然后配置一個(gè)攔截器插件業(yè)務(wù)代碼里只需要在查詢前調(diào)用PageHelper.startPage(pageNum, pageSize)后續(xù)的第一次Mapper查詢會(huì)自動(dòng)帶上LIMIT語(yǔ)句。需要注意一個(gè)大坑PageHelper只能作用于緊跟它之后的第一條查詢語(yǔ)句如果查詢前做了其他Mapper操作分頁(yè)就會(huì)失效。這是我調(diào)試時(shí)踩過(guò)的很實(shí)際的坑。MyBatis的XML映射文件里resultMap用來(lái)解決數(shù)據(jù)庫(kù)字段名和Java實(shí)體屬性名不一致的問題。當(dāng)前很多團(tuán)隊(duì)喜歡把數(shù)據(jù)庫(kù)字段直接寫成下劃線風(fēng)格如project_name而Java屬性用的是駝峰風(fēng)格如projectName。最省事的辦法是打開SpringBoot配置項(xiàng)map-underscore-to-camel-case: true讓它自動(dòng)轉(zhuǎn)換。但遇到多表聯(lián)查時(shí)重復(fù)字段名會(huì)繞過(guò)自動(dòng)映射比如查詢?nèi)蝿?wù)關(guān)聯(lián)了項(xiàng)目名和用戶名兩個(gè)結(jié)果集里都有name字段這時(shí)候就必須用resultMap和別名手動(dòng)指定。2.3 MyBatis緩存機(jī)制MyBatis的緩存分成一級(jí)緩存和二級(jí)緩存。一級(jí)緩存默認(rèn)開啟作用范圍是同一個(gè)SqlSession在SpringBoot集成環(huán)境下SqlSession跟著事務(wù)走事務(wù)結(jié)束緩存就清空所以它對(duì)業(yè)務(wù)的影響通常感覺不明顯。二級(jí)緩存默認(rèn)關(guān)閉配置開啟后每個(gè)Mapper命名空間內(nèi)的查詢結(jié)果會(huì)被緩存適合那些“讀多寫少且對(duì)實(shí)時(shí)性要求低”的數(shù)據(jù)。但注意一旦開啟二級(jí)緩存這個(gè)命名空間下的增刪改操作會(huì)觸發(fā)緩存刷新如果多表聯(lián)查時(shí)緩存了包含關(guān)聯(lián)數(shù)據(jù)的對(duì)象其他表更新就可能帶來(lái)數(shù)據(jù)不一致。我在實(shí)際項(xiàng)目里除非是字典表這類極穩(wěn)定的數(shù)據(jù)否則不建議輕易開啟二級(jí)緩存。面試題里經(jīng)常問MyBatis的一級(jí)緩存會(huì)不會(huì)出現(xiàn)臟讀答案是如果兩個(gè)不同事務(wù)的SqlSession操作同一數(shù)據(jù)一級(jí)緩存隔離在各會(huì)話內(nèi)部不會(huì)互相污染。但如果用了二級(jí)緩存又沒有做好刷新策略臟讀的概率就會(huì)明顯上升。這套系統(tǒng)源碼也是按這個(gè)思路處理基礎(chǔ)數(shù)據(jù)表啟用二級(jí)緩存核心業(yè)務(wù)表不啟用。3. SpringBoot 后端落地實(shí)踐3.1 工程結(jié)構(gòu)怎么搭才不亂包結(jié)構(gòu)這事很多小伙伴上來(lái)就按controller、service、mapper這樣的技術(shù)分層去建包結(jié)果項(xiàng)目一旦變大找某個(gè)業(yè)務(wù)功能的代碼要跨好幾個(gè)包非常難受。這套源碼采用的是“按業(yè)務(wù)域分包內(nèi)部再按技術(shù)角色分層”的方式。比如project包下面有ProjectController、ProjectService、ProjectServiceImpl、ProjectMapper、ProjectMapper.xml、entity包下的Project.java、dto包下的ProjectQueryDTO。這樣做的好處是業(yè)務(wù)內(nèi)聚一個(gè)業(yè)務(wù)域的修改不會(huì)牽扯到其他業(yè)務(wù)域的代碼結(jié)構(gòu)。SpringBoot工程的基礎(chǔ)配置核心在application.yml。數(shù)據(jù)源、MyBatis配置、日志級(jí)別都在這一份文件里看得到。端口、數(shù)據(jù)庫(kù)名、密碼這些可以放到application-dev.yml和application-prod.yml里做環(huán)境隔離。真正要注意的是密碼和敏感配置不能硬編碼構(gòu)建打包時(shí)用環(huán)境變量的方式把數(shù)據(jù)庫(kù)地址和賬號(hào)密碼注入進(jìn)來(lái)避免把生產(chǎn)庫(kù)密碼提交到Git倉(cāng)庫(kù)里。3.2 基于 JWT 的登錄認(rèn)證與角色權(quán)限企業(yè)項(xiàng)目管理系統(tǒng)的后臺(tái)權(quán)限設(shè)計(jì)是剛需。這套源碼用的方案是JWT SpringBoot攔截器的方式登錄成功后生成一個(gè)Token前端放入請(qǐng)求頭攜帶后端攔截器校驗(yàn)有效性。JWT相比Session方案的好處在于服務(wù)端無(wú)需存儲(chǔ)登錄狀態(tài)天然適配前后端分離和后續(xù)多實(shí)例部署的場(chǎng)景。Token生成時(shí)我會(huì)把用戶ID、用戶名、角色編碼這些非敏感信息放進(jìn)Claims里但絕不把密碼放進(jìn)去。攔截器主要驗(yàn)證Token的簽名和過(guò)期時(shí)間解析出來(lái)的用戶ID放進(jìn)ThreadLocal或Request attribute里供后續(xù)業(yè)務(wù)方法直接獲取當(dāng)前用戶。這里有個(gè)實(shí)際經(jīng)驗(yàn)每次請(qǐng)求都查一次數(shù)據(jù)庫(kù)拿完整用戶信息會(huì)很耗性能所以Token里的用戶基礎(chǔ)信息要夠用真正的用戶權(quán)限可以在登錄后一次性加載到前端由前端控制菜單和按鈕顯隱。權(quán)限的精細(xì)控制放在接口層面是更安全的做法。后端不僅要在攔截器里校驗(yàn)是否登錄還要在Controller方法上通過(guò)自定義注解校驗(yàn)角色權(quán)限。比如項(xiàng)目經(jīng)理才能操作“創(chuàng)建項(xiàng)目”普通成員只能查看。攔截順序是登錄校驗(yàn) - 權(quán)限校驗(yàn) - 業(yè)務(wù)處理。這套邏輯跟Spring Security很像但用注解加攔截器實(shí)現(xiàn)邏輯透明適合中小規(guī)模項(xiàng)目也方便面試時(shí)講清楚你的完整思考鏈路。3.3 核心業(yè)務(wù)接口的設(shè)計(jì)套路任務(wù)狀態(tài)流轉(zhuǎn)這個(gè)接口是系統(tǒng)中最容易出問題的點(diǎn)。很多人會(huì)把狀態(tài)流轉(zhuǎn)寫成一坨if-else看起來(lái)能跑但每加一個(gè)狀態(tài)就要改一次代碼。合理的做法是定義狀態(tài)枚舉每個(gè)枚舉里定義允許的下游狀態(tài)集合狀態(tài)流轉(zhuǎn)方法統(tǒng)一做校驗(yàn)。比如任務(wù)狀態(tài)包括“待處理 - 進(jìn)行中 - 已完成/已駁回”一個(gè)駁回操作會(huì)回到待處理一個(gè)完成操作會(huì)記錄完成時(shí)間。這套設(shè)計(jì)模式保證了狀態(tài)機(jī)的可維護(hù)性也是很多后端崗位面試的加分點(diǎn)。工時(shí)填報(bào)的邏輯也需要細(xì)致處理。任務(wù)工時(shí)如果允許反復(fù)修改會(huì)造成統(tǒng)計(jì)報(bào)表的數(shù)據(jù)不可信。實(shí)際做法是記錄每一次工時(shí)填報(bào)的操作人、操作時(shí)間、變更前后工時(shí)形成一條操作日志而不是直接覆蓋原記錄。這樣項(xiàng)目經(jīng)理在查看人力報(bào)表時(shí)能追溯是哪個(gè)人在哪個(gè)時(shí)間點(diǎn)改了工時(shí)避免扯皮。這套源碼里對(duì)應(yīng)的就是task_work_log表的設(shè)計(jì)邏輯。新增、修改、刪除這類基本接口核心是校驗(yàn)邏輯放在哪的問題。我個(gè)人的實(shí)踐是參數(shù)基礎(chǔ)校驗(yàn)用注解放在Controller比如NotBlank、NotNull業(yè)務(wù)語(yǔ)義校驗(yàn)必須放在Service層比如“任務(wù)不屬于當(dāng)前項(xiàng)目”、“項(xiàng)目狀態(tài)不允許刪除”。因?yàn)镃ontroller層注解偏簡(jiǎn)單而格式正確不代表業(yè)務(wù)合法兩層校驗(yàn)各司其職。4. Vue3 前端實(shí)現(xiàn)要點(diǎn)4.1 項(xiàng)目初始化和目錄結(jié)構(gòu)前端這塊源碼基于Vite構(gòu)建的Vue3工程相比WebpackVite的開發(fā)服務(wù)器啟動(dòng)速度有質(zhì)的提升改代碼熱更新基本是毫秒級(jí)。工程里用了Element Plus做UI組件庫(kù)配合Vue Router做路由Pinia做全局狀態(tài)。目錄結(jié)構(gòu)上src/api下按業(yè)務(wù)域拆分的接口請(qǐng)求文件src/views下是頁(yè)面組件src/router下是路由配置src/store下是Pinia模塊src/utils下是工具函數(shù)和請(qǐng)求封裝。Vue3學(xué)習(xí)過(guò)程中最讓人頭疼的是組合式API和選項(xiàng)式API的區(qū)別。這套源碼用的是組合式APIsetup語(yǔ)法糖寫法更接近函數(shù)式組織邏輯。一個(gè)頁(yè)面組件里按“響應(yīng)式數(shù)據(jù) - 計(jì)算屬性 - 生命周期請(qǐng)求 - 方法”的順序組織代碼。如果某個(gè)頁(yè)面的邏輯特別重甚至可以抽出成獨(dú)立的composables函數(shù)比如useTaskList()這在后臺(tái)系統(tǒng)開發(fā)里能顯著提高代碼復(fù)用率。創(chuàng)建Vue3項(xiàng)目的命令很簡(jiǎn)單npm create vitelatest project-name -- --template vue然后按需安裝vue-router、pinia、axios、element-plus。但真正做到可用級(jí)別還需要額外處理幾件事給Element Plus按需引入組件樣式、配置路徑別名指向src目錄、統(tǒng)一封裝全局的請(qǐng)求錯(cuò)誤提示。這些都做好工程才能真正跑起來(lái)不報(bào)錯(cuò)。4.2 Axios 請(qǐng)求封裝與跨域處理前后端分離的項(xiàng)目跨域是繞不開的問題。開發(fā)環(huán)境下前端跑在5173端口后端跑在8080端口瀏覽器的同源策略會(huì)攔截請(qǐng)求。常規(guī)解法是在Vite的server.proxy配置里把/api前綴的請(qǐng)求轉(zhuǎn)發(fā)給后端地址這樣前端發(fā)出的請(qǐng)求變成相對(duì)路徑瀏覽器層面沒有跨域問題后端也只需要允許本地代理訪問即可。生產(chǎn)環(huán)境部署則通常用Nginx做反向代理把前端靜態(tài)資源和后端接口統(tǒng)一掛在同一個(gè)域名下。Axios封裝的核心不在請(qǐng)求本身而在攔截器。請(qǐng)求攔截器里統(tǒng)一加上Token頭響應(yīng)攔截器里統(tǒng)一處理HTTP狀態(tài)碼和業(yè)務(wù)碼。比如登錄過(guò)期返回401時(shí)攔截器統(tǒng)一跳轉(zhuǎn)登錄頁(yè)并清除本地存儲(chǔ)的用戶信息避免每個(gè)頁(yè)面都寫一遍重復(fù)判斷。業(yè)務(wù)碼和HTTP狀態(tài)碼要區(qū)分開HTTP狀態(tài)碼代表傳輸層的成功或失敗業(yè)務(wù)碼代表業(yè)務(wù)層面的成功或失敗比如“密碼錯(cuò)誤”“無(wú)操作權(quán)限”這兩個(gè)碼混淆會(huì)導(dǎo)致前端判斷邏輯非?;靵y。上傳文件的場(chǎng)景也是一樣普通的POST請(qǐng)求頭是application/json文件上傳必須使用multipart/form-dataAxios里直接用FormData對(duì)象傳輸不要手動(dòng)設(shè)置Content-Type讓瀏覽器自動(dòng)帶boundary邊界符。如果手動(dòng)指定了錯(cuò)誤的內(nèi)容類型后端接收文件時(shí)會(huì)解析失敗。4.3 動(dòng)態(tài)路由、路由守衛(wèi)與 Pinia 狀態(tài)管理后臺(tái)管理系統(tǒng)的菜單應(yīng)該是跟著用戶權(quán)限走的。第一種方案是后端返回菜單列表前端動(dòng)態(tài)注冊(cè)路由第二種方案是前端預(yù)先定義好全部路由再根據(jù)用戶權(quán)限過(guò)濾。兩種方案各有優(yōu)劣。這套源碼采用的是第二種因?yàn)榍岸税秧?yè)面組件全部寫好了動(dòng)態(tài)注冊(cè)路由反而復(fù)雜過(guò)濾方案更容易實(shí)現(xiàn)。根據(jù)用戶角色返回的權(quán)限標(biāo)識(shí)去控制菜單顯隱復(fù)雜度低且不容易出錯(cuò)。路由守衛(wèi)使用Vue Router的beforeEach每次跳轉(zhuǎn)前判斷用戶是否已經(jīng)登錄、頁(yè)面是否需要權(quán)限。沒有登錄的強(qiáng)制跳轉(zhuǎn)到登錄頁(yè)已登錄但訪問無(wú)權(quán)限頁(yè)面時(shí)重定向到403或者提示頁(yè)。這里有一個(gè)很容易踩的坑動(dòng)態(tài)添加或過(guò)濾路由后如果router實(shí)例已經(jīng)生成了某個(gè)路由再去修改它不會(huì)生效。所以路由表先定義一個(gè)基礎(chǔ)白名單所有帶權(quán)限的路由統(tǒng)一在登錄后生成。Pinia管理全局狀態(tài)的重點(diǎn)是保持響應(yīng)式。用戶信息、項(xiàng)目當(dāng)前篩選條件、全局的消息未讀數(shù)這些跨頁(yè)面共享的數(shù)據(jù)放進(jìn)Pinia其他狀態(tài)盡量保持頁(yè)面內(nèi)局部。store模塊里注意避免直接改后端返回的數(shù)據(jù)后端返回的對(duì)象應(yīng)該拷貝一份再修改否則在嚴(yán)格模式下會(huì)報(bào)狀態(tài)變更錯(cuò)誤。在實(shí)際開發(fā)中保持“數(shù)據(jù)流單向”的思路會(huì)少遇到很多調(diào)試時(shí)理不清頭緒的問題。4.4 表單校驗(yàn)與日期處理的細(xì)節(jié)Vue3后臺(tái)系統(tǒng)的表單校驗(yàn)很多人忽略了對(duì)日期格式的校驗(yàn)。項(xiàng)目管理系統(tǒng)里的任務(wù)截止日期如果用戶填了非法日期或早于今天的日期業(yè)務(wù)上是明顯不合理的。Element Plus的表單校驗(yàn)規(guī)則里可以自定義validator比如“結(jié)束時(shí)間必須晚于開始時(shí)間”“截止時(shí)間不能早于當(dāng)前時(shí)間”。面試題里也經(jīng)常問到Vue3的表單rules校驗(yàn)這個(gè)系統(tǒng)里給了比較完整的示例。日期選擇器默認(rèn)返回的是Date對(duì)象或字符串這取決于value-format的設(shè)置。提交給后端前建議統(tǒng)一格式化為yyyy-MM-dd HH:mm:ss的字符串。這里有個(gè)細(xì)節(jié)如果前端傳的是帶時(shí)區(qū)的ISO字符串后端LocalDateTime解析時(shí)如果不加JsonFormat注解常見的表現(xiàn)是日期字段變成“2025-07-10T16:00:00.00000:00”這種格式前端展示時(shí)會(huì)出現(xiàn)8小時(shí)時(shí)差。這個(gè)問題在很多項(xiàng)目聯(lián)調(diào)階段都會(huì)出現(xiàn)最好的做法是全局配置Jackson的時(shí)間格式化而不是每個(gè)字段手動(dòng)加注解。5. 前后端聯(lián)調(diào)與部署細(xì)節(jié)5.1 本地聯(lián)調(diào)的完整流程把前后端源碼拿到手本地跑通整體流程的順序很重要。第一步先準(zhǔn)備MySQL數(shù)據(jù)庫(kù)執(zhí)行項(xiàng)目提供的init.sql腳本初始化庫(kù)表結(jié)構(gòu)和基礎(chǔ)數(shù)據(jù)。第二步根據(jù)本機(jī)MySQL的地址、端口、賬號(hào)密碼修改后端application-dev.yml里的數(shù)據(jù)源配置。第三步啟動(dòng)后端SpringBoot應(yīng)用確認(rèn)控制臺(tái)沒有報(bào)錯(cuò)能正常監(jiān)聽8080端口。第四步在前端工程根目錄執(zhí)行npm install安裝依賴再執(zhí)行npm run dev啟動(dòng)開發(fā)服務(wù)器訪問Vite輸出的本地地址。聯(lián)調(diào)的重點(diǎn)是用一個(gè)完整業(yè)務(wù)場(chǎng)景打通鏈路。我的習(xí)慣是先登錄系統(tǒng)看Token能不能正常生成和寫入請(qǐng)求頭然后新建一個(gè)項(xiàng)目再給項(xiàng)目添加成員再創(chuàng)建任務(wù)給任務(wù)指派成員和填寫工時(shí)最后在列表頁(yè)看數(shù)據(jù)是否正常顯示。整個(gè)過(guò)程能走通說(shuō)明數(shù)據(jù)庫(kù)、后端接口、前端路由、狀態(tài)管理基本都正常。如果這些核心流程不通排查的方向就應(yīng)該是數(shù)據(jù)庫(kù)腳本或者接口請(qǐng)求路徑。后端接口自測(cè)可以用Swagger或者Postman但為了聯(lián)調(diào)效率我更推薦在后端啟動(dòng)后先用瀏覽器插件或Postman驗(yàn)證接口返回。如果后端接口返回正常再定位前端問題如果后端本身返回就不對(duì)優(yōu)先看SQL語(yǔ)句和日志。日志級(jí)別調(diào)成DEBUGMyBatis會(huì)把執(zhí)行的SQL和參數(shù)都打印出來(lái)這是排查數(shù)據(jù)庫(kù)問題最直接的手段。排查完之后再調(diào)回INFO減少生產(chǎn)日志量。5.2 部署場(chǎng)景下的常見配置問題代碼本地跑通之后部署是另一回事。前端npm run build生成靜態(tài)文件Nginx配置root指向dist目錄location /api/反向代理到后端地址。后端打包成jar包用java -jar或systemd托管運(yùn)行。這里最隱蔽的問題是前端靜態(tài)資源路徑。如果前端配置了base: /部署在域名根路徑是沒問題的但如果部署在二級(jí)目錄/admin下就必須改成base: /admin/否則JS和CSS資源會(huì)404。MySQL在生產(chǎn)環(huán)境的連接字符串要加上useSSLfalse和serverTimezoneAsia/Shanghai參數(shù)。不加時(shí)區(qū)參數(shù)可能出現(xiàn)日期錯(cuò)亂沒有關(guān)閉SSL可能出現(xiàn)連接警告或失敗尤其在云數(shù)據(jù)庫(kù)或某些MySQL版本下。我遇到過(guò)數(shù)據(jù)庫(kù)連接反復(fù)超時(shí)的問題后臺(tái)看是默認(rèn)連接池參數(shù)配置過(guò)小經(jīng)調(diào)整maximum-pool-size和connection-timeout參數(shù)后才穩(wěn)定。這些配置在本地開發(fā)時(shí)可能感知不強(qiáng)但部署到服務(wù)器上環(huán)境差異會(huì)把這些隱藏問題全部暴露出來(lái)。6. 常見問題排查與避坑建議6.1 啟動(dòng)階段的典型報(bào)錯(cuò)MySQL連接失敗這類問題占新手排查量的一半。首先確認(rèn)MySQL服務(wù)是否啟動(dòng)Linux下用systemctl status mysqld查看Windows下看服務(wù)列表。其次確認(rèn)密碼是否寫對(duì)默認(rèn)的root賬戶如果設(shè)置了密碼但配置里沒填就會(huì)報(bào)Access denied。最后確認(rèn)端口3306被占用或改了端口配置也要跟著改。MyBatis XML文件找不到SpringBoot項(xiàng)目如果Mapper的XML文件放在src/main/java目錄下打包時(shí)不會(huì)自動(dòng)拷貝到classes目錄。解決方案是在pom.xml的build里把src/main/resources和src/main/java下的xml文件都納入打包資源范圍。很多人本地IDE能跑但一打包部署就報(bào)Invalid bound statement幾乎都是因?yàn)檫@個(gè)。如果XML文件放在src/main/resources/mapper下然后在application.yml里配置mybatis.mapper-locations: classpath:mapper/*.xml80%的問題都能避免。接口返回404或405404通常是路徑寫錯(cuò)前端請(qǐng)求的/api/project/list后端Controller映射的卻是/project/list前綴不一致。405則是請(qǐng)求方法不匹配前端用POST請(qǐng)求了后端只允許GET的接口。排查時(shí)先看后端控制臺(tái)有沒有請(qǐng)求日志再看返回的HTTP狀態(tài)碼這種問題五分鐘內(nèi)能定位。6.2 運(yùn)行階段的緩存與性能問題MyBatis的二級(jí)緩存如果開啟到業(yè)務(wù)表上有一個(gè)典型的坑更新了A表但B表關(guān)聯(lián)查詢時(shí)用了緩存導(dǎo)致數(shù)據(jù)顯示舊內(nèi)容。實(shí)際表現(xiàn)是頁(yè)面數(shù)據(jù)改了刷新還是不變化。解決辦法是合理劃分緩存空間或者統(tǒng)一在寫操作時(shí)清理相關(guān)Mapper的緩存。這類問題排查起來(lái)慢最好在設(shè)計(jì)階段就避免。分頁(yè)性能這塊任務(wù)列表數(shù)據(jù)量上來(lái)之后PageHelper的COUNT查詢會(huì)額外消耗一定資源。如果業(yè)務(wù)允許可以關(guān)閉一些超大列表的總數(shù)統(tǒng)計(jì)直接“下一頁(yè)”的方式替代頁(yè)數(shù)跳轉(zhuǎn)。另外MySQL的LIMIT在深分頁(yè)時(shí)存在性能衰減比如第10萬(wàn)條數(shù)據(jù)LIMIT 100000, 20的掃描行數(shù)會(huì)非常大。查到后面頁(yè)的數(shù)據(jù)變慢是預(yù)期行為可以配合WHERE id 某個(gè)值做游標(biāo)分頁(yè)來(lái)改善。數(shù)據(jù)庫(kù)索引設(shè)計(jì)也直接影響運(yùn)行階段體驗(yàn)。task表的查詢條件大概率圍繞project_id、assignee_id、status展開應(yīng)該建復(fù)合索引。但索引不是越多越好寫頻繁的表加太多索引會(huì)導(dǎo)致插入和更新變慢。這套系統(tǒng)源碼里只給查詢頻率高且區(qū)分度高的列建了索引這個(gè)度是值得體會(huì)的。6.3 體驗(yàn)提升的一些經(jīng)驗(yàn)實(shí)際項(xiàng)目中消息通知這個(gè)功能常常被當(dāng)成錦上添花但我見過(guò)很多系統(tǒng)的使用率下滑恰恰是因?yàn)槌蓡T不知道任務(wù)被指派給了自己。如果你的項(xiàng)目管理系統(tǒng)要做消息提醒優(yōu)先做站內(nèi)信和待辦角標(biāo)不要一上來(lái)就對(duì)接短信、郵件或者企業(yè)微信推送。站內(nèi)消息只需要一張消息表加一個(gè)定時(shí)輪詢接口改動(dòng)成本低但對(duì)用戶體感提升非常明顯。另外就是日志系統(tǒng)雖然Java的日志框架能直接輸出到控制臺(tái)和文件但生產(chǎn)環(huán)境真正排查問題時(shí)file日志的級(jí)別、按天分割、日志清理策略都要提前設(shè)計(jì)。如果不做清理tomcat日志和項(xiàng)目日志能把磁盤塞滿這個(gè)坑在運(yùn)維階段非常常見。7. 源碼閱讀與二次開發(fā)建議7.1 拿到源碼先看什么拿到一套陌生源碼最忌諱從Controller開始逐行讀。我的建議是先看數(shù)據(jù)庫(kù)的初始化腳本從表結(jié)構(gòu)反推業(yè)務(wù)模型。理解了表之間的關(guān)系再去讀實(shí)體類對(duì)應(yīng)的Mapper接口看SQL怎么寫。下一步看Controller層的路由和參數(shù)接收方式最后再看Service層。因?yàn)镾ervice層往往是最厚的最后讀它反而能借助前面對(duì)SQL和路由的了解理解得更快。源碼里的通用模塊優(yōu)先讀比如統(tǒng)一返回結(jié)果類ResultT、全局異常處理器、PageResult分頁(yè)結(jié)構(gòu)、BaseController。這些是整套代碼的骨架和約定。如果團(tuán)隊(duì)有自己的規(guī)范化約定后面開發(fā)新功能時(shí)不按這個(gè)約定來(lái)代碼風(fēng)格就會(huì)分裂。7.2 想往上加功能的時(shí)候怎么改假設(shè)需求是增加“項(xiàng)目周報(bào)”功能。數(shù)據(jù)層面可以復(fù)用現(xiàn)有表結(jié)構(gòu)再加一張project_report表關(guān)聯(lián)項(xiàng)目ID、上報(bào)周期、內(nèi)容、創(chuàng)建人。后端增加ReportController和對(duì)應(yīng)的Mapper前端在項(xiàng)目詳情頁(yè)加一個(gè)報(bào)告Tab標(biāo)簽復(fù)用現(xiàn)有表單和列表組件。這類功能的開發(fā)難度并不在于新增一張表和一個(gè)頁(yè)面而在于權(quán)限邊界是否想清楚誰(shuí)有權(quán)限查看報(bào)告、誰(shuí)有權(quán)限提交報(bào)告、項(xiàng)目結(jié)束后報(bào)告是否鎖定。沒想清楚這幾點(diǎn)功能上線就會(huì)持續(xù)產(chǎn)生需求迭代。如果你想在這個(gè)系統(tǒng)里加“甘特圖”或者“看板”強(qiáng)烈建議先查一下有沒有現(xiàn)成的Vue3組件庫(kù)不要重復(fù)造輪子。自己畫甘特圖的成本遠(yuǎn)比預(yù)想的高從拖拽交互到時(shí)間縮放每一塊都是工作量。后臺(tái)系統(tǒng)的開發(fā)效率很大程度取決于組件選型非核心組件能站別人的肩膀就不要自己從零寫。7.3 學(xué)習(xí)這套源碼的高效路徑對(duì)于正在準(zhǔn)備Java后端面試的人這套源碼的價(jià)值尤其高。用它可以梳理清晰的回答鏈路SpringBoot如何啟動(dòng)、MyBatis如何映射、PageHelper如何分頁(yè)、攔截器如何做登錄校驗(yàn)、全局異常如何統(tǒng)一處理。這些幾乎是后端崗位面試題里最常出現(xiàn)的一批問題。更進(jìn)階一點(diǎn)可以研究JWT的續(xù)期方案、用戶權(quán)限的動(dòng)態(tài)刷新、局部刷新Token等擴(kuò)展點(diǎn)。Vue3方面它覆蓋了組合式API、Pinia、Vue Router、Axios攔截器、動(dòng)態(tài)菜單過(guò)濾這些后臺(tái)管理系統(tǒng)高頻場(chǎng)景對(duì)Vue3學(xué)習(xí)者和準(zhǔn)備Vue3面試的人都是不錯(cuò)的案例庫(kù)。比如面試?yán)飭枴扒岸巳绾胃鶕?jù)后端返回的角色權(quán)限渲染菜單”這個(gè)源碼里的實(shí)現(xiàn)思路就可以直接用來(lái)回答。多說(shuō)一句學(xué)習(xí)源碼和做自己的項(xiàng)目完全是兩件事。源碼是用來(lái)“解剖”的一個(gè)函數(shù)一個(gè)函數(shù)地拆理解設(shè)計(jì)意圖做項(xiàng)目是用來(lái)“打磨”的盡量用自己理解且可控的方案而不是抄一堆看不懂的魔法代碼。確保代碼的每一行都是自己掌握的后期交付才不會(huì)有隱患。8. 實(shí)操心得與避坑清單8.1 開發(fā)前后端分離系統(tǒng)的總體心態(tài)前后端分離項(xiàng)目開發(fā)時(shí)間久了最大的感受是接口約定必須先行。如果前后端各自按自己的想法定義字段名和返回結(jié)構(gòu)聯(lián)調(diào)階段一定會(huì)互相等待、反復(fù)溝通非常浪費(fèi)時(shí)間。我的習(xí)慣是先定義一份簡(jiǎn)單的接口文檔哪怕是Markdown格式的表格包含接口路徑、請(qǐng)求參數(shù)、返回結(jié)果示例、權(quán)限要求前后端照著它開發(fā)再配合Swagger做在線調(diào)試聯(lián)調(diào)體驗(yàn)會(huì)好非常多。接口數(shù)據(jù)結(jié)構(gòu)盡量保持扁平減少不必要的嵌套。前端拿到一個(gè)嵌套三層的數(shù)據(jù)結(jié)構(gòu)展示和表單回填都會(huì)很痛苦。返回給前端的DTO字段名不要使用數(shù)據(jù)庫(kù)下劃線風(fēng)格統(tǒng)一轉(zhuǎn)成駝峰命名。框架層面的全局時(shí)間格式化、全局異常處理、統(tǒng)一返回格式這些約定哪怕辛苦一點(diǎn)也要在一開始定下來(lái)。后期的每個(gè)新功能都是復(fù)用這套約定省下來(lái)的時(shí)間會(huì)非??捎^。8.2 盤點(diǎn)一下我遇到過(guò)的坑第一次做這類系統(tǒng)時(shí)我踩過(guò)最耗時(shí)的坑是權(quán)限模塊。最初的實(shí)現(xiàn)只是在前端判斷角色顯示菜單后端接口完全沒做校驗(yàn)結(jié)果團(tuán)隊(duì)成員直接繞過(guò)前端調(diào)接口把不屬于自己的項(xiàng)目任務(wù)改掉了。后來(lái)花了很長(zhǎng)時(shí)間給每個(gè)Controller方法補(bǔ)權(quán)限注解和攔截校驗(yàn)。所以后端接口的權(quán)限驗(yàn)證絕對(duì)不能省前端隱藏菜單只是用戶體驗(yàn)層面的事情安全防線必須建立在后端。另外一個(gè)坑是刪除功能的物理刪除。項(xiàng)目管理系統(tǒng)的任務(wù)記錄、工時(shí)記錄都屬于審計(jì)敏感數(shù)據(jù)物理刪除之后無(wú)法追溯。正確做法是給表加一個(gè)deleted字段查詢時(shí)統(tǒng)一過(guò)濾刪除變成軟刪除。用戶看到的是“刪除成功”但數(shù)據(jù)還在庫(kù)里這為后續(xù)的審計(jì)恢復(fù)留了后路。企業(yè)管理系統(tǒng)和普通個(gè)人應(yīng)用不同數(shù)據(jù)完整性永遠(yuǎn)是第一優(yōu)先級(jí)的。數(shù)據(jù)庫(kù)字段類型也曾讓我吃過(guò)教訓(xùn)。存儲(chǔ)工時(shí)時(shí)用double累計(jì)統(tǒng)計(jì)后可能出現(xiàn)浮點(diǎn)誤差存儲(chǔ)金額或精確數(shù)值時(shí)用decimal統(tǒng)一指定精度。同理狀態(tài)字段用枚舉值還是字符串在代碼里要保持一致別人改代碼時(shí)看到1和2不知道什么意思可維護(hù)性就會(huì)變差。合理的做法是狀態(tài)類字段在后端用枚舉常量持久化時(shí)才轉(zhuǎn)成數(shù)據(jù)庫(kù)對(duì)應(yīng)的數(shù)值。8.3 最后給幾個(gè)擴(kuò)展方向如果這套系統(tǒng)之后要往真實(shí)生產(chǎn)級(jí)演進(jìn)第一步應(yīng)該是引入Redis。用Redis存用戶的Token能夠?qū)崿F(xiàn)主動(dòng)下線彌補(bǔ)JWT無(wú)法主動(dòng)失效的缺陷緩存熱點(diǎn)字典數(shù)據(jù)減少數(shù)據(jù)庫(kù)查詢壓力。引入Redis的復(fù)雜度不高但帶來(lái)的架構(gòu)收益非常明顯。第二步是引入定時(shí)任務(wù)比如每天定時(shí)掃描即將到期的任務(wù)生成站內(nèi)提醒消息。SpringBoot自帶的Scheduled注解就能實(shí)現(xiàn)不需要額外引入XXL-Job除非你后續(xù)有分布式任務(wù)調(diào)度的需求。定時(shí)任務(wù)在業(yè)務(wù)系統(tǒng)里的價(jià)值往往被低估一個(gè)簡(jiǎn)單的到期提醒就能顯著提升管理效果。第三步才是考慮微服務(wù)化。微服務(wù)引入的是服務(wù)發(fā)現(xiàn)、配置中心、鏈路追蹤、分布式事務(wù)等一系列復(fù)雜問題如果業(yè)務(wù)體量沒有達(dá)到幾千個(gè)并發(fā)或者多個(gè)獨(dú)立團(tuán)隊(duì)協(xié)作單體應(yīng)用配合良好模塊劃分仍然是最佳選擇。把單體項(xiàng)目的模塊邊界畫清晰后續(xù)拆分成微服務(wù)也會(huì)順暢。個(gè)人經(jīng)驗(yàn)是這類項(xiàng)目管理系統(tǒng)最值錢的資產(chǎn)不是代碼本身而是流程梳理和數(shù)據(jù)建模。前端頁(yè)面、后端接口都是可以快速替換的但表結(jié)構(gòu)一旦定了后續(xù)所有功能都會(huì)跟著長(zhǎng)出來(lái)。想清楚業(yè)務(wù)規(guī)則代碼只是把這些規(guī)則翻譯成系統(tǒng)語(yǔ)言的過(guò)程而已。
返回列表
PREV
查看更多資訊
NEXT
返回資訊列表
五月丁香影视| 九色PORNY在线精品酒店| 激情五月婷婷丁香六月| 大陆极品少妇内射AAAAAA| 五月欧美色播| 婷色天堂| 五月丁香婷婷视频| 激情视频婷婷五月花| 99热在这里只有精品| 另类小说五月天| 色中色综合| 丁香六月婷婷缴情欧美| 91人人爱| 狠狠五月激情丁香六月| 99小精品| 字母不卡码人逼| 成人AV中文字幕| 丁香六月婷婷综合激情欧美| 国产精产国品一二三在观看| 另类激情五月在线视频欧美| 熟女乱论网| 无码人妻AV久久久一区二区三区| 日本婷色| 色播丁香五月婷婷操:屄| 国产69精品久久久久999小说| 开心激情久久久久久久| 99热1| 激情五月天在线视频| 婷婷五月激情热播| 丁香五月天激情四射网络不好 | 秋霞学生妹一二级| 人人操91色| 九九热啪啪| 台湾综合丁香五月蜜桃| 综合九九久久| 九九热精品视频在线观看| 久久久久久综合五月婷婷| 色站9/| 九九九九这里只有精品| 五月丁香六月激情综合欧美| 99热最新精品| 91在线日本| 久久99热这里只有精品| 五月丁香综合激情网| 成人 在线 日韩| 亚洲精品久久久久久久久久吃药| 丁香 久久| 色亚洲视频| 《丁香激情综合久久伊人久久》影视在线观看 -高清预告手机免费播放 -三妹影院 | 女高怪谈在线观看| 99热在这里只有免费精品| av一区二区电影免费在线观看| 超碰91人人操| 婷婷五月天狠狠搞干| 色婷婷大香蕉| 97干资源在线观看| 日本不卡一区二区三区| 色5月婷婷| 人人看人人摸人人| 激情精品久久| 综合啪啪| www.五月天色色色| 久久密臀婷婷| 搡BBBB搡BBB搡五十| 五月天播播| 无码一区二区日韩| 久九色| 天堂久久久久天堂网| 激情综合啪啪| 狠狠干五月天| 色婷婷久久综合丁香五月| 国产激情AV| 日本在线观看99| 五月丁香久久综合| 婷婷五月丁香色综合| 色婷婷六月激情| 综合久久高清| 五月丁香啪。| 91超级碰人人操| 99色在线| 国产成人网| 五月婷婷激情| 五月天综合视频| 五月丁香六月欧美综合| 婷婷激情丁香五月婷婷激情丁香五月婷婷 | 丁香婷婷五月天色播| www.婷婷.com| 色涩影院六月丁香| 去色色五月天| 涩婷婷视频快播人妻| 91丨九色丨东北熟女| 丁香五月婷婷大香蕉| 热99热9| 婷婷色播色五月五色五月天色妇| 婷婷色五月丁香六月欧美啪| 4399在线日本A片| 激情五月最新网址| 精品一区二区三区三区| 丁香五月www| 九九热123| 五月天精品| 中文字幕黄色片| 神马欧美精| 久久色这里只有精品| 激情啪啪五月天| 91九色网| 婷婷中文字幕| www,五月天com| 伊人婷婷大香蕉| 丁香五月婷婷激情完整版| 99婷五月| 色婷婷丁香AV综合| 婷婷色基地在线看 | 婷香五月| 怡红院视频| 久久性操| 99精在线| 五月天激情婷婷| 超碰在线99| 六月婷婷综合| 色婷婷影视| 成人午夜无码视频| 亚洲精品又粗又大又爽A片 | 亚洲AV影片在线观看| 99热在线观看| 另类丁香五月天区图| 久久小视频| 超碰av在线| 99色视频| 91九色 熟| 国产av第一专区| 亚洲传媒在线观看| www.99热在线| 久久99热这里只有| 99免费视频精品| 亚洲AAAA网| 九色色| 色色欧美色色| 婷婷五月,偷窥偷拍网| 天天插综合网| 色色色无码| 成人看片网站| 99国产精品白浆在线观看免费| 国产伦亲子伦亲子视频观看| 欧美超碰亚洲| 欧美一级色| 久久久妻人人人| 啪啪婷婷五月天激情| 婷婷五月综合激情小说| 五月婷婷亚洲| 丁香婷婷色五月激情综合| 99在线精品视频| 亚洲亚洲人成综合网络| 亚洲成人AV在线| 98色花堂98t.R| 色色婷| 日日日日做夜夜夜夜无码| 欧美婷婷五月无砖| 色五月五月天色婷婷色五月| www.婷婷五月天| 超碰成人黄色网| a片在线免费观看一区| 五月天丁香综合在线| 亚洲操人| 五月婷婷欧美激情| 亚洲激情四射| 在线不卡AC| 九九热99熟女| 青青草六月丁香| 999热这里只有精品| 激情av| 五月丁香婷婷色| 中文字幕成人影视| 一级片操逼视频| 99九精品| 新激情五月开心五月婷婷五月丁香五月| 五月激情婷婷六月| 91九九| 五月婷深深爱激情网| 综合网狠狠| 激情综合网五月在线播放| 天天综合干| 色停停五月,在线观看| 网站免费一站二站| 久久五月情| 婷婷五月天在线看| 精品人妻一区二区| 久操欧美在线观看97| 婷婷久久影院| 久久婷婷亚洲五月天| 丁香六月婷婷| 婷婷五月天国产传媒| 五月综合激情| www.激情五月| 久久六月婷婷| 婷婷六月婷婷| 中文字幕在线免费观看视频| 9久操| 99热综合| 久久人人九| 亚洲精品久久久久久久久久飞鱼| 99在线热| 久久五月天综合| 激情五月天丁香| 另类亚洲视频| 亚洲成人在线五月天| 色色五月丁香| AV网站免费在线| 五月婷婷影视| 午夜少妇在线观看视频| 黄网在线免费观看| 少妇搡BBBB搡BBB搡毛茸茸 | 婷婷五月综合社区在线| 亚洲五月丁| 久久综合干| 99久久婷婷国产综合精品| 欧美日韩成人| 激情综合无码| 久综合九| 日日日日日| 色九四色| 五月婷婷婷婷婷| 婷婷五月花| 超碰在线99热| 丁香六月婷婷五月婷婷| 丁香五月激情啪啪啪| 狠狠久久婷五月综合色| 五月天成人综合| 五月婷婷狠狠干| 深爱激情五月婷婷| 1024在线视频| 五月色婷婷综合| 综合色图婷婷| 婷婷五月天首页| 亚洲综合五月天婷婷丁香| 黄网免费观看| 久久婷婷五月丁香网| 六月色婷婷综合影视| 婷婷五月天男人影院色色网| 久久91久久精品久久| 人妻内射麻豆视频| 日韩无码专区| 狠色狠色综合久久| 免费在线观看av网站| 99在线看片| 婷婷97狠狠成人网站| 丁香六月婷婷久久综合| 91超级碰碰| 丁香五月婷婷狠狠色| 激情综合啪啪| 狠狠搞五月天| 99色热| 色一区高清| 操一区| 97人妻碰碰碰久久香蕉| 亚洲在线操| 99视频在线播放大全| 婷婷久久精品| 91啪啪视频| 欧美日朝成人| 538在线| 91色色色| 九九成人精品| 二区成人视频| 狠狠爱婷婷丁香| av无码电影| 亚洲精品色| 国产精品色婷婷久久久精品| 丁香大香蕉| 亚洲激情在线| 国精产品一区一区三区免费视频| 九九婷婷五月天影视| 成人做爰高潮A片免费视频| 丁香六月视频| 激情综合文学| 久久伊人9| 殴美激情综合网| 五月丁香久| 综合久| 99成人| 欧美色骚婷婷五月天| 中字幕视频在线永久在线观看免费| 综合久久丁香婷婷,五月婷婷六月丁香,开心激情综合网,六月丁香在线观看,婷婷丁 | 袁子仪视频观看| 久久久亚洲精品一区二区三区浴池 | 色五月女| 久久久久9| 丁香六月婷婷综合| 巴基斯坦粉嫩无码视频| 丁香六月婷婷久久高清| 中文字幕欧美日韩VA免费视频| 伊人久久婷婷五月天激情四射| 九九综合九| 激情五月婷婷开心网| 日韩色色一区| 婷婷久久久| 深爱1激情网| 视频久久9| 亚洲综合网 665566| 色热久资源| 国产婷婷婷| 五月婷婷激情久久| 综合五月婷婷| 99热10在线高清播放| 99热在线只有精品| 一夜福利不卡| av第一二区| 狠狠色色| va亚洲中文在线| 五月丁香久久呀| 欧美激情综合色综合啪啪五月| 五月天婷婷导航| 婷婷色情五月| 欧美成人AAA片一区国产精品 | 色婷婷电影| 丁香九月婷婷色| 国产老熟妇亲子乱对白| 人妻丰满精品一区二区A片| 欧美日韩AAAA| 色情·com| 亚洲AV日韩AV永久无码网站| 天天插综合| 婷婷色五月色妇| 丁香婷婷性久久| 丁香五月影院| 色婷另类| 久久欧洲综合网| 伊人www22综合色| 国外亚洲成AV人片在线观看| 欧美大道不卡| 亚洲人妻一区二区| 欧美性二区| 天天色凹凸| 五月天色影院| 五月激情天| 久久6这里只有精品| av在线不卡播放| 狠狠干,狠狠操| 2025天天日爽| 丁香五月激情澎湃一区| 丁香丁婷五月激情| 久久丁香五月| 日本色超碰| 免费观看的av| 日本久热| 日本色婷婷| 五月综合六月丁| 日韩无码成人电影| 99人人精品| 九九色情网站| 免费视频无码| 九九成人| 97人人操在线| 99免费在线视频| 五月婷色啪| 丁香亭亭久久| 色综合99| 色9999日韩国产| 婷婷激情四射五月天| 成人亚洲精品久久久久| 五月丁香六月天| 婷婷丁香97| 女高怪谈在线观看| 色爱终和网| 五月婷婷开心爱| 五月天啪啪视频| 色婷婷久久视屏| 久久免费高| www.婷婷六月天| 99久久6| 激情五月综合网| 久久99美女精彩视频| 久久黄色网扯| 综合99在线| 99视频精品全部免费看| 五月丁香色| 久久婷婷五月激情综合| 成人 九九九九| 国产精品成人AV在线观看春天| 狠狠色综合网| 99久久婷婷| 色中色综合| 九九香蕉网| 91婷婷在线| 丁香六月婷婷久久综合| 色五月婷婷五月| 丁香婷婷激情网站| www.五月天激情| 婷婷娱乐丁香综合网| 日本在线视频手机播放五月婷| 91久热| 大香蕉五月天婷婷| 噜噜色天天开心| 婷婷伊人綜合中文字幕| 国产乱码久久| 亚州激情在线视频| 久久婷婷五月综合色播| 色综合久久久久久久久五月| 婷婷开心激情五月激情网| 天堂草在线观| 五月丁香六月婷婷国产视频| 久久婷婷六月综合综合| 99热碰碰热| 色五月琪琪| 99熟女| 噜噜视频| av国产精品| 色色欧美色色| 99天堂网最新| www.色综合.com| 99久久精品色老| 久久综合干| 久9视频| 色色综合色视频| av婷婷丁香 六月| 日日噜噜久久婷婷五月天| 在线五月色播| 综合色色色色色色| 啪啪 综合网| 操久久网| 久久久亚洲精品一区二区三区浴池| 日韩在线看AV| 亚洲AV永久无码影院黑人| 97人妻碰碰碰久久久久-最近国语高清| 婷婷欧美激情| 五月天婷五月天综合网小说首页-五月天激激婷婷大综合,婷婷亚洲综合五月天小说 | 99精品网| 九热av| www.99热在线| 色婷婷五月影视| 欧美性爱特黄一级aaaassss| 夜丁香综合| 亚洲乱码w在线观看| 色色色综合网| 成人做爰黄A片免费看直播室男男| 五月婷婷 婷婷五月 一区二区 久久久 | 97干在线| 国产露脸150部国语对白| 丁香五月色情av| 色色丁香五月| 蜜桃婷婷丁香五月天狠狠久久综合| 色五月六月婷婷| 九九热在线精品视频| 婷婷五月色| 99热99艹在线观看| 国产成人在线不卡AV| 思思热久久阴99| 99久久综合精品五月天| 任你爽精品免费视频6| a久久| a级毛片一区二区免费视频| 亚洲免费av在线| 日木狠狠干| 五月天激情.com| 精品网站:999WWW| 777影视理论片大全在线观看| 丁香婷婷影院| 2014天天爽| 啪到高潮激情丁香五月| 俺去也五月天婷婷| 99在线爽| 五月婷高清视频| 天天干天天操天天爽| 婷婷另类小说| 九伊人网| 另类小说五月天激情| 久久婷婷国产| 五月停性愛| 91一起操| 亚洲视频99| 丁香五月天激情综合| 五月丁香狠狠爱婷婷综合| 亚洲精品国产成人AV在线| 欧美噜一噜| 久久五月激情| 午夜九九九九九九| 五月天婷婷丁香视频| 99啪啪网| 欧美婷婷综合| 五月丁香六月婷婷亚洲激情综合| 欧美婷婷日本| www.99免费视频| 激情亚洲五月| 99热国产免费| 99热国内精品| 美女五月狠狠| 日本操B视频在线观看| 婷婷视频网| 色99在线视频| 热99玖玖99玖玖99九九| 99激情视频热| 天天色天天操天天射| av免费在线网站| 亚洲行行色色| 久草热8精品视频在线观看| 五月丁香亭亭操逼| www.色婷婷| 1024欧美看片| 亚洲成人乱码av网站| 可以看的av| 欧美99视频| 久久只有18视频| 亚洲日韩一页精品发布| 天天爽天天爽天天爽天天爽天天爽天天爽天天 | 无码日本精品XXXXXXXXX | 五月丁香激情怕怕| 在线观看婷婷5月| 激情影院69| 中文字幕丁香五月| 丁香五月性爱| 激情五月激情综合俺也去婷婷小说| 色私五月婷婷| 在线观看亚洲视频影院| 九九在线视频| 五月丁香中文婷婷中文| 久久五月天激情| 五月婷婷久草| 五月综合婷婷久久在线| 91久久精品国产91性色TV| 伊人五月天日日夜夜久久久天天| 狠狠干,狠狠操| 丁香五月性爱| 五月天天天色| 婷婷五月色播网| 久久99婷婷| 另类激情四射| 丁香五月香蕉| 亚洲色综合| 91久久久久久久久久久| 色播五月丁香| 伊人五月天| 这里只有精品偷拍| 99热这里只有精品9| 996er在线观看| 丁香婷婷影院| 99re热| 精品一二三区久久AAA片| 色五月天.con| 丁香五月色情| 激情综合网亚洲色图| 国产看真人毛片爱做A片| 五月天婷婷网站| 欧美精品在线观看| 婷婷激情丁香六月| 操逼综合网| www.狠狠| 99自拍视频在线| www激情| 色情五月丁香婷婷网| 六月婷婷综合| 日本九九热| 99久久超级| 五月婷婷六月开心| 先锋资源91| 99人人干| 99热成人精品| 视频一区二区在线| 久色大| 九九RE视频在线精品| www.婷婷.com| 午夜爱爱爱成人| 在线一起草av| 999婷婷综合| 视频综合网| 91打屁股免费看| 人人舔人人| 超碰三级片| 九九在线精品| 婷婷色网站| 婷婷九色| 久久婷婷色| 五月色天五月色| 久久一级免费黄色片| 成人一级片| 2025中文在线视频字幕免费观看| av人人操| 99re在线观看| 密桃激情五月天综合网| 精品亚洲国产成AV人片传媒| 色婷五月| 99九九精品| 综合婷婷久久| 国产精品91抖高| 天天做天天爽| 成人久久天天x资源站| 婷婷五月综合基地| www.久久久久| 99热在线观看这里只有精品| 五月综合激情| 婷婷五月天 丁香五月天 裸体| 久热这里只有| 天天色天天爱天天舔| 热婷婷av| 97av在线视频| 天天在线XXX| 激情小说五月丁香在线视频观看视频| 色婷婷亚洲综合网站| 久久东京热婷婷五月| 天天干天天日日| 偷拍九九五月丁香婷婷| www.夜夜操| 婷婷成人视频| 森林影视大全,最好看的2019年视频 | 另类综合国产| 99综合免费视频| 亚洲久久天堂| 天天日天天摸| 99视频在线观看网址| 久久99热这里| AV无码免费| 五月Huangsewang| 五月婷婷狠狠干| av网站中文| 91久久久久久久| 日韩成人电泉AV| 99热精品在线播放| 99操免费视频| 成人超碰Av| 婷婷欧美偷拍综合| 色婷婷88| 99丝袜精品视频网站| 午夜不卡久久精品无码免费| 九热免费视频| 噜噜精品| 五月天婷婷乱| 丁香婷婷六月婷婷六月婷婷六月婷婷| 99热狠狠操| 97操资源婷婷| 99ER热精品视频| 99热在线播放| 开心五月婷婷| 精a品a| 综合视频五月| 色五月丁香总合网| 99久久久久| 五月天婷婷色情| 玖玖91| 国产在线aaa片一区二区99| 97碰| 精品色色| 色五月天电影| 婷婷五月天成人小说| 五月激情偷拍婷婷| 99在线免费视| 成人操呦av| 丁香五月91| 色九九九九| 奇米影视777在线_在线观看午夜_h小视频在线观看_岛国大片 | 色播五月丁香| 色色五月天丁香婷婷| 久久偷拍综合五月天| 丁香五月婷婷成人网| 人人爱干人人爱草| 亚洲色久| 91丨九色丨熟女高潮| 丁香五月色五月| av无码电影| 中文字幕黄色电影网址| 久久婷婷五月综合网| 国产婷婷婷| 欧美成人AAA片一区国产精品| 26uuu国产| 伊人五月综合网| 99热这里有精力| 色婷婷欧美| 91久久| 91在线日| 99久久99久久综合| WWW,五月| 婷婷色中文字幕| 亚洲日日日| 婷婷丁香五月亚洲17cao| 99精品国产热久久91色欲| AV在线大香蕉| 99爱这里只有精品免费视频| 婷婷五月天久久久| 综合网天天| 超碰av在线| 丰满老熟妇BBBBB搡BBB| 亚洲国产精品二二三三区 | 丁香五月天堂网AV| 91精产品自偷自偷综合| 亚洲色图五月丁香| 日韩成人av在线| 九九色中文| 丁香六月色婷婷欧美| .操區COm| 热久久视频99| 婷婷五月天欧美| 色婷婷五月综合| 91人碰| 婷婷激情五月综合| 婷婷五月在线视频| 婷婷丁香六月天| 激情骚五月| 日韩超碰在线| 98毛片| 久热这里只有精品视频6| 战争与艾拉电影免费观看| 99在线精品在线视频| 亚洲成人av在线播放| 超碰99久久| 我爱大香蕉| 91肏肏肏| 婷婷丁香综合| 婷婷色五月激情| 6月丁香婷婷激情| 人人摸人人干人人做| 激情小说婷婷| 99视频精品在线| 影音先锋91在线资源站| 91亚洲免费片| 九九色综合| 桔色成人官方网站| 色五婷婷开心缴| 91欧美| 九九操屄| 久久婷婷五月综合激情国产| 六月婷婷五月丁香首页| 这里只有免费精品| 91Chinese在线| 国产69久久久欧美黑人A片| 超碰五月婷婷五月天| 婷婷四色五月| 婷婷娱乐丁香综合网| 9九色首页| 开心激情婷婷| 停停综合色色| 亚洲成色综合网站免费观看| 第四色五月天| 激情开心五月天| 免费在线观看av网站| 91碰在线| 天天舔日日肏夜夜爽| 婷婷丁香花五月天| 97亚洲视频在线| 五月婷婷色播| 丁香婷停五月激情综合深爱| 熟女网站久久| 丁香五月婷婷激情97| 国产成人在线精品| 五月天婷网| 色优久久| 91久久九色| 天天操夜夜夜夜爽| 五月婷婷婷丁香播| 99热热热99精品丁香| 成人综合视频在线| 婷婷五月噜噜| 五月丁香六月婷| 婷婷色吧| 超碰女人天堂| 久操热线| 激情婷婷丁香色五月| 夜夜躁狠狠| 伊人婷婷色| 五月婷A V在线| 人人爽天天莫| 丁香五月婷婷五月天| 欧美性生交xXxX久久久| 九九亚洲视频| h在线看免费版在线看| 婷婷五月激情黄色| 亚洲成人网无码| 99热成人| 国产乱轮一区二区三区| 九九热只有这里是精品| 丁香五月欧美成人| 免费成片在线观看| 九热视频这里只有精品| 亚洲综合色网| 婷婷午夜精品久久久| 五月激情综合美女久久| 人妻熟女一区二区AV| 思思99热这里只有精品| 色色色99| 碰人人97| 亚洲色综久久五月| 偷偷与邻居做爰完整视频| 五月天色图| 久热99热| 婷婷色偷拍| 伊人五月丁香| 激情性爱五月天网页| 五月天开心激情网色欲无码| 日本人妻A片成人免费看片| 久re热视频| www99热| 97碰碰免费.视频| 婷婷五月天影视网址| www久久久| 婷婷综合97| 五月天综合| 久热爱大香蕉在线蜜臀悦色| 牛牛碰免费| 久久无码成人| 激情五月丁香在线观看直播| 搡BBBB搡BBB搡18| 色狠狠999综合网| 天天操婷婷| 国产一级片| 色情丁香五月婷婷精品| 日本操片| 久久hd| 亚洲无aV在线中文字幕 | 99国产精品白浆在线观看免费| 婷婷五月天中文字幕.| 欧美97色| 99热国产精品| 国产一级片| 色优久久| 高清无码网址| 五月天无码| 桃色五月天| 3pAV| 最新高清无码专区| 五月社区婷婷激情| 字幕网AV中文字幕| www.六月丁香看AV| 奇米色大香蕉| 婷婷五月天无码| 色哟哟性爱av| 日本久热| 婷婷丁香五月亚洲欧美| 久久免费精彩视频| 99热在线免费观看精品| 丰满少妇乱A片无码| 777精品成人a v久久| 丁香8月手机综合| 丁香五月在线看| 91热久| 五月天成人免费视频| 91人人澡人人爽人人看| 91狠狠色| 婷婷五月天改成什么了| 桃色成人网| 婷婷综合五月色播| 97人妻人人| 婷婷大乡焦噜噜| 97久久视频| 一本大道嫩草AV无码专区| 99热精这里只有精品| 99在线看视频| 99爱爱网| 99爱视频精品| 国产乱妇乱子在线播视频播放网站| 五月婷六月丁| 色婷婷综合在线| 五月丁香六月成人| 俺也去婷婷五月天第五色| 福利视频在线播放| 思思热久久久在线| 亚州操逼网| 囯产精品久久欠久久久久久九大| 亚洲天堂AAA| 97操男人的天堂| 色婷婷成人网| 热热久久精品视频| 五月丁香亚州综合网| 六月婷婷啪啪| 综合激情网五月激情| 婷婷干| www久久久久久久97| 色五月丁香五月激情五月激情| AA片在线观看视频在线播放 | 天天天综合网| 四月婷婷五月色综合| 夜夜嗨一区二区三区直播内容| www.99热这里只有精品| 91久热| 久久综合五月天激情小说网站| 久久婷婷亚洲| 九热在线这里有精品6| 欲色人妻| 青草五月天| 色五婷婷| 色色色综合网| www,setingting| 超碰99热| 婷婷五月精品中文字幕| 五月婷婷色影院| 激情人妻蜜夜系列区| 久久综合影院| 婷婷五月AA五月在线| www,超碰| 国产精品国产成人国产三级| 超碰99在线| 久草丁香婷婷1024| 99久久久久久| 日日操人人操| 玖玖无码中文| 91a片爽| 996er热| 天天狠狠夜夜狠狠2023| 综合在线网| 婷婷九九视频| 91九色最新视频| 婷婷五月天久久| 成人超碰Av| 丁香婷婷精品视频| 99久久.www| 99久久国产宗和精品1上映| 色噜噜狠狠色综合成人99| www.久久66| 9久热| 激情五月婷婷啪啪| 久久caop| 97人人草| 久热免费视频| 日韩乱玛久久| 成人五月天色天堂| 97亚洲婷婷| 色啦啦视频| 五月开心久久| 久久五月婷婷丁香| www.俺去也com| 国产片天天爽夜夜爽| 亚洲一区二区无遮挡A片| AV成人在线网站| 六月婷婷开心| 夜夜操狠狠操| 午夜色丁香| 国产精品噜噜在线视频| 综合色图区| 久久9999| 六月丁香开心婷婷欧美| 超碰97在线操| 九九激情网| WWW久久久| 婷婷综合一二三| 亚洲视频伍月婷婷| 五月天婷婷影院影院| 五月丁香爱婷婷深深| 国产9色在线/日韩| 五月丁香人妻| 五他月天啪啪啪| 欧美黄色一级录像| 丁香五月激情啪啪| 欧美草久久五月天91| 天堂婷婷五月在线| 国产成人网站在线观看| 香蕉久久国产av一区二区| 九九视频在线观看视频在线播放69| 97在线观看| 国外亚洲成AV人片在线观看| 婷婷天天色| 久草天堂| 嫩草视频在线观看| 色婷婷国产精品综合在线观看| 天天色宗合| 五月丁香六月婷婷视频| 精品怡红九九九| 一本道综合网| 婷婷天天插天天爱| 天天色天天色天天色天天色天天色天天色| 日本综合色色| 婷婷中文无码| 久操福利| 超碰免费人妻| 天天摸天天肏| 日韩影院三级| 操B五月天| 8区视频在线| www.91九色| 婷婷九月综合| 日本啪啪网| 伊人激情啪啪| 婷婷久久网| 国产成人网| 九九九这里只有精品| 丁香色五月婷婷17C| 天天操天天爱天天日| AV伊人青草丁香六月| 看黄的网站18禁| 欧美久草在线日本一级特黄大片做受9在线观看韩国电影《两个女人》未删减-毛片 | 久久婷婷五月天蜜桃| 丁香久久| 色五月av| 丁香五月AV| 在线另类视频| 婷婷五月天av| 五月天综合色| 九九视频在线观看视频6 | 天天日天天插| 男人操女人高潮91视频| 97色射| 日韩美一级毛卡片| 丁香五月激情综合婷综| 99九九热在线观看| 久久五月婷婷电影| 五月天婷婷色紫薇阁| 婷婷五月天熟妇| 丁香五月天在线| 久久怡红院| 日本色道视频网站| 色婷婷狠狠18禁| 久久精品国产AV一区二区三区 | 九九精品大香蕉| 久久人五月| 中文字幕av久久爽一区| 日日日,com| 精品综合五月| 狠狠色狠狠操| 久久六月天| 99热只有| ztEJj| 六月丁香婷婷色狠狠久久| 婷婷五月天黄色| 五月丁香综合激情在线观看| 开心五月丁香婷婷| 狠狠做婷婷| 九九久久综合| 亚洲最大成人综合网720P| 久久蜜臀婷婷| 婷婷精品在线| 天天粽合合合合| 色播五月婷婷五月| 成人国产综合| 国产乱子轮XXX农村| 国产女人十八水真多1| 久婷久婷| 五月天无码视屏播放| 亚洲色情在线| 色婷婷久久| 一级黄在线| 五月99久久| 五月天婷亚洲天综合网综合| 草做免费在线观看| 男人天堂99| 国产精品18久久久| 丁香久月婷| 久久这里只有精品07 | 性av| 99视频久久久| 久久亚洲色导航| 天天操人人干| 91色久| 99热一本| 婷婷欧美色| 婷婷激情小说| 99超级碰免费视频| 91热久| 丁香激惜男女| 婷婷五月天国产| 欧美成人精品三区综合A片| 五月色激情综合网| 激情五月天婷婷直播| 在线1青婷| 九九在线精点品| 人人操操97| 777久久精品| 美国十月色婷婷在线观看| www.夜夜操| 99人人干人人| 欧美性色五月天| 九九色热| 九色porny在线观看激情四射| 超碰在线99| 婷婷五月av| 最近中文字幕2019视频1| 日韩在线观看亚洲| 天天射天天射一道本日本社区| 97干97色| 五月婷久久综合| 色色影院aaaav| 日本一级特黄大片AAAAA级| 色五月丁香五| 99色色热| 在线观看av网站| 亚洲AV成人一区二区在线观看| ww亚洲ww在线观看| 99热这里都是精品| 99久久超级| 思思久ren热| 91碰超| 国产精品A片在线| 色婷婷激情小说网| 色色激情网| 五月丁香亭亭AV女优| 逼逼AV| 激情五月婷婷丁香| 色婷婷AV在线| 亚洲经典小视频| 五月丁香综合激情| 婷婷六月色开| 亚洲综合色网| 超碰自拍天堂| 亚洲AAAA网| 色噜噜婷婷| 日本69日人视频| 九九在线视频| 五月婷色丁香| 思思re视频在线| 美日韩成人| 色五月综合激情| 五月 激情视频| 99久免费视频| 婷婷五月丁香综合人妻| 五月丁香六月| 26uuu视频欧美| 久久东京热婷婷五月| 色五月自偷自拍婷婷婷婷| 色婷婷五月天天天干天天操天天爽| 国产精品人成A片一区二区| 亭亭五月丁香综合欧美| 久久久91| 色哟哟www| 五月天成人免费视频| 日韩有码一区| 99热99re6国产在线播放| 操人妻AV| 国产精品-第3页-91JQ就要激情网91JQ5.JQJQ926.XYZ | 丁香五月宝贝激情网| 亚洲九九夜夜| 久久五月天精品视频| 国产亚洲在线观看| 免费亚洲婷婷中文字幕| 91久久综合亚洲鲁鲁五月天| 亚洲无码www| 99re8在这里只有精品| 狠狠色婷婷色| 99爱在线视频观看| 亚洲超碰中文字幕| 热99只有里视频| 26uuu成人网| 99亚洲无码| 久久33视频| 久久久精品色色色| 婷婷免费视频| 五月丁香成人视频| 99热全是精品| 国精产品一区一区三区有限公司杨 | 性色播| 99视频超级精品| 成人日韩欧美| 四色综合网| 九九热精品| 激情婷婷狠狠干综合| 久久久区区一久久久久久| 婷婷色色综合| 激情综合色婷婷啪啪六月天| 大香蕉福利导航| 五月天久久网站| 夜夜爱爱亚洲| 久久婷五月综合| 婷婷丁香五月麻豆| 99色在线视频| 五月天婷婷在线观看精品男人| 免费视频WWW在线观看网站| 婷婷丁香五月天色区| 婷婷五月丁香第四色超碰在线| 久热精品视频| 大香蕉人人网| 五月天婷婷免费| 三级三久久线久久99久目本WW| 久久久久人妻| 欧美毛片www| 91久女| 欧美丁香婷婷五月| 激情爱爱网站| 婷婷五月综合网| 夜夜爽日日躁| 伊人超碰在线| 丁香五月在线自慰| 婷婷五月天激情网址| 成 人片 黄 色 大 片| 狠色色狠网| 婷婷玖玖五月天| 五月婷婷综合激情| www.五月激情.com| 欧美日韩色色| 久久五月天色婷婷| 久久永久网址| 熟女强人妻一区二区三区四区无| 五月六月丁香激情| 欧美综合五月丁香六月婷| 色婷视频| 五月天六月婷婷电影| 密乳Va| 婷婷久久网| 99热在线观看免费| 丁香狠狠色婷婷| 婷婷五月天丁香| 久久er99| 亚洲综合久| 青青草免费公开视频| 丁香婷婷色五月| 一逼色综合| 国产亚洲精品久久久久苍井松| 色小说五月天| 99热国产精品| 国产婷婷婷| 天天综合五月| 五月天堂婷婷| 五月婷婷黄| 久久草大香蕉| 五月婷婷丁香社区| 99操99| 婷婷色狠狠| 91久久久久久久| 亚洲婷婷成人五月天| 亚韩在线视频| 国产午夜精品AV一区二区麻豆| 婷婷五月综合体验看| 天堂婷婷五月在线| 亚洲综合激情五月久久| 色大综合| 色娸娸综合网| 欧美69久成人做爰视频| 九九热婷婷| 丁香激情合作五月| www一起操| 四川女人毛多水多A片| 在线观看av网站| 五月丁香成人版| 丁香婷婷五月六月久久| 日韩成人影片网站| 九九九九国产| 色婷婷视频综合| 日本va欧美va欧美va精品| 丁香99| 久久99视频| 婷婷五月在线观看| 玖玖九九99| 日本久久精品| 91jiuseshunv| 婷婷在线视频| 婷婷色五月激情强奸四射| 久久99久久99精品免观看软件| 色五月婷婷色| 久久精品五月| 成人做爰黄A片免费看直播室男男| 色综合久久99色| 五月宗合激情网| 国产在线6| 伊人久久大香蕉网| 99精品视频播放| 亚洲色啪| 99在线精品视频| 思思精品热在线| 亚洲色色爱| 婷婷五月香蕉| 一级性感毛片| 亚洲日韩久久婷婷伊人| 色色色免费视频| 色99色| 91wwmm导航| 色婷婷五月天成人网| 掩去也综合五月视频| 亚洲成人网站在线| 91在线资源| 中文字幕乱码亚洲精品一区| 五月婷婷天| 日本视频99| www,天天干| 五月激情丁香| 激情五月天之六月婷婷| 五月丁香六月色婷婷综合五月天| 国产综合婷婷| 五月综合激情图片| 久久久久久久久久久久久9| 丁香六月天| 精品久久99| 九九婷婷综合| 欧美成人精品A片免费一区99| 亚洲色模骚货|