亚洲有码Av一区二区三区_国产高清啪啪免费视频_69色视频国产_国产成人人人爆出白浆_国产精品自在线拍国_一本久久伊人热热精品无码_午夜性刺激在线看免费带字幕_助力高品质欧美狂喷水_亚洲精品日韩无码_精品无码一区二区三区蜜臀_麻豆高清国产AV_熟妇人素无码中文字幕_亚洲a级片在线观看_国产欧美日韩三区_99国产成人高清在线观看

ARTICLE DETAIL

資訊詳情

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

基于SpringBoot+JWT+Redis的反詐普法學(xué)習(xí)與舉報(bào)平臺(tái)設(shè)計(jì)

基于SpringBoot+JWT+Redis的反詐普法學(xué)習(xí)與舉報(bào)平臺(tái)設(shè)計(jì) 1. 項(xiàng)目概述與選題價(jià)值1.1 為什么選反詐普法這個(gè)方向這兩年電信詐騙的花樣不斷翻新從冒充客服退款到“殺豬盤”從刷單返利到虛假征信幾乎每個(gè)月都能在社交平臺(tái)上看到新的騙術(shù)。與之形成鮮明對(duì)比的是大部分人的防騙知識(shí)還停留在“不轉(zhuǎn)賬、不匯款”這種籠統(tǒng)層面真正遇到精心設(shè)計(jì)的騙局時(shí)照樣中招。我見過太多人上當(dāng)之后才想起去查法律條文可惜錢已經(jīng)轉(zhuǎn)出去了。所以當(dāng)我看到“反詐普法平臺(tái)”這個(gè)題目時(shí)第一反應(yīng)就是這題有真實(shí)的業(yè)務(wù)價(jià)值。它不是那種純?yōu)榱藴惍厴I(yè)設(shè)計(jì)而生的“學(xué)生管理系統(tǒng)”“圖書管理系統(tǒng)”而是切切實(shí)實(shí)踩中了社會(huì)需求。從技術(shù)角度看這個(gè)項(xiàng)目需要覆蓋用戶注冊(cè)登錄、內(nèi)容管理、在線學(xué)習(xí)、考試測評(píng)、舉報(bào)受理、后臺(tái)審核等多個(gè)業(yè)務(wù)閉環(huán)復(fù)雜度適中——比單純的CRUD系統(tǒng)有深度但又不會(huì)難到?jīng)]法在幾個(gè)月內(nèi)完成非常適合作為畢業(yè)設(shè)計(jì)選題。1.2 這個(gè)系統(tǒng)到底做什么一句話概括這是一個(gè)面向全民的防騙知識(shí)學(xué)習(xí)與舉報(bào)一體化平臺(tái)核心解決三件事。第一把零散的反詐知識(shí)系統(tǒng)化通過文章、視頻、案例庫的形式呈現(xiàn)給用戶第二用學(xué)習(xí)打卡、在線測試、積分激勵(lì)的機(jī)制讓用戶真正把防騙知識(shí)學(xué)進(jìn)去而不是像傳統(tǒng)普法網(wǎng)站那樣掛幾篇文章就完事第三提供便捷的舉報(bào)入口用戶遇到可疑電話、短信、鏈接可以直接提交舉報(bào)后臺(tái)審核后形成案例警示其他人。這里我特別想強(qiáng)調(diào)一下“一體化”這三個(gè)字。很多畢設(shè)系統(tǒng)功能堆得不少但模塊之間是孤立的——用戶登錄歸登錄文章瀏覽歸文章瀏覽舉報(bào)歸舉報(bào)各跑各的沒有任何聯(lián)動(dòng)。而這個(gè)系統(tǒng)的核心設(shè)計(jì)思路是讓所有功能圍繞“用戶”這條主線串起來用戶學(xué)習(xí)文章會(huì)產(chǎn)生學(xué)習(xí)記錄學(xué)習(xí)記錄關(guān)聯(lián)考試資格考試成績換算成積分高積分用戶舉報(bào)時(shí)優(yōu)先處理舉報(bào)案例反過來成為新的學(xué)習(xí)素材。這個(gè)閉環(huán)設(shè)計(jì)是整篇畢業(yè)設(shè)計(jì)論文最出彩的地方也是答辯時(shí)最能和評(píng)委老師深入聊的點(diǎn)。1.3 誰適合參考這個(gè)項(xiàng)目如果你正在準(zhǔn)備Java方向的畢業(yè)設(shè)計(jì)有一定SpringBoot基礎(chǔ)但對(duì)“怎么把零散功能整合成一個(gè)完整系統(tǒng)”還拿不準(zhǔn)那這個(gè)項(xiàng)目非常適合你參考。它覆蓋了基于SpringBoot的RESTful API開發(fā)MyBatis Plus逆向工程與數(shù)據(jù)訪問層編寫Spring Security JWT實(shí)現(xiàn)無狀態(tài)登錄認(rèn)證文件上傳與靜態(tài)資源映射舉報(bào)證據(jù)圖片定時(shí)任務(wù)與狀態(tài)機(jī)流轉(zhuǎn)舉報(bào)處理流程Vue Element UI管理后臺(tái)搭建Redis緩存熱點(diǎn)文章數(shù)據(jù)可以說這個(gè)項(xiàng)目把Java Web開發(fā)中高頻用到的技術(shù)棧完整串了一遍而且每一項(xiàng)都有明確的業(yè)務(wù)場景在支撐不是為用而用。做完這個(gè)項(xiàng)目你對(duì)SpringBoot生態(tài)的理解會(huì)從“會(huì)寫接口”上升到“能設(shè)計(jì)一套完整業(yè)務(wù)系統(tǒng)”的層面。2. 項(xiàng)目架構(gòu)設(shè)計(jì)與技術(shù)選型思路2.1 為什么用SpringBoot不用SSH或SSM這個(gè)問題幾乎每次答辯都會(huì)被問到前置準(zhǔn)備一定要做足。我推薦SpringBoot的核心理由有三個(gè)自動(dòng)化配置、生態(tài)成熟、招人市場認(rèn)可度高。SSH框架時(shí)代要寫一大堆XML配置SSM也免不了各種手動(dòng)裝配而SpringBoot通過starter機(jī)制把常用場景的配置都封裝好了一個(gè)注解就能跑起Web項(xiàng)目這大大降低了學(xué)習(xí)成本。但這里要說實(shí)話SpringBoot更像是一個(gè)“集成的結(jié)果”而不是“革命的起點(diǎn)”。底層還是Spring IoC容器那一套還是Spring MVC處理請(qǐng)求分發(fā)還是MyBatis在做ORM映射。所以你在論文里寫技術(shù)選型時(shí)不要只寫“SpringBoot簡單易用”這種大白話要寫出更深層的理由SpringBoot簡化了Spring應(yīng)用的初始搭建與開發(fā)過程其自動(dòng)配置機(jī)制能在引入相關(guān)依賴時(shí)自動(dòng)注冊(cè)對(duì)應(yīng)Bean使得開發(fā)者可以專注于業(yè)務(wù)邏輯實(shí)現(xiàn)同時(shí)它遵循約定優(yōu)于配置的理念使項(xiàng)目結(jié)構(gòu)標(biāo)準(zhǔn)化便于后期維護(hù)與團(tuán)隊(duì)協(xié)作。這種寫法才能體現(xiàn)你對(duì)技術(shù)選型有真正的思考。我見過很多同學(xué)的論文在技術(shù)選型章節(jié)就是簡單羅列“我們選用了SpringBoot、MyBatis、MySQL”完全沒有解釋為什么是這個(gè)組合、它解決了什么問題、跟其他方案相比有什么優(yōu)劣一眼就能看出是拼湊的。2.2 整體技術(shù)棧清單層級(jí)技術(shù)選型說明后端框架SpringBoot 2.6.x核心開發(fā)框架提供自動(dòng)配置、起步依賴持久層MyBatis Plus 3.5.x基于MyBatis增強(qiáng)內(nèi)置CRUD方法支持分頁插件數(shù)據(jù)庫MySQL 8.0關(guān)系型數(shù)據(jù)庫存儲(chǔ)業(yè)務(wù)數(shù)據(jù)安全認(rèn)證Spring Security JWT無狀態(tài)認(rèn)證方案適合前后端分離場景緩存Redis 5.x緩存熱點(diǎn)文章、維護(hù)Token黑名單前端框架Vue 2.x Element UI后臺(tái)管理界面開發(fā)接口文檔Knife4jSwagger增強(qiáng)版自動(dòng)生成在線接口文檔工具庫Hutool驗(yàn)證碼生成、加密工具、日期工具等前后端分離是我明確推薦的方案理由有兩點(diǎn)。第一現(xiàn)在企業(yè)主流開發(fā)模式就是前后端分離你在畢設(shè)里就提前適應(yīng)這個(gè)模式答辯時(shí)也能加分第二前后端分離之后你甚至可以單獨(dú)用Postman或Apifox測試后端接口前端頁面可以一邊開發(fā)一邊調(diào)用真實(shí)接口調(diào)試效率比傳統(tǒng)JSP模式高很多。2.3 核心架構(gòu)分層設(shè)計(jì)整個(gè)系統(tǒng)按照經(jīng)典的四層架構(gòu)進(jìn)行組織表現(xiàn)層、業(yè)務(wù)層、數(shù)據(jù)層、基礎(chǔ)設(shè)施層。表現(xiàn)層就是Controller層負(fù)責(zé)接收HTTP請(qǐng)求、參數(shù)校驗(yàn)、調(diào)用業(yè)務(wù)服務(wù)、返回統(tǒng)一結(jié)果封裝。這一層要做的事情很純粹不要塞業(yè)務(wù)邏輯。業(yè)務(wù)層就是Service層這是整個(gè)系統(tǒng)的核心承載了權(quán)限校驗(yàn)、業(yè)務(wù)規(guī)則判斷、事務(wù)管理等核心邏輯。數(shù)據(jù)層就是Mapper層負(fù)責(zé)與數(shù)據(jù)庫交互MyBatis Plus提供了大量內(nèi)置方法大幅減少了編寫SQL的工作量。基礎(chǔ)設(shè)施層則包括Redis緩存服務(wù)、文件存儲(chǔ)服務(wù)、定時(shí)任務(wù)調(diào)度等為上層業(yè)務(wù)提供通用能力。這里有一個(gè)學(xué)生項(xiàng)目里非常常見的壞味道——業(yè)務(wù)邏輯寫在Controller里。我曾經(jīng)看到有人把舉報(bào)處理的所有業(yè)務(wù)規(guī)則都塞進(jìn)了一個(gè)Controller方法里五百多行的代碼業(yè)務(wù)層完全是空的這在大廠代碼評(píng)審里是直接被拒的。正確的做法是Controller只做參數(shù)接收和結(jié)果返回哪怕只是一個(gè)簡單的查詢也要走Service。這個(gè)習(xí)慣養(yǎng)成后你在答辯時(shí)被問到“你的項(xiàng)目分層怎么設(shè)計(jì)的”時(shí)才能答得理直氣壯。3. 核心功能模塊拆解與業(yè)務(wù)邏輯設(shè)計(jì)3.1 用戶中心模塊用戶是這個(gè)平臺(tái)的核心主體用戶中心模塊的設(shè)計(jì)質(zhì)量直接決定了整個(gè)系統(tǒng)的體驗(yàn)。這里的用戶分兩個(gè)角色普通用戶和系統(tǒng)管理員。普通用戶通過注冊(cè)頁面創(chuàng)建賬號(hào)填寫手機(jī)號(hào)、密碼、昵稱等信息系統(tǒng)管理員由開發(fā)者通過數(shù)據(jù)庫直接初始化的方式創(chuàng)建不走注冊(cè)接口。注冊(cè)流程中需要特別關(guān)注手機(jī)號(hào)的唯一性校驗(yàn)和密碼加密存儲(chǔ)。密碼不能明文存庫我使用的是BCrypt加密算法它是Spring Security自帶的加密工具特點(diǎn)是對(duì)同一個(gè)密碼每次加密產(chǎn)生的密文都不同但校驗(yàn)時(shí)能通過算法對(duì)比出是否匹配。這種加鹽哈希的機(jī)制能有效防止彩虹表攻擊。在實(shí)際編碼時(shí)我封裝了一個(gè)PasswordUtil工具類統(tǒng)一處理加密與校驗(yàn)不讓加密邏輯散落在業(yè)務(wù)代碼里。3.2 普法文章與分類管理這是反詐知識(shí)共享的核心承載模塊管理員在后臺(tái)發(fā)布文章設(shè)置文章標(biāo)題、封面圖、所屬分類、正文內(nèi)容可以標(biāo)記是否為置頂、是否加精。用戶在PC端可以按分類瀏覽文章搜索關(guān)鍵詞查看熱門文章排行。這里有一個(gè)很容易被忽視的細(xì)節(jié)——文章瀏覽量統(tǒng)計(jì)。常規(guī)做法是用戶每次點(diǎn)擊文章詳情時(shí)執(zhí)行一次UPDATE操作把瀏覽量加一。這個(gè)方案在低并發(fā)下沒問題但在畢設(shè)答辯時(shí)容易被追問“如果同一篇文章被大量用戶同時(shí)訪問你的瀏覽量計(jì)數(shù)會(huì)不會(huì)成為數(shù)據(jù)庫瓶頸”。所以我實(shí)際采用的是Redis方案用戶點(diǎn)擊文章時(shí)Redis執(zhí)行INCR操作將瀏覽量累加在內(nèi)存中系統(tǒng)每5分鐘通過定時(shí)任務(wù)將累計(jì)數(shù)據(jù)批量同步到MySQL。這樣既保證了計(jì)數(shù)實(shí)時(shí)性又減輕了數(shù)據(jù)庫寫入壓力。這個(gè)優(yōu)化點(diǎn)寫進(jìn)論文里相當(dāng)加分它體現(xiàn)的不只是“會(huì)用Redis”更是“理解Redis的典型應(yīng)用場景”。類似的場景我還用Redis處理了文章熱榜排行基于ZSet數(shù)據(jù)結(jié)構(gòu)按瀏覽量排序前端直接讀取Top10數(shù)據(jù)。3.3 在線學(xué)習(xí)與考試測評(píng)模塊這個(gè)模塊是系統(tǒng)的亮點(diǎn)特色完全針對(duì)“讓用戶真正學(xué)進(jìn)去”這個(gè)目標(biāo)來設(shè)計(jì)。管理員在后臺(tái)錄入防騙相關(guān)的視頻課程每個(gè)課程關(guān)聯(lián)學(xué)習(xí)資料和對(duì)應(yīng)考卷。用戶觀看視頻時(shí)前端會(huì)定時(shí)向后端上報(bào)學(xué)習(xí)進(jìn)度后端記錄學(xué)習(xí)時(shí)長和學(xué)習(xí)百分比。當(dāng)用戶的學(xué)習(xí)進(jìn)度達(dá)到100%后系統(tǒng)自動(dòng)解鎖對(duì)應(yīng)的考試測評(píng)試卷。試卷包含單選、多選、判斷三種題型用戶在限定時(shí)間內(nèi)答題交卷后系統(tǒng)自動(dòng)判分。這里我用到了Spring Boot的Transactional事務(wù)注解判分邏輯涉及創(chuàng)建考試記錄、寫入答題明細(xì)、累計(jì)得分、更新用戶積分多項(xiàng)操作必須保證事務(wù)的一致性。有一次我在調(diào)試時(shí)就遇到過一個(gè)問題考試成績記錄已經(jīng)插入成功但積分累加時(shí)因?yàn)橛脩舴e分表主鍵沖突導(dǎo)致整體事務(wù)回滾結(jié)果前端已經(jīng)刷新到了成績頁面后臺(tái)數(shù)據(jù)卻沒有落庫排查了半天才定位到是事務(wù)邊界沒控制好??荚嚺c學(xué)習(xí)的聯(lián)動(dòng)關(guān)系我用一張表來沉淀這種關(guān)聯(lián)課程-試卷關(guān)聯(lián)表。每門課程對(duì)應(yīng)一張?jiān)嚲碇挥袑W(xué)完課程才能參加考試考試得分自動(dòng)計(jì)算到該課程的學(xué)習(xí)卡片上。這種“學(xué)-練-考”閉環(huán)的設(shè)計(jì)思路在業(yè)務(wù)邏輯上形成了一個(gè)完整的學(xué)習(xí)動(dòng)線比單純推薦文章的學(xué)習(xí)平臺(tái)更有粘性。3.4 在線舉報(bào)模塊舉報(bào)是這個(gè)平臺(tái)最有社會(huì)價(jià)值的功能模塊也是業(yè)務(wù)邏輯最為復(fù)雜的模塊。用戶提交舉報(bào)時(shí)需要選擇舉報(bào)類型包括虛假投資理財(cái)、刷單返利、冒充客服、殺豬盤等常見電信詐騙類型填寫詐騙方信息電話、微信、QQ、網(wǎng)址等描述被騙經(jīng)過上傳聊天記錄、轉(zhuǎn)賬憑證等證據(jù)圖片然后提交。舉報(bào)信息提交后進(jìn)入待審核狀態(tài)管理員在后臺(tái)可以看到所有待處理的舉報(bào)記錄核驗(yàn)證據(jù)材料的真實(shí)性與完整性后將舉報(bào)狀態(tài)更新為“已受理”或“已駁回”。若已受理可以進(jìn)一步將舉報(bào)內(nèi)容標(biāo)記為“典型案例”系統(tǒng)會(huì)自動(dòng)將這條案例脫敏處理后發(fā)布到案例警示欄目供其他用戶學(xué)習(xí)參考。舉報(bào)狀態(tài)流轉(zhuǎn)是這里最值得細(xì)說的地方。我設(shè)計(jì)了五個(gè)狀態(tài)待審核、已受理、已處理、已駁回、已刪除。狀態(tài)機(jī)是單向流轉(zhuǎn)的待審核可以指向已受理或已駁回已受理可以指向已處理而已處理是終態(tài)。狀態(tài)變更采用集中式的狀態(tài)機(jī)管理類來處理不允許在Service層任意地方直接修改狀態(tài)值這樣保證了業(yè)務(wù)規(guī)則的集中控制也方便后續(xù)擴(kuò)展新的狀態(tài)。3.5 后臺(tái)管理模塊后臺(tái)管理模塊是給管理員用的管理端采用Vue Element UI開發(fā)與用戶端呈現(xiàn)完全不同的界面風(fēng)格。功能覆蓋文章管理、課程管理、試卷管理、舉報(bào)管理、用戶管理、數(shù)據(jù)統(tǒng)計(jì)六個(gè)板塊。其中數(shù)據(jù)統(tǒng)計(jì)板塊用了ECharts圖表庫以折線圖展示每日舉報(bào)數(shù)量趨勢用餅圖展示詐騙類型分布情況。整個(gè)后臺(tái)與后端接口的交互采用JWTToken認(rèn)證方式管理員登錄后獲取Token前端在每次請(qǐng)求時(shí)通過攔截器自動(dòng)將Token添加到請(qǐng)求頭中。后端在網(wǎng)關(guān)和攔截器層面統(tǒng)一校驗(yàn)Token合法性非法請(qǐng)求直接返回401狀態(tài)碼。Vue Router還配置了前置守衛(wèi)用戶未登錄時(shí)禁止訪問管理端路由強(qiáng)制跳轉(zhuǎn)到登錄頁。4. 數(shù)據(jù)庫設(shè)計(jì)與核心表結(jié)構(gòu)實(shí)現(xiàn)4.1 數(shù)據(jù)表整體規(guī)劃這個(gè)系統(tǒng)的數(shù)據(jù)庫我總共設(shè)計(jì)了10張核心表按業(yè)務(wù)域劃分為用戶域、內(nèi)容域、學(xué)習(xí)域、舉報(bào)域四大類表名業(yè)務(wù)域核心字段說明user用戶域id, username, password, phone, avatar, role, status用戶基本信息article內(nèi)容域id, category_id, title, cover, content, view_count, status普法文章article_category內(nèi)容域id, category_name, sort文章分類course內(nèi)容域id, course_name, cover, video_url, description, status視頻課程study_record學(xué)習(xí)域id, user_id, course_id, progress, study_duration, status學(xué)習(xí)進(jìn)度記錄exam_paper學(xué)習(xí)域id, course_id, paper_name, total_score, duration, status考試試卷信息exam_question學(xué)習(xí)域id, paper_id, question_type, question_content, options, answer, score題目信息exam_record學(xué)習(xí)域id, user_id, paper_id, score, status用戶考試記錄report舉報(bào)域id, user_id, report_type, contact_info, description, images, status, result舉報(bào)信息report_feedback舉報(bào)域id, report_id, operator_id, opinion, create_time舉報(bào)處理意見4.2 學(xué)習(xí)記錄表的設(shè)計(jì)要點(diǎn)學(xué)習(xí)記錄表是整個(gè)學(xué)習(xí)模塊的核心關(guān)聯(lián)表重點(diǎn)關(guān)注用戶與課程的映射關(guān)系以及學(xué)習(xí)進(jìn)度字段。這里要說明一個(gè)關(guān)鍵決策學(xué)習(xí)進(jìn)度字段我使用的是int類型存儲(chǔ)的是0到100的百分比整數(shù)而不是數(shù)據(jù)庫浮點(diǎn)數(shù)。原因有兩點(diǎn)——前端Vue播放器回傳的進(jìn)度值本身就是百分比整數(shù)用int類型不會(huì)產(chǎn)生誤差其次算分的邏輯里需要拿進(jìn)度值和考試資格判斷做比較整數(shù)比較效率更高可讀性也更強(qiáng)。這張表還承擔(dān)了學(xué)習(xí)行為審計(jì)的作用用戶在什么時(shí)間開始學(xué)習(xí)、累計(jì)學(xué)習(xí)了多長時(shí)間、最后學(xué)習(xí)到哪個(gè)位置都通過這張表記錄下來。雖然畢設(shè)階段不會(huì)真的去做行為分析但表結(jié)構(gòu)有這種意識(shí)答辯的時(shí)候就能有理有據(jù)地講“這張表的設(shè)計(jì)不僅滿足當(dāng)前功能需求也為后續(xù)擴(kuò)展用戶學(xué)習(xí)行為分析提供了數(shù)據(jù)支撐?!?.3 舉報(bào)表的狀態(tài)字段設(shè)計(jì)舉報(bào)表的設(shè)計(jì)里我最想強(qiáng)調(diào)的是狀態(tài)字段的類型選擇。很多初學(xué)者喜歡用int類型去存狀態(tài)值0表示待審核1表示已受理2表示已處理然后在代碼里用魔法數(shù)字去判斷。這種方式寫起來快但問題很大——代碼里到處都是“if (state 1)”誰知道1到底什么意思過兩周自己看都費(fèi)勁。我在這個(gè)項(xiàng)目中采用的是varchar類型存狀態(tài)碼枚舉值比如PENDING代表待審核ACCEPTED代表已受理PROCESSED代表已處理REJECTED代表已駁回。Java側(cè)定義對(duì)應(yīng)的枚舉類通過枚舉和字符串的互轉(zhuǎn)保證數(shù)據(jù)層的可讀性。雖然數(shù)據(jù)量大了以后varchar索引空間會(huì)比int多一些但在畢設(shè)這個(gè)量級(jí)完全不是問題換來的是代碼可讀性和維護(hù)性的大幅提升。4.4 數(shù)據(jù)庫索引優(yōu)化實(shí)踐在數(shù)據(jù)量不大但查詢場景明確的場景下我對(duì)四張核心表做了針對(duì)性索引設(shè)計(jì)。用戶表對(duì)phone字段建立唯一索引這是注冊(cè)時(shí)的高頻查詢條件唯一索引既能保證手機(jī)號(hào)唯一性又能加速查詢文章表對(duì)category_id和status建立聯(lián)合索引支撐按分類展示、只展示已發(fā)布內(nèi)容的前端需求學(xué)習(xí)記錄表對(duì)user_id和course_id建立聯(lián)合索引并添加唯一約束確保同一用戶學(xué)習(xí)同一課程只有一條記錄避免重復(fù)數(shù)據(jù)舉報(bào)表對(duì)狀態(tài)字段建立普通索引支撐后臺(tái)按狀態(tài)篩選舉報(bào)列表的場景。這里我踩過一個(gè)實(shí)際的小坑最初學(xué)習(xí)記錄表我沒有加唯一約束測試人員在同一門課程下反復(fù)點(diǎn)擊學(xué)習(xí)每次都生成一條新記錄最后一個(gè)人的學(xué)習(xí)卡片下面掛了十幾條進(jìn)度記錄頁面已經(jīng)沒法看了。加了user_id, course_id聯(lián)合唯一索引后通過INSERT ... ON DUPLICATE KEY UPDATE語法實(shí)現(xiàn)對(duì)已存在記錄的冪等更新問題才徹底根治。這個(gè)事情后來寫進(jìn)了我的論文問題與措施章節(jié)是一個(gè)很典型的數(shù)據(jù)庫設(shè)計(jì)復(fù)習(xí)案例。5. 實(shí)操過程與核心模塊編碼實(shí)現(xiàn)5.1 項(xiàng)目初始化和基礎(chǔ)依賴配置項(xiàng)目初始化我選擇通過Spring Initializr快速搭骨架Java版本用的8因?yàn)榇蟛糠謱W(xué)校的畢業(yè)設(shè)計(jì)服務(wù)器環(huán)境還停留在JDK8版本太新反而容易出兼容問題。核心依賴包括spring-boot-starter-web、spring-boot-starter-security、mybatis-plus-boot-starter、mysql-connector-java、jjwt、hutool-all、redis-starter等。關(guān)鍵配置文件application.yml中有幾個(gè)細(xì)節(jié)值得提一下。數(shù)據(jù)庫連接池我沒有用默認(rèn)的HikariCP參數(shù)而是顯式配置了最大連接數(shù)20最小空閑連接數(shù)5。文件上傳方面需要配置spring.servlet.multipart.max-file-size和max-request-size分別設(shè)置單文件最大10MB單次請(qǐng)求最大20MB防止用戶上傳超大圖片導(dǎo)致請(qǐng)求超時(shí)或內(nèi)存溢出。Redis配置則需要注意database的隔離策略我用的是db1作為業(yè)務(wù)緩存庫避免與項(xiàng)目依賴的其他Redis數(shù)據(jù)混存。5.2 登錄注冊(cè)模塊的實(shí)現(xiàn)難點(diǎn)先看登錄流程的核心代碼邏輯public LoginResult login(LoginDTO dto) { // 1. 查詢用戶是否存在 User user userMapper.selectByUsername(dto.getUsername()); if (user null) { throw new BusinessException(用戶名或密碼錯(cuò)誤); } // 2. 校驗(yàn)密碼 if (!passwordEncoder.matches(dto.getPassword(), user.getPassword())) { throw new BusinessException(用戶名或密碼錯(cuò)誤); } // 3. 校驗(yàn)用戶狀態(tài) if (user.getStatus() ! 1) { throw new BusinessException(賬號(hào)已被禁用請(qǐng)聯(lián)系管理員); } // 4. 生成JWT String token jwtUtil.createToken(user.getId(), user.getUsername(), user.getRole()); // 5. 將Token存入Redis設(shè)置過期時(shí)間 redisUtil.set(RedisKeyConstant.LOGIN_TOKEN_KEY user.getId(), token, jwtUtil.getExpireDate(), TimeUnit.MILLISECONDS); return new LoginResult(token, user.getUsername(), user.getRole()); }這里有兩個(gè)關(guān)鍵設(shè)計(jì)值得解釋。第一為什么校驗(yàn)密碼失敗返回的是“用戶名或密碼錯(cuò)誤”而不是“密碼錯(cuò)誤”因?yàn)榉珠_提示等于告訴攻擊者這個(gè)用戶名存在方便了撞庫。統(tǒng)一提示是最基本的安全防御策略。第二用戶成功登錄后為什么要把Token再存一份到Redis因?yàn)镴WT是無狀態(tài)的服務(wù)端無法主動(dòng)讓用戶的Token失效這就會(huì)導(dǎo)致一個(gè)問題——用戶修改密碼或賬號(hào)被管理員封禁時(shí)舊Token依然有效。通過將Token存儲(chǔ)到Redis并在攔截器中對(duì)比請(qǐng)求Token與Redis中的Token是否一致就能實(shí)現(xiàn)服務(wù)端主動(dòng)踢人下線的能力彌補(bǔ)了JWT無狀態(tài)認(rèn)證的短板。還有一個(gè)細(xì)節(jié)得專門說一下就是登錄接口的防暴力破解。最開始我的實(shí)現(xiàn)是純用戶名密碼比對(duì)沒有限制錯(cuò)誤次數(shù)。后來模擬攻擊測試發(fā)現(xiàn)用腳本循環(huán)請(qǐng)求完全可以無限嘗試密碼。修復(fù)方案是用Redis對(duì)登錄失敗次數(shù)進(jìn)行計(jì)數(shù)同一IP連續(xù)失敗5次就鎖定15分鐘鎖定期內(nèi)直接拒絕登錄請(qǐng)求。這個(gè)功能雖然只用了幾行代碼但在答辯演示時(shí)能立刻抓住評(píng)委的眼球?qū)儆谕度氘a(chǎn)出比極高的功能點(diǎn)。5.3 學(xué)習(xí)進(jìn)度上報(bào)接口的冪等性設(shè)計(jì)學(xué)習(xí)進(jìn)度上報(bào)是容易被低估的接口但如果處理不當(dāng)會(huì)引發(fā)一系列臟數(shù)據(jù)問題。先看一下進(jìn)度上報(bào)的控制器邏輯PostMapping(/study/progress) public Result updateProgress(RequestBody StudyProgressDTO dto) { // 參數(shù)校驗(yàn) if (dto.getProgress() 0 || dto.getProgress() 100) { return Result.fail(進(jìn)度值不合法); } studyRecordService.updateProgress(dto); return Result.ok(); }Service層實(shí)現(xiàn)中我首先判斷當(dāng)前用戶是否已存在該課程的學(xué)習(xí)記錄若有則直接更新進(jìn)度同時(shí)將學(xué)習(xí)狀態(tài)從“學(xué)習(xí)中”更新為“已完成”無則創(chuàng)建一條新學(xué)習(xí)記錄。用聯(lián)合唯一索引配合INSERT ... ON DUPLICATE KEY UPDATE來實(shí)現(xiàn)本質(zhì)上是一種數(shù)據(jù)庫層面的冪等方案無論前端重復(fù)請(qǐng)求多少次最終都只會(huì)保留一條學(xué)習(xí)記錄且進(jìn)度值收斂于最后一次上報(bào)值。前端播放器上報(bào)進(jìn)度的頻率我建議設(shè)計(jì)為每15秒一次而不是每1秒一次。15秒上報(bào)一次不僅已經(jīng)足夠精確記錄用戶的學(xué)習(xí)行為而且能夠大幅減少無效請(qǐng)求對(duì)服務(wù)器的壓力。真正需要精細(xì)化控制的是用戶暫?;蛲顺鲰撁鏁r(shí)的主動(dòng)上報(bào)這個(gè)時(shí)機(jī)上報(bào)一次能夠確保用戶已經(jīng)學(xué)到的最新進(jìn)度被及時(shí)持久化。5.4 舉報(bào)功能的后端實(shí)現(xiàn)和文件上傳處理舉報(bào)接口是典型的涉及多數(shù)據(jù)操作的業(yè)務(wù)場景舉報(bào)主表插入記錄、舉報(bào)編號(hào)生成、圖片文件存儲(chǔ)、可能觸發(fā)通知?jiǎng)幼?。這里我用事務(wù)確保主表和附件表的數(shù)據(jù)一致性事務(wù)邊界就是整個(gè)舉報(bào)提交方法。需要特別注意的是文件上傳處理應(yīng)該放在事務(wù)邊界之外先執(zhí)行等文件確實(shí)寫到磁盤上了再開啟事務(wù)進(jìn)行數(shù)據(jù)落庫操作。如果你先把數(shù)據(jù)庫記錄寫進(jìn)去了再去保存文件文件保存失敗就會(huì)導(dǎo)致數(shù)據(jù)庫里有記錄但實(shí)際看不到圖片的臟數(shù)據(jù)這種問題排查起來非常隱蔽。Transactional(rollbackFor Exception.class) public Long submitReport(ReportDTO dto, MultipartFile[] images) { // 不推薦事務(wù)中包含文件寫入 // 推薦先保存文件后開啟事務(wù)保存數(shù)據(jù)庫記錄 // 1. 保存文件到本地磁盤 ListString fileUrls fileStorageService.saveImages(images); // 2. 生成舉報(bào)編號(hào) String reportNo RP System.currentTimeMillis() RandomUtil.randomNumbers(4); // 3. 保存舉報(bào)主表記錄 Report report new Report(); report.setReportNo(reportNo); report.setUserId(SecurityUtil.getCurrentUserId()); report.setReportType(dto.getReportType()); report.setContactInfo(dto.getContactInfo()); report.setDescription(dto.getDescription()); report.setImages(String.join(,, fileUrls)); report.setStatus(ReportStatusEnum.PENDING.getCode()); reportMapper.insert(report); return report.getId(); }5.5 后臺(tái)前端與接口聯(lián)調(diào)中的幾個(gè)小坑后臺(tái)管理端我用的Vue Element UI開發(fā)過程中印象最深的不是組件用法而是一些容易被忽略的聯(lián)調(diào)細(xì)節(jié)。第一個(gè)是跨域問題。前端項(xiàng)目運(yùn)行在Vite開發(fā)的9528端口后端接口運(yùn)行在8080端口前后端端口不一致必然產(chǎn)生跨域請(qǐng)求。我在后端定義了一個(gè)全局CorsConfiguration類在SpringBoot里配置允許跨域訪問的路徑、請(qǐng)求頭和請(qǐng)求方法這樣才能讓前端調(diào)試過程中不報(bào)跨域錯(cuò)誤。第二個(gè)是后端接口統(tǒng)一返回值結(jié)構(gòu)問題。前端需要拿到一個(gè)固定格式的響應(yīng)體才能做統(tǒng)一處理。我定義了一個(gè)Result類包含code、message、data三個(gè)字段所有接口返回Result對(duì)象。前端封裝了request.js配合Axios攔截器統(tǒng)一處理成功和失敗分支并在HTTP狀態(tài)碼為401時(shí)自動(dòng)跳轉(zhuǎn)登錄頁。這個(gè)統(tǒng)一封裝在聯(lián)調(diào)階段起到了非常大的作用使前后端接口聯(lián)調(diào)問題定位快了很多。第三個(gè)是Element UI里日期選擇器的數(shù)據(jù)格式問題。后端接受的是標(biāo)準(zhǔn)的時(shí)間字符串而Element UI的date-picker默認(rèn)輸出的是Date對(duì)象在序列化時(shí)如果不做格式轉(zhuǎn)換會(huì)出現(xiàn)各種時(shí)間格式錯(cuò)亂。統(tǒng)一處理方案是在Vue端通過value-format屬性把輸出格式限定為yyyy-MM-dd HH:mm:ss字符串前端先行兜底后端從前端拿到的就已經(jīng)是標(biāo)準(zhǔn)時(shí)間格式。6. 常見問題與排查技巧實(shí)錄6.1 開發(fā)過程中的高頻異常及異常處理方案下面是我實(shí)際開發(fā)過程中遇到并解決的高頻異常問題很多問題在其他項(xiàng)目里也會(huì)同樣出現(xiàn)值得整理成一張速查表方便對(duì)照參考異?,F(xiàn)象產(chǎn)生原因排查思路與解決方案啟動(dòng)報(bào)Failed to configure a DataSource未配置數(shù)據(jù)源或配置有誤檢查application.yml中的數(shù)據(jù)庫連接配置確認(rèn)url、username、password是否正確依賴是否引入完整啟動(dòng)報(bào)Invalid bound statement (not found)Mapper接口與XML映射文件不對(duì)應(yīng)檢查MyBatis Mapper掃描路徑配置確認(rèn)MapperScan注解路徑正確且XML文件在resource目錄的對(duì)應(yīng)位置訪問接口報(bào)404控制器路徑或請(qǐng)求方法不匹配檢查Controller類上的RequestMapping、GetMapping、PostMapping注解前后端請(qǐng)求的Method是否一致登錄接口報(bào)403Spring Security未放行登錄接口在SecurityConfig的WebSecurityCustomizer中配置放行/login、/register等匿名訪問路徑圖片上傳成功但訪問404靜態(tài)資源映射未配置需要在SpringBoot中配置靜態(tài)資源映射將本地上傳目錄映射到虛擬路徑比如registry.addResourceHandler(/upload/**).addResourceLocations(file:D:/upload/)前端訪問接口跨域報(bào)錯(cuò)未配置后端跨域支持配置全局CorsConfiguration注意allowedOriginPatterns不能只設(shè)置“*”要結(jié)合實(shí)際前端地址進(jìn)行配置舉報(bào)列表數(shù)據(jù)重復(fù)分頁查詢未正確使用MyBatis Plus分頁插件確認(rèn)配置了MybatisPlusInterceptor并添加PaginationInnerInterceptor這是分頁插件生效的前提事務(wù)不生效類內(nèi)部方法調(diào)用導(dǎo)致AOP代理失效Spring事務(wù)基于AOP代理實(shí)現(xiàn)同類中另一個(gè)方法調(diào)用是內(nèi)部調(diào)用代理不會(huì)生效需要注入自身或拆到不同類中6.2 一個(gè)真實(shí)的排查過程記錄這里分享一個(gè)我在開發(fā)舉報(bào)模塊時(shí)處理的比較有代表性的問題。當(dāng)時(shí)后臺(tái)管理員審核一條舉報(bào)記錄后前端頁面一直顯示“審核中”導(dǎo)致審核狀態(tài)一直得不到更新而數(shù)據(jù)庫里舉報(bào)表那條記錄的狀態(tài)字段其實(shí)已經(jīng)改了。排查問題的時(shí)候我先確認(rèn)了后端接口和數(shù)據(jù)庫層面通通沒有問題數(shù)據(jù)落庫確實(shí)生效了。接著我開始懷疑是不是前端頁面緩存的問題但檢查后也排除了。隨后我從業(yè)務(wù)邏輯鏈路一環(huán)一環(huán)排查過去終于發(fā)現(xiàn)原來在審核舉報(bào)的Controller層有一步返回給前端的Result對(duì)象里嵌套的舉報(bào)信息數(shù)據(jù)是在事務(wù)提交之前從數(shù)據(jù)庫中取出來的那個(gè)時(shí)候數(shù)據(jù)庫里存的狀態(tài)確實(shí)還是舊的。事務(wù)提交之后數(shù)據(jù)庫里的值已經(jīng)更新了但前端展示的數(shù)據(jù)引用的還是舊值。找到根因之后問題解決起來就簡單了。我把“查詢最新舉報(bào)信息返回給前端展示”的邏輯挪到事務(wù)提交之后執(zhí)行即針對(duì)這類操作統(tǒng)一在Controller層先調(diào)用Service層的審核更新事務(wù)再調(diào)用另一個(gè)查詢方法去拉最新的數(shù)據(jù)保證前端拿到的永遠(yuǎn)是提交后的最終數(shù)據(jù)。這個(gè)問題解決后我還舉一反三地檢查了后臺(tái)所有類似的“更新后返回詳情”的接口統(tǒng)一遵循這個(gè)順序原則。6.3 自測驗(yàn)收時(shí)踩過的隱藏小坑除了上面這些顯性問題還有一些屬于自測階段才會(huì)暴露的“隱藏小坑”列出來給大家提個(gè)醒時(shí)間字段的時(shí)區(qū)問題。MySQL連接串里如果不加serverTimezoneAsia/Shanghai參數(shù)插入數(shù)據(jù)庫的時(shí)間會(huì)比北京時(shí)間少8個(gè)小時(shí)。最初沒注意直到后臺(tái)管理界面出現(xiàn)“發(fā)布于1970年”這種離譜數(shù)據(jù)才反應(yīng)過來這是非常經(jīng)典的基礎(chǔ)坑。對(duì)話文案中的時(shí)間顯示問題。前端直接用默認(rèn)的Date對(duì)象格式展示時(shí)間顯示效果是一長串帶T的ISO格式字符串非常不友好。統(tǒng)一處理方案是在前端封裝一層時(shí)間格式化過濾器在后端給前端的VO字段上使用JsonFormat注解保證接口返回的時(shí)間格式已經(jīng)是格式化好的、方便直接展示的。大段文本中的特殊字符問題。舉報(bào)描述或文章正文里有英文單引號(hào)時(shí)如果SQL語句是手動(dòng)拼接字符串單引號(hào)會(huì)直接截?cái)郤QL導(dǎo)致報(bào)錯(cuò)。雖然用了MyBatis預(yù)編譯之后這個(gè)風(fēng)險(xiǎn)理論上解除了但如果你在存儲(chǔ)過程中也有字符串拼接場景仍然需要注意對(duì)單引號(hào)做轉(zhuǎn)義處理。7. 項(xiàng)目亮點(diǎn)提煉與答辯準(zhǔn)備建議7.1 三個(gè)能夠精準(zhǔn)打動(dòng)評(píng)審老師的核心亮點(diǎn)整個(gè)項(xiàng)目做完后如果需要你在答辯現(xiàn)場用最短時(shí)間講清楚項(xiàng)目的過人之處以下三個(gè)亮點(diǎn)是最值得展開的第一個(gè)亮點(diǎn)是業(yè)務(wù)閉環(huán)設(shè)計(jì)。用戶從學(xué)習(xí)課程、到參加考試、再到舉報(bào)案件整個(gè)核心鏈路是完整的每個(gè)模塊都不是孤島模塊之間存在業(yè)務(wù)上的關(guān)聯(lián)與推動(dòng)關(guān)系。當(dāng)前端完成了“學(xué)完課程自動(dòng)解鎖考試、考試合格贈(zèng)送積分、高積分用戶舉報(bào)優(yōu)先審核”這一連串規(guī)則后整個(gè)項(xiàng)目就不只是信息發(fā)布平臺(tái)而是一套有激勵(lì)導(dǎo)向的全民反詐教育引擎。第二個(gè)亮點(diǎn)是JWT Redis的雙重認(rèn)證機(jī)制。純JWT認(rèn)證存在服務(wù)端無法主動(dòng)注銷用戶的短板通過引入Redis存儲(chǔ)Token并做強(qiáng)制校驗(yàn)補(bǔ)上了服務(wù)端主動(dòng)踢人和登錄態(tài)統(tǒng)一管理的能力等于把無狀態(tài)認(rèn)證和有狀態(tài)控制的優(yōu)點(diǎn)結(jié)合了這個(gè)方案在業(yè)界也被越來越廣泛認(rèn)可你的答辯官一聽就能明白你不是死記硬背的。第三個(gè)亮點(diǎn)是數(shù)據(jù)庫層面的實(shí)戰(zhàn)細(xì)節(jié)。從聯(lián)合唯一索引保證學(xué)習(xí)記錄的冪等性到狀態(tài)字段采用可讀性更強(qiáng)的枚舉字符串而不是意義不明的數(shù)字這些都體現(xiàn)了一名后端開發(fā)對(duì)數(shù)據(jù)一致性和可維護(hù)性應(yīng)有的敏感度。這些細(xì)節(jié)如果不說出來看似普通的表結(jié)構(gòu)里其實(shí)有很多看不到的思考。7.2 答辯時(shí)容易被追問的問題清單根據(jù)我做畢業(yè)設(shè)計(jì)指導(dǎo)和模擬答辯的經(jīng)驗(yàn)這個(gè)項(xiàng)目特別容易被提問的方向至少有以下幾個(gè)提前準(zhǔn)備好回答思路為什么選擇JWT而不是Session認(rèn)證方式核心區(qū)別在于服務(wù)端是否需要存儲(chǔ)會(huì)話狀態(tài)JWT適合前后端分離、水平擴(kuò)展需要無狀態(tài)服務(wù)的場景。Spring Security的過濾器鏈原理是什么了解OncePerRequestFilter這類核心過濾器的執(zhí)行順序以及如何插入自定義認(rèn)證過濾器。Redis緩存的數(shù)據(jù)和數(shù)據(jù)庫的一致性怎么保證可以從緩存更新策略入手展示更新數(shù)據(jù)庫后主動(dòng)刪除緩存下次查詢時(shí)再回填的思路。舉報(bào)圖片是怎么存儲(chǔ)的如果把圖片存到云上你會(huì)怎么設(shè)計(jì)展示你對(duì)文件存儲(chǔ)的邏輯分層和替換擴(kuò)展能力的理解。分頁插件實(shí)現(xiàn)原理MyBatis Plus的分頁插件是基于MyBatis的Interceptor機(jī)制在SQL執(zhí)行前攔截并改寫為分頁語句。系統(tǒng)目前有哪些安全隱患如果沒有安全方面的思考可以說“當(dāng)前系統(tǒng)只是畢設(shè)級(jí)別很多安全措施沒有完整覆蓋例如缺少接口防重放攻擊、缺少全局XSS過濾等我認(rèn)識(shí)到了這個(gè)問題”。7.3 論文寫作上的個(gè)人建議論文結(jié)構(gòu)上我強(qiáng)烈建議把“系統(tǒng)設(shè)計(jì)”這一章寫細(xì)畫出功能結(jié)構(gòu)圖、系統(tǒng)架構(gòu)圖、業(yè)務(wù)流程圖不是那種網(wǎng)上抄來的看不懂的圖而是每一張圖都對(duì)應(yīng)到你自己代碼里的真實(shí)模塊和真實(shí)流程。數(shù)據(jù)庫設(shè)計(jì)章節(jié)把ER圖和表結(jié)構(gòu)說明寫到每一個(gè)字段的注釋級(jí)別讓評(píng)委能單看論文就對(duì)你的代碼結(jié)構(gòu)有清晰的預(yù)期。特別要強(qiáng)調(diào)的一點(diǎn)是論文里不要回避遇到的困難。我個(gè)人的經(jīng)驗(yàn)是在“系統(tǒng)實(shí)現(xiàn)”和“系統(tǒng)測試”章節(jié)中主動(dòng)詳寫兩三個(gè)自己踩過的坑和排查過程比如之前提到的舉報(bào)審核狀態(tài)顯示未更新的問題、學(xué)習(xí)記錄重復(fù)數(shù)據(jù)的問題反而會(huì)讓論文顯得真實(shí)且扎實(shí)。評(píng)閱老師看了太多從頭到尾“一路順暢”的學(xué)生論文那種論文通常也是抄襲或者流水賬創(chuàng)作的結(jié)果。真實(shí)記錄問題的解決過程反而更容易給評(píng)委留下獨(dú)立思考、動(dòng)手能力強(qiáng)的正面印象。8. 最后說幾句做這類項(xiàng)目的真實(shí)感受整個(gè)項(xiàng)目做下來最大的感受可以用一句話概括畢業(yè)設(shè)計(jì)真正鍛煉人的不是寫代碼本身而是從需求分析、表結(jié)構(gòu)設(shè)計(jì)、功能實(shí)現(xiàn)到測試聯(lián)調(diào)這一整套工程流程的思維訓(xùn)練。關(guān)于時(shí)間投入我的經(jīng)驗(yàn)值是分模塊估算——用戶中心加JWT認(rèn)證約一周文章和課程模塊約一周學(xué)習(xí)記錄與考試測評(píng)約兩周舉報(bào)與后臺(tái)管理約兩周前端頁面打磨和接口聯(lián)調(diào)再一周最后留兩周做測試和論文撰寫整體大概兩個(gè)月的業(yè)余時(shí)間可以穩(wěn)定拿下。如果時(shí)間緊張可以先砍掉考試測評(píng)模塊做成純學(xué)習(xí)功能系統(tǒng)依然可用但業(yè)務(wù)閉環(huán)就沒有那么完整了。最后再分享一個(gè)實(shí)用小技巧答辯演示前一定要準(zhǔn)備一個(gè)干凈的演示數(shù)據(jù)庫里面預(yù)留好足夠數(shù)量的測試賬號(hào)、舉報(bào)記錄、學(xué)習(xí)數(shù)據(jù)所有演示路徑自己完整走兩遍以上。我見過太多人答辯現(xiàn)場臨時(shí)錄入數(shù)據(jù)結(jié)果圖片上傳失敗或者測試賬號(hào)密碼記錯(cuò)導(dǎo)致反復(fù)登錄失敗場面非常尷尬。提前把演示流程演練到閉著眼睛能走通的程度這個(gè)畢設(shè)才能真正畫上一個(gè)圓滿的句號(hào)。
返回列表
PREV
查看更多資訊
NEXT
返回資訊列表
96久久久精品| 精品色色| 欧美日韩*字幕一区| 久jiu久神马影院| 免费久久一级毛片大黄| 亚洲极品| 亚洲国成人情色好看电影| 精品国产乱码久久久久久网站入口| 国产丝袜视频| 日韩卡一卡二卡三在线| 欧美天天干| 色婷婷综合久久中文字幕雪峰| 99视频这有这里有精品| 色97欧美| 青青草久草AV| 日韩成人午夜精品久久高潮| 精品区国产区一区二区三区| 久久久性爱| 九九九九精品一区| 蜜臀AV成人精品蜜臀AV久久| 日韩国语字幕| av天天在线观看| 人人妻人射| 超碰地址久久| 欧美精品在线观看| 91超级碰碰| 乱伦a片视频| 日韩久射综合| 91色人| 青青草原成人| 新亚洲无码| 亚洲综合性感在线| 激情婷婷黑人91| 天天日天天舔东京热| 欧美色图亚洲特色| 人人妻人人狠人人| 日韩兔费看黄片| 欧美在线大香蕉| 黄片www.| 亚洲成人日韩小说| 91精品91久久久久77777俄罗斯老妇姓x| 国产不卡免费在线视频| 日韩人妻无码精品系列| 我要看免费韩日黄片| 插入逼91| 欧美日韩亚洲天堂| 久久有碼| 91狠| 亚洲另类在线观看| 欧美aaaaaaa| 97视频免费播放| 激情人妻另类| 中文字幕在在线观看网站| 欧美成人AⅤ大片在线观看| 超碰97综合在线| 超碰在线在公开超碰在线在公开| 中文字幕日韩人妻视频一区二区三区 | se吧提供国产乱老熟视频胖女人| 日本不卡免费二区| 在线免费试看60秒| 亚洲精品一卡二卡三卡福利视频网站 | 国产精品无码在线| 99在线免费公开视频| 久久成人东京热人妻| 日韩超碰精品综合| 欧美成人亚洲精品| 国产野战露脸在线播放| 日本精品中文字幕视频| 人妻中文字幕精品无码 | 少妇一区二区三区在线观看| 影音先锋一区二区在线资源| 亚洲性猛| 大香蕉淫人网| 日韩性爱电影一区| 亚洲国产日韩欧美熟妇在线| 操香逼| 男女性扦B| 2017天天拍大香蕉| 人人看人人摸人人色| 黄页大片在线观看| 1人人看人人摸人人操| 搡老女人老91妇女熟女| 人妻无一区二区三区| 激情久久av一区av二区av| 99性爱视频| 91亚洲丝袜熟女| 牛牛操视频逼| 色蜜AV| 中文熟女五十乱码在线| 国产一区二区三区免费视频在性观看 | 日韩精品字幕| 久久一区,青青青青草视频在线播放| 国产女人9999| 亚洲国产成人精品无码专区| 亚洲欧美精品一区天堂久久 | 天天内射| 大粗鳼巴久久久久| 最新国产精品| 中文字幕国产| 99热亚洲天堂| 美国日韩黄片| 91 丝袜在线观看| 色色香蕉| 欧美欧美少妇| 国产无马av| 亚洲日本天堂| 国产精品久久99日日| 成人黄页| 又黄又爽在线观看视频| 丁香五六月啪啪| 国产AV天美| 老外又粗又长一晚做五次| 全球成人中文在线| 国产乱码久久久| 女人双腿搬开让男人桶| 91bbbbbb| 熟妇高潮一区二| 天天日天天干天天整| 人妻熟妇一区二区三区| 欧美一区二区情色| 无码 有码 国产18p| 人妻一区二区三区熟女| 东京日日夜夜| 97欧美性爱| 久超碰这里只有精品| 香蕉99秘 精品一区丁香| 日韩欧洲操屄视频| 亚洲少妇在线观看| 中出91视频| 精品国产一区二区久久| 国产极品久久久| 亚洲av强奸乱伦| 中精品一区二区三区| 大香交伊人网| 国产91乱伦| 久操视频在线观看| 久湿久久 | 99re9这里只有精品| 中文字幕av乱伦| wwwxxx日本爽| 日本性感人妻91| 国产丁香精品露脸视频| 天天天天天超碰| 亚洲。日韩。欧美| 99.色网| 国产女人成人精品视频| 无遮挡h肉动漫在线观看| 密乳AV免费观看| 国产在线观看一区二区三区| av亚欧| 2020中文字幕在线观看| 国产91美女视频| 强奸乱伦AV一天堂网| 骚日日av| 亚洲人妻久久| 91香蕉视频在线观看免费| 免费看黄片现成| av爱爱爱| 日韩性爱电影一区| 色色热| 91色女| 桃色六月天| 国产女同性恋视频| 国产精品3| 91视频综合| 国产AV天美| 国产黄色 A 片免费看| 亚洲最新av无码成人精品区 | 很狠操| 亚洲熟女乱综合一区二区在线-...亚洲国产日韩欧美一区二区三区,久久久久久精 | www四虎| 91成人国产综合久久精品蜜月| 操人妻逼91| 2019午夜福利视频| 97超碰人妻| 久久久久少妇| 激情五月丁香五月| 性生活无遮挡纯毛片在线看| 嗯嗯不要 视频| 精品人妻中文字幕高清| 91色久| 美骚妇av高清在线| 久久只有精品| 在线v中文字幕一区二区三区| 欧美亚性天堂| 91N综合网| 天天日天天插| 在线电影亚洲色图| 欧美人妻一区| 97超碰总站| 日韩一区二区精彩视频| 色噜噜综合在线| 欧洲亚洲人妻无码久久三区四区| 久久久久久亚洲Av无码精| 日韩在线一区二区| 刺激性视频黄页| 欧美日韩第一页| 女欧美一区二三区| 97网站在线观看| 大香蕉伊人在线成人AV在线观看| 亚洲综合五月天| 97精品视频| 婷婷九月国产| 五十路熟女工口 | 夜夜免费视频| 天堂精品小草| 中文字幕一区 二 区 三 四 五 区日 日 骚| 国产又黄又爽又刺激久久久久久| 欧美色图 色综合图| 欧美爱国产综合、| 91中文精品日韩欧美在线| 丝袜美腿诱惑亚洲欧美视频在线观看 | 免费岛国一级片| 欧美性爱一区二区三区| 91痴汉| 蜜乳av一区二区| 国产综合日韩伦理| 欧美性爱无码一区二区三区| 亚洲色系另类精品国产| 大香蕉强奸乱伦| 亚洲精品性爱片| 91精品国产91久久青草| 99国产精品视频尤物| 亚洲成人激情小说视频| 日韩肏逼视频| 性饥渴少妇av无码毛片| 日本黄大片在线观看视频| 久操免费观看| 欧美一区二区男人天堂| 日韩av在线精品观看| 日韩欧美中文字幕搭讪巨乳美人妻视频| 欧美国产操逼| 亚洲天堂一区二区| 超碰97综合在线| 超碰久超碰久| 91免费看一区二区三区| 视频一区二区免费在线| 999999精品| 欧美色图20p| 欧美黑人168页欧美黑人167| 欧洲精品区| 九九九九九九九九九九九蜜桃| 欧美色日本| 熟女91网| 牛牛AV人人夜夜澡人人爽| 国内偷拍精品一区二区| 日韩 欧美 另类 人妻| 亚洲精品a人片在线观看视| 国产精品久久伊人| 亚洲色图加勒比| 国产又大又粗又色生活片亚洲国产精品成人久久久综合免费 | 蜜臀久久99精品久久久久久成人小说| 欧美片第一页| 亚洲欧美日产国产91毛片| juliaann欧美丝袜办公室| 天天流夜夜操| 国产99精品一区二区三区免费| 精彩久久中文| 国语人妻精彩刺激| 国产精品 久久久精品一牛| 91爱看| av日韩中文字幕| 久久久久久夜夜夜夜夜| 天天做日日做| 一级片视频啪啪| 久9久9久9久9久9久9| 91亚洲青青草原精品1区| 又大又长又粗又爽又黄| 欧美精品黑人猛交高潮| 69丨亚洲丨精品丨入口免费播放| 男人天堂2019亚洲| 国产激情在线| 久久大香蕉手机高清视频| 天天上日日上日韩精品| 少妇色欲综合网2| 啊啊啊啊啊啊啊网址在线观看| 五月天婷婷欧美三区| 国产精品麻豆视频网站| 人人操人人插人人摸人人干| 免费国产电影一区二区| 免费1级a做爰片观看| 亚洲电影中字一区二区| 狠狠操狠狠操操| 亚州黄站| 校园春色五月天| 男同专区一区二区三区在线| 色原狠狠天天天| 日韩欧美水蜜桃人妻| 久久久久婷婷精品av电影| 日本好吊色视频| 激情视频图片| 精品99999| 亚州精人品大香蕉| 成人资源中文字幕在线观看天天| 国语人妻精彩刺激| 粘花网06av视频| 婷婷五月花| 伊人五月天| 亚洲国产第一页综合视频| 国产性感骚丝袜在线| 国产精品网站www| 久久色一区二区| 色九九九综合| 婷婷人妻激情| 91视频精品| 黑人免费福利视频| 亚欧性爱ab| 色婷婷综合久久久久中文国产精品一区中文字幕,国产福利电影一区二区三区 | 综合久久久久久久久91| 久久久国产亚洲精品系列| 激情丁香五月| 亚洲天堂资源| 探花视频免费观看国产专区| 国产亚洲日韩在线三区黑人| 色综合久| 一二三四视频在线社区中文字幕| 日本熟妇人妻一区二区三区| 2024黄色视频| 被体育老师抱着c到高潮| 久草大| 美女97超碰| 青青草中日韩在线| 日韩一级性爱无码| 精品女人999| 双插性欧美一二三区| 东京热免费视频| 美女91色黄18| 国产亚洲深夜激情| 少妇二级| v91av| 啊v视频在线观看| 日本伦理一区二区| 极品国产内射| 99re不伦| 手机在线播放国产福利| 99xav| 69视频入口| 日本91白丝| 男人的天堂1024| 性在久久久久久| 北条麻妃性愛视频| 伊人久久大香大香线蕉中文| 亚洲精品国产熟女久久久| 人人摸人人干人人拍97| 天天干1区2区在线| 久久激情视频| 九九久久99| 精品大全99999| 亚洲欧美国产其他二区| 亚洲精品九九九九九九| 91N欧美| 13小男生GAY自慰脱裤子| 97久久久久久久精| 日韩无码三级影院| AV久日| 日韩av影片在线观看| 大乔未久88一区| 中文字幕在线观看二区三区| 亚洲欧美一区二区网址| 91在线/欧洲| 欧美性爱十八禁| 91青青草| 有码免费观看| 国产色综合亚洲色综合吹潮| 一二区在线观看视频| 色五月69夫妻| 国产女人高潮视频| 精品一区二区三区四区女| 人人潮人人摸| 精品视频一区二区| 校园春色综合香蕉| 国产亚洲 中文欧美久久| 国产精品免费日韩| A级片日韩欧美国产欧美视频精选观看| 欧美日韩亚洲五月天婷婷| 精品国产久热在线观看| 国产精品网址| 亚洲国产另类在线中文| 9精品久久久久| 2026国产精品视频| 人人噜夜夜操| Aa东京男人的天堂| 国产精品丝袜久久亚洲不卡| 嗯嗯啊啊操死我| 亚洲黑丝在线| 91精品综合久久久久久五月丁香| 亚欧日韩成人| 国产亚州高清国产拍精| 午夜偷拍久久熟女| 青青欧洲黑| 蜜色网色哟哟| 69AV女优男人的天堂| 91亚洲不卡一区| 人妻少妇久久久| 欧美日韩性爱无码| 91精品无码人妻系列| 懂色AV蜜臀无码精品APP | 91综合在线| 欧美精品三级黄片| 日韩免费看在线黄色片| 99国产在线 精品 视频| 欧美顶级黄色大片免费| 大香蕉综合网| 快点操死我| 91AV天堂| 神马麻豆福利院| 囯产精品久久久久久久久久梁医生 | 999精品久久久久久久| 97超碰色色| 素人播放一区| 欧美亚涩| 欧美日韩人妻少妇 一区二区三区| 最新精品久久蜜桃| 青青草国产一区二区三区| 九九九九九九视频| 国语精品对白| 草草影院最新网址| 五月婷婷丁香| 亚洲免费97免费| 亚洲综合另类色图| 国产乱伦亚洲色图高清无码| 人人操人人大香蕉| 欧美一二三区四五区| 国产成人精品午夜福利| 96超碰网| 欧美亚洲一级在线观看| www色色色com| 欧美色97| 综合色啪| 色情婷婷久久五月天| 视频国产成人精品日本亚洲18| 污污汅18禁网站在线永久免费观看| 人妻在线臀日韩| 偷窥自拍亚洲| 欧美精品第3页| 久久久一区二区| 人人潮人人摸| 亚洲限制级| 免费的黄片有限公司| 日韩久久超碰色| 欧美黑人极品高潮喷吹熟女黑人性暴力日韩在线欧美极品一区二区老师黑人潮喷一 | 超碰午夜| 粉嫩不卡一区二区性爱| 干b在线性社区| 日韩人妻制服丝袜av| 欧美亚洲丝袜美女电影| 7777奇米影视久久| 日本免费一区二区不卡| 国产亚洲精品自在线亚洲情侣| 日本一区视频在线观看| 国产农村妇女精品1区二区| 97色亚洲| 男人的天堂成人的社区| 国产最新小视频在线播放下载| 久久夜夜夜| 手机在线看片免费人成视频| 后入国产| 欧美性生活内射| 91伊人久| 四虎免费视频| 激情五月天婷婷| 一级毛片电影免费看| 国产熟妇一区二区| 伊人婷婷五月天| 免费国产视频| 屁股久久久久久久久| 九九色逼| 看黄片视频免费| 东京热毛片177b2viP| 亚洲综合99999| 国产成人无码久久精品| 亚洲在饯| 无色无码| 中文乱码字字幕在线第5页| 色制服丝袜夫妻av一区| 麻豆国产尤物AV| 操逼无码一区| 中文字幕奈奈美被公侵犯| 老鸭窝成人免费毛片视频| 日韩精品作爱导航| 久草精品热视| 五月综合色| 日韩无码三级影院| 日本色日夜干| 欧美中日韩XXXX| 学生妹天天看| 精品免费国产二区三区| 欧美三级一级| 国产AV超爽| 亚洲欧美综合区自拍另类| 无码人妻精品一区二区三区99不卡| 蜜臀久久99精品久久久久久| 后入合集| chaopen97久久| 97干综合网| 91AV天美在线视频| 日夜尻逼网| 日韩99精品视频综合区| 国产综合色精品在线观看| 97在线视频免费看| 人妻大香蕉| 大白逼三四级| 久草免费在线一区二区| 国产精品免费久久久久久久久久| 欧美亚洲清纯| 破处bbq| 午夜精品久久久久久久| 久久这里只精品| 国产伊人自拍| 嗯啊不要在线观看嗯啊| 亚洲日韩人妻中文字幕一区| 欧洲色| 亚洲自拍97| 人妻人人澡人人爽人人| 亚洲性猛交| 91久久国外网| 人伦四五区| 91欧美在线| 大香蕉欧美| 国语对白露脸XXXXXX| 377p欧洲日本亚洲大胆| 717影院理论午夜伦八戒| 97摸视频| 亚洲熟女国产综合另类| 狠狠躁天天躁日日躁| 欧美熟妇精品黑人巨大一二三区| 久久视网78| 亚洲综合校园春色| 国内毛片四区| 思思视频免费看网站| 国产Aα| 色情五月婷婷| 成人无码专区精品视频| 欧美日韩婷婷中文| 夜夜高潮夜夜爽夜夜爱爱一区 | 人看人人摸人人操| 一本久道久久综合狠狠爱| 国产精品肉丝自拍| 一二三四区电影| 中文字幕蜜乳av| 亚洲AV噜噜狠狠网址蜜桃动漫| 久久精品99| 日韩懂色网| 五月天九九日国产精品一区二区三区| 国产极品粉嫩馒头一线天av| 自拍偷拍 日韩无码| 大香蕉亚洲中文| 色女免费在线观看视频网址| 精品视频一二三中文| 欧美精品日韩久久久九| 美中韩AV综合网| 免费超碰97久久| 91色综合| 激情五月综合网| 欧美日韩第一页| 欧美有码亚洲中文字幕一区二区三区四区 | 中文字幕日韩专区精品系列 | 国产精品视频自拍在线| 一起草日韩| 91色黑人少妇| 久久免费少妇| 日日噜噜夜夜狠狠视频无| 亚洲五月丁香花狠狠干一区二区三区| 麻豆国产成人精品| 欧美亚洲丝袜人妻制服中文99| 亚洲天堂中文字| 日韩美女久久一区二区三区| 欲女人妻性色av| 天天射天天| 黄色网址久久精品欧美喷水| 日本不卡中文| 国模无码一区二区三区在线| 久久久久久久久久久久黄色| 久久性爱视频免费看| 国产亚洲在线| 四虎影视永久在线观看精品免费网站| 黄色视频60分钟| 蜜臀精品1区2区| 久久日韩肥臀| 伊人AAA| 国内毛片四区| 久久香蕉国产线看观看猫咪av| 足交视频老司机| 免费人成在线观看网站品爱网| 日韩中字av一区| 97亚洲精品| 啊啊啊不要好疼视频| com 首页 18岁 禁区 女优 免费 精选 同城 | 韩日巨乳美女免费视频在线观看| 青娱乐福利99| 少妇 综合| 亚洲天堂男人的天堂| 五月天开心网| 国产成人精品网站| 婷婷五月天综合网| 九九热国产| 人妻精品综合中文字幕在线 | 91亚洲最新在线| 爱媛媛久久国产福利| 欧美成人贴图| 久久婷婷五月天| 91亚洲网站| 美腿色图| 性饥渴少妇av无码毛片| 91视频成人福利网站在线一区| 午夜国产乱伦视频| 狠狠2050在线观看| 自拍偷拍 日韩无码| av2014 日韩在线中文字幕| 九九性爱网| 加勒比五月天| 天天日天天操心| 久久78| 精品无码久久久| 午夜男女爽爽爽影院视频| 美骚妇av高清在线| 亚洲中文字幕精品久久久久久直播| 91精品少妇搡搡搡| 天天干天天爽| AV和黑人在线播放| 91激情国产| 99热免费| 亚洲精品天堂久久A∨51成人漫| 青青操视频在线| 熟女乱伦二区| 亚洲成人在线高清| 亚洲综合色在线| 国产刺激视频| 在线一道啪| 香港久久久| 亚洲精品一区二区三区新线路| 人妻 中文 日韩| 中国熟妇| 黑丝内射一区二区三区| 激情抓乳插进去啪啪啪日韩 | 99综合自拍| 女同性恋久久| 成人一二三区| 亚洲黄日韩无码专区| 国产三级电影免费观看| a片自拍直播视频| AV中文字幕剧情1区2区3| 先锋精品av色鲁| 日韩乱伦AⅤ| 97在线观| 精品久操| 国产性感在线观看| 成人无码在线超碰网| 深夜激情| 99色婷婷中文字幕乱色| 女优免费一区二区永久| 亚洲 日韩 丝袜 熟女 变态| 久久粉色| 另类图片五月天| 99国产精品久久久久久久成人热 | 日本一级真人黄色性爱视频| 激情黄色五月天| 婷婷五月色| 把腿张开老子CAO烂你| 日本乱人伦片中文三区| 黄色一区三区| 麻豆AV短剧| 黄污污污污| 99操视频| 亚洲第一无码播放立川理惠| 国产探花日韩援交| 操逼操逼操| 91精品导航| 色九九综合AV| 亚洲欧美国产va在线| 97视频在线观看播放与子乱对白在线……| 破苞ⅩXXX性无码动漫无码| 国产一区二区三区视频在线看| 日韩情色一区二区| 激情婷婷丁香网| 色五月AV在线| 国产精品电影推荐| 欧美黄色图片| 97色在线观看| 丰满欧美少妇| 人妻天天操天天爽视频免费| 婷婷在线视频| 99久久婷婷| 新版天堂中文资源8在线| 韩国一级AAA| 高潮毛片无遮挡高清免费| 尤物av网站免费在线播放| 久久精品一区二区三区四区五区| 久久三区四区| 欧美性爱一区二区三区| 中文字幕一区二区无码成人| 亚洲自拍小说| 天美久久久久| 国产精品乱码久久久| 男人天堂导航| 天天综合网在线91| 91精品老女人| 午夜啪| 羞涩视频| 老熟女乱伦一区| 欧美一区二区一级岛国大片| 波多野结衣一级视频| 中文字幕一区二区三区字幕| 秋霞一级鲁丝片A片| 天天日天天搞天天干| 欧美呦呦性爱| 一区二区三区在线美女| 播播亚洲小说亚洲| 中文字幕 国产 精品| 国产 日韩 欧美 中文 另类,国产 欧美 另类 制服 变态,高清 日韩 欧美 中文,高 | 嫩草影院在线观看精品| 色久桃花影院在线观看| 黑人无码一区二区| 开心五月婷婷| 久草综合京东| 国产人妻精品久久久一区二区三区 | 欧美激情专区| 中文乱码字字幕在线第5页| 亚洲,日韩,欧美,成人播放 | 91久久国外网| 大香蕉99999| 国产免费一区2区3区| www.99色| 亚洲午夜AV| 亚洲精品久| 91国产精品熟女| 色香91| 又黄又硬又粗又长国产视频| 亚洲黑人在线| 亚洲激情综合另类男同| 性一交一乱一交A片久久四色| 猛交交| 九九九久久久久| www欧美91| 国产精品4p在线观看| 成人 日本A片无码8888| 久久久久13| 天天综合网AV91| 欧在线一二区| 男人高清无码一区二区| 99性爱| 丰满少妇一区二区三区专区| 日韩亚洲97| 人妻喷水| www.亚洲成人一区| 色色五月天婷婷| 怡春苑东京热| 60秒不遮不挡| 2020中文在线一区二区三区| 欧美亚洲日韩人妻在线观看| 青青草白白色| 尤物av网站免费在线播放| 欧美另类精品xxxx| 97色冈| 欧美一区二区| 免费伦费视频在线观看| 欧洲乱码一区二区| 日韩人妻无码不卡网站| 超碰成人公开| 97久久免费| 91少妇人妻| 日韩av乱伦| 亚洲人91| 亚洲国产91精品一区二区久久| 91亚州日韩高清| 国产自产22区| 久久黄片国产一区二区| 伊人青青一区成人视频在线观看区| 91成人亚洲色图| 手机在线播放国产福利| 天天摸夜夜摸| 中欧人妻丝袜中文字幕| 婷婷五月天伊人| 2019午夜福利视频| 美国黄片aaa| 大香蕉欧美伊| 91中文字幕| 1024久久高清视频| 欧美草草高清日韩视频| 国产AV久久野战精品| 久久大精品乱码视频人妻熟女| 97精品视频| 密桃99999| 精品午夜福利| 无码又爽又硬又激情免费视频| 东京热毛片调教| 国内自拍 日韩激情 99| 97热视频在线观看| 欧美国产伊人久久久久| 超碰午夜| 日本黄 R色 成 人网站| 蜜桃狠狠色伊人亚洲综合| 欧 美 自 拍 偷 拍| 青青草成人视频在线观看二区| 欧亚无码视频| 1204av韩国| 最新亚洲人成网站在线影院| 麻豆天美传媒在线视频天堂| 日本成人A片网站| 诱惑人妻欧美一区在线播放| 亚洲国产综合图区中文字幕| 久久久久久大| 永久免费av无码网站国产app | 九月丁香婷婷色| 夜夜操一区二区| 久久成人午夜精品影院 | 91丝袜美女| a片在线播放| 裸体1区| 黄色欧美性爱视频| 色网亚洲人| 蜜色网色哟哟| 欧美加勒比| 一级黄色影片| 天美91| 午夜福利区| 免费簧片在线观看| 蜜臀中文无码午夜| 婷婷五月天色| 99久久无码| 日本中文字幕一区| 免费一级欧美片片线观看| 久久欧美激情| 丰满人妻一区二区三区在线| 清纯唯美亚洲综合| 丝袜综合色图| 黄色小视频日本txt| 亚洲精品蜜桃久久久| AV天天综合| 亚洲第一免费视频| 78操B| 强上我不卡卡| 91人妻精华帖| 欧美天天搞| 婷婷情色五月天| 午夜大香蕉| 国产精品成久久久久午夜午夜| 九九夜精品九九在线| 天天干夜夜一操| 欧美狠狠| 日韩欧美蜜桃精品久久中文字幕久久 | 色五月激情AV在线| 丝袜美腿欧美| 亚洲欧综合另类无码一区| 蜜臀一二三区| 99热aaa| 久久98| 51一区二区三区| 日本女人久久久| 精品人妻一区二区三区-国产| 思思热er精品视频| 欧美懂色综合网| 国产97/欧美| AV天堂男人的天堂| 激情99| 免费超碰97在线观看| 九九操久久国产免费视频| 亚洲美女 晚间男人天堂| 九九色精品| 欧美色性爱| 91视频精品| 日本97久久| 久久久久久中文版| 欧美色偷拍| 色九九综合| 黄色AAAAA欧美| 国产福利电影| 91殴美| chaopen97久久| 久久人妻无码毛片A片麻豆| 亚洲一区中文字幕久久,果冻传媒一区二区天美传媒 | 婷婷15月天青娱乐| 国产一级久久久| 亚洲色图大香| 丝袜美腿诱惑亚洲欧美视频在线观看| 淫荡熟女乱伦网| 欧亚无码视频| 丝袜人妻av一区二区| 97超碰超| 熟妇一区二区| 偷拍新久久| 97午夜剧场日韩| 男人的天堂2019AV| 国产原创剧情在线丝袜| 欧美一区二区三区日韩| 手机在线播放国产福利| 黄片国产精品一区二区| 97超碰磁| 国产精品扒开腿做爽爽爽视频| 欧美色蜜桃97| 久久成人东京热人妻| 成人开心网在线视频| 亚欧美综合网。| 欧美国产一区二区三区麻豆传媒| 欧美曰韩国产精品| 不卡九肏| 91中文精品日韩欧美在线 | 久久精品中文字幕无码l| 免费观看性欧美一级| 强被迫伦姧在线观看无码网站| 搡老熟女免费视频| 日本一级特级毛片视频| 操一操摸一摸| 视频国产欧美在线播放| 日韩免费中文字幕视频| 国产兽交视频在线播放| 五十路六十路七十路熟婆| 日本1区2区不卡视频| 欧美经典一区二区三区| 亚洲啪啪视频一区二区| 自拍鲍鱼一区在线高清观看免费| 思思性爱| 成人性爱电影网| 亚洲老熟妇xxx| 亚洲美乱| 97欧美色资源| 美熟女逼导航AV操逼| 熟女熟妇伦久久影院毛片一区二区 | 国产在线能看的你懂的| A级在线视频| 久操操AV电影| 日本成人电影资源网| 曰韩成人免费视频| 亚洲欧洲日韩国产自在线| 亚洲一卡2卡3卡4卡乱码网站 | 人人扣人人操| 天美AV片| 欧美91精彩| 久久久久久裸体| 中文字幕乱亚洲美女精品一区| 日韩在线国产字幕| 国产精品久久久久久久AV大片| 国产激情av女片自拍| 婷婷操逼| 99国产精品免费| 91亚洲丝袜| 亚洲学生妹高清av| 久久国产性爱| 成人免费毛片| 亚洲免费看片| 哈哈操电影AV| 婷婷人妻激情| 一级性爱视频免费观看 | 色天天野狼综合社区| 久久久免费高清中文视频| 中文字幕在线免费观看2| 无码天天操| 97人妻色| 蜜桃色院一区久久| 综合久久9| 18禁免费视频| 成人性爱电影网| 久操 高清| 东京热,男人的天堂| 人人摸.人人色| 91狠狠综合久久久| 2026国产精品视频| 欧洲综合色图| 亚洲中文字幕精品一区| 日本国产成人亚洲精品无码| 欧亚乱色熟一区二区三四区| 天天影视综合色| 亚洲国产精品无码AV久久久| 操91| 欧美大片天天看| 人人模人人看| 色婷网| 嗯嗯啊啊操死我| 蜜臀久久99精品久久久久电影| 97超碰磁| 青青草原狼av| 一本一道久久综合久久| 成人亚欧免费视频| 一牛影视久久久一区二区三区| 亚州欧美在线| 一类无码操逼视频| 国产精品乱码久久久久久久久久久久| 国产精品另类一区大香蕉| 人人操 欧美| 久久久影院| 天天影视综合色| 精品国产乱码久久久久久口爆网站| 久久久久国产亚洲一区欧美色图日韩| 中文字幕一区二区三区人妻不卡| 一级特黄aaa大片在线观看成人一级片在线观看 | 超碰碰小说97| 韩国手机不卡无码三级视频| 蜜桃久久久久久久| 91精品国产一区三一| 国产av强奸美女| 91久久伊人婷婷青青草| 综合色欧美| 99热成人| 97超碰精品图片| 丁香六月婷| 中文字幕第7页| 91站街按摩店老熟女熟女| 一本久久精品中文字| 高清一区AV无码| 激情图片亚洲色图| 明星性猛交ⅹxxx乱大交| 欧美亚州手机在线| 九九免费影片| 三级片网站在线播放| 美女91色黄18| 欧美黄片视频在线观看免费| 啊啊啊啊啊啊啊啊啊在线观看| 99性爱在线观看| 亚洲宗合网| 亚洲欧美精品福利在线| 久久九九久精品国产尤物|国产精品爽黄69天堂A片潘金莲,国产亚洲精品第一综合 | 一二三啪啪专区| 啊啊啊想要| 久久精精区一区二区一蜜桃一区二区| 三久久久四久久久久| 最新欧洲欧美日本激情网站| 欧美91在线| 英伦大奶子熟妇吊带| 亚洲图片激情综合另类| 嗯嗯啊啊好疼| 无码 有码 国产18p| 在线小说视频一区| aaa一级黄片| 熟妇色99| 五月天激情小说| 超碰在线人妻中文字幕| 麻豆影音天美视频| 亚洲国产精品无码AV在线| 夜夜嗨绯色| 丁香九月激情| 好属操| 久久e6只有精品| 国产精品直播在线观看直播| 欧美激情一区二区| 亚洲 日韩 丝袜 熟女 变态| 国产中文日韩欧美一区二区三区人妻丝袜美腿| 欧美日韩国产中文精品字幕自在自线| 啊啊好多水| 盗摄女人妻在线| 躁躁躁日日躁2020| 欧美一区二区情色| 乱伦3P视频| 夜夜高潮夜夜爽夜夜爱爱一区 | 无码精品久久| 中文字幕伊人| 大香蕉97久久| 亚洲欧美精品国产一区二区| 久久久久幕乱码| 亚洲精品丝袜-不卡成人免费……| 成人97人人超碰人人| 黄久在线| 99999无码| 99re公开精品免费视频| 999热这里只有精品| 久热精品色情| 熟女突然公开看18禁影片| 亚洲天堂男人网| 91 国产丝袜在线放观看| 粉嫩不卡一区二区性爱| 老鸭窝成人免费毛片视频| 亚洲揄拍网| 99∨VTV| 先锋激情∨在线视频播放| 久久久久极品| 狠狠爱综合网| 亚洲中文国际强奸字幕 | 麻豆蜜桃视频在线观看| 丰满人妻一区二区三区四区| 人妻欧美| 啊啊啊久久久视频| baiduhicn.com。| 日韩色图 一区二区| 色色色综合网| 亚洲少妇综合在线播放| 91亚洲欧洲| 一本色道久久综合狠狠操| 蜜桃视频精品一区二区三区| 久久婷婷六月综合| 成人一级性爱| 成人羞羞视频国产| 中出20p| 丝袜视频一区二区在线播放国产中文| 成人在线日韩| 老熟女乱伦一区| 中文字幕在线观看网址| 人人妻人人色| 九热大香蕉| 操操AV电影| 综合婷婷| 乱伦AVxx| 中文字幕91页| 日韩操啪| 天天综合亚洲综合| 国产嫩草精品A88AV| 尤物视频偷拍免费| 久久久久9999妇女| 久久夜色一区二区| 一区二区三区精品黑丝白丝酒店对鸡 | 中文字幕乱碼在线| 日本三级久| 九热视频| 日韩国产在线观看av| 欧美成人A√在线一区二区| 2017天天拍大香蕉| 欧美色97| 日韩综合97P| 一区二区三区成人| 麻豆AV一区二区| 麻豆久久视频在线地址| 熟女视频久久| 亚洲欧美日韩精品久久久一区二区| 欧美一二三| 91亚洲图片| 中国91AV| 九七超碰人人乐| 伦理第一页| 91久| 亚洲欧美第一页| 男人天堂欧美| 国产乱伦搜索结果91P| 免费a v| 国产精品一区二区久久精品| 人人摸人人入| 久久国产免费激情视频| 日本高清视频xxxx| 亚洲最新中文字幕免费| 国产一级内射无挡观看| 日韩中文字幕精品一区在线| heyZO天然素人无码AⅤ专区| 中国少妇啪啪视频| 精品人妻av区天天看片| 啊啊啊啊啊好多水| 丰满人妻一区二区三区色-百度| 日韩97| 中国国产精品一区视频| 夜夜天天噜狠狠爱2021| 久久久久久AⅤ无码免费肉站 | 国产真乱mangent| 一区二区三区黄色片a| 日日操丁香五月天| www色婷婷| 亚洲黑丝在线| 麻豆天美传媒在线视频天堂| 69精品人人人人| 午夜精品久久久99热蜜桃的功能特点| 国内成人圈中文字幕无码视频| 91亚洲网站| 久久久久久久97| 国产精品区在线12p| 色官网色综合| 成人五月香网在线| 色婷婷aV一区二区三区麻豆综合| 人妻少妇三级| 亚洲丝袜制服国产91_国语字幕免费观看完整版下载第5集_ | 黄色区免费观看中文字幕| 亚洲中文字母在线播放| 69人妻人人揉人人躁人人精品| GVH-003 母子姦 青木玲-麻豆视频,麻豆视传媒短视频网站入口,麻豆视传媒官网直 | 99日免费视频中文字幕| 久久二|