日韩精品一区二区三区在线视频放-无码中文字幕V?一区二区-成年片免费观看视频-国内少妇人妻丰满av-国产精品中文字幕免费观看-亚洲成人久久一区二区三区-国内少妇偷人精品视频无缓冲-一区二区国产精品日本一区二区三区在线网

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í)、考試測(cè)評(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í)打卡、在線測(cè)試、積分激勵(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ù)場(chǎng)景在支撐不是為用而用。做完這個(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)成熟、招人市場(chǎng)認(rèn)可度高。SSH框架時(shí)代要寫一大堆XML配置SSM也免不了各種手動(dòng)裝配而SpringBoot通過starter機(jī)制把常用場(chǎng)景的配置都封裝好了一個(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)證方案適合前后端分離場(chǎng)景緩存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測(cè)試后端接口前端頁面可以一邊開發(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的工作量?;A(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)用場(chǎng)景”。類似的場(chǎng)景我還用Redis處理了文章熱榜排行基于ZSet數(shù)據(jù)結(jié)構(gòu)按瀏覽量排序前端直接讀取Top10數(shù)據(jù)。3.3 在線學(xué)習(xí)與考試測(cè)評(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)的考試測(cè)評(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ù)量趨勢(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ù)量不大但查詢場(chǎng)景明確的場(chǎng)景下我對(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)列表的場(chǎng)景。這里我踩過一個(gè)實(shí)際的小坑最初學(xué)習(xí)記錄表我沒有加唯一約束測(cè)試人員在同一門課程下反復(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ù)。后來模擬攻擊測(cè)試發(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ù)場(chǎng)景舉報(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 自測(cè)驗(yàn)收時(shí)踩過的隱藏小坑除了上面這些顯性問題還有一些屬于自測(cè)階段才會(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ǔ)過程中也有字符串拼接場(chǎng)景仍然需要注意對(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)場(chǎng)用最短時(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ù)的場(chǎng)景。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)測(cè)試”章節(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)到測(cè)試聯(lián)調(diào)這一整套工程流程的思維訓(xùn)練。關(guān)于時(shí)間投入我的經(jīng)驗(yàn)值是分模塊估算——用戶中心加JWT認(rèn)證約一周文章和課程模塊約一周學(xué)習(xí)記錄與考試測(cè)評(píng)約兩周舉報(bào)與后臺(tái)管理約兩周前端頁面打磨和接口聯(lián)調(diào)再一周最后留兩周做測(cè)試和論文撰寫整體大概兩個(gè)月的業(yè)余時(shí)間可以穩(wěn)定拿下。如果時(shí)間緊張可以先砍掉考試測(cè)評(píng)模塊做成純學(xué)習(xí)功能系統(tǒng)依然可用但業(yè)務(wù)閉環(huán)就沒有那么完整了。最后再分享一個(gè)實(shí)用小技巧答辯演示前一定要準(zhǔn)備一個(gè)干凈的演示數(shù)據(jù)庫里面預(yù)留好足夠數(shù)量的測(cè)試賬號(hào)、舉報(bào)記錄、學(xué)習(xí)數(shù)據(jù)所有演示路徑自己完整走兩遍以上。我見過太多人答辯現(xiàn)場(chǎng)臨時(shí)錄入數(shù)據(jù)結(jié)果圖片上傳失敗或者測(cè)試賬號(hào)密碼記錯(cuò)導(dǎo)致反復(fù)登錄失敗場(chǎng)面非常尷尬。提前把演示流程演練到閉著眼睛能走通的程度這個(gè)畢設(shè)才能真正畫上一個(gè)圓滿的句號(hào)。
返回列表
PREV
查看更多資訊
NEXT
返回資訊列表
人人爱人人乐人人操| 日韩中文字幕熟妇人妻 | 国产在线播放成人免费| 色婷五月| 亚洲欧美国产中文视频| 免费超碰97久久| 日本欧美成人片AAAA| 国产精品 视频| 欧美97视频| 欧美一级色| 以及麻豆国产入口在线观看免费| 极品肉射| 夜夜骑日日| 亚洲欧美色综合| 日韩中文字幕视频在线观看| 一级性爱视频免费在线| 亚洲第一视频 欧美风情 日韩| 职场同事知名国产国产精品久久欧美日韩| 伊人久操| 久操com| 国产97色在线| 久久精品国产亚洲AV先锋| 欧美熟妇亚洲版| 在线v中文字幕一区二区三区| 精品亚洲| 欧美色另类| 久久国产热视频97电影| 欧美图片色综合| 日韩久久三区| 国产一级做a爰大片免费久久| 亚洲人妻精品一区二区| 青青草一区二区三区四| 免费男人的天堂| 黑人中出21连凳花野真衣| 天美精品一区二区三区四区在线观看| 成人七区| 92性色国产午夜福利在线661| 欧美九九九| 男人的天堂无码| 躁躁日曰躁2020| 日本天天吊| 无码137片内射在线影院| 久草老司机| 热热热热日日漂亮永久永久国产日| 啊啊啊好爽快点啊啊啊嗯嗯| 九九亚洲视频| 人干人人人操人人摸| 欧美十八禁视频| 无码人妻一区二区三区色欲aⅴ | 中文字幕精品码亚洲| 熟女网站最新| 精久久久| 色欲久久99精品久久| 高清不卡国产| 91国产大片| 久久天天摸| 国产又粗又又黄又猛| 国产AV超爽| 色优久久| 男人下部插入女人下部| 日韩欧美丝袜诱惑| 日韩激情视频| 91久久久老司机| 欧美亚洲宗合色性图| 伊人aaa| 亚洲视频二区| 美女黄码视频午夜| 超碰欧美COM| 伊人国产AV| 久久久久国色αv免费观看| 欧美综合第一页| 欧美三级偷拍| 欧美探花网| 天天干夜夜操网| 亚洲欧美经典一区二区| 亚洲AV不卡在线观看尤物| 99久久九九| 天天插天天舔舔天天干| 超碰九九| 久久精品视频在线观看| 国产a级午夜毛片| 玖玖色综合| 2001天天操| 91精品国久久久久久无码| 亚洲图片在线| 亚洲色狠| 色综合色欲色综合色综合色综合| 超碰97久久国| 色欲无码人妻日韩欧美精品| 丁香六月婷婷久久综合| 久欲AV| 国产成人久久精品蜜臀| 7777奇米影视久久| 99综合| 久久成年精品| 男女性扦B| 人妻色偷色噜| 亚洲成人碰碰| 97这里只精品| 夜夜草我| 亚洲天堂电影精品一区| 亚洲久草AV色图| 少妇激情一区二区三区视频| 丁香六月激情| 中文字幕片| 91综合天天看| 国产成人一级av88| 夜夜夜久久| 亚洲免费日韩在线一区二区| 麻豆视频一区二区| 亚洲成人网站在线观看| 风骚少妇视频中文字幕| 国产精品视频自拍在线| 色眯眯射| 国产精品久久久啊| 欧美日韩999| 性性欧美| 日韩丰满熟妇| 秋霞男人网| 伊人九九九| 国产精品一级特黄aaa大片在线观看| 国产精品交换一区二区| 一起草视频在线| 国产福利第一视频| 欧美97免费| 国产又大又硬又长又粗| 青青草色插素人| 一区二区三区免费岛国片| 一区二区三区精品黑丝白丝酒店对鸡 | 大香蕉中文网| 天天肏夜夜肏| 精品国产99999| 欧美顶级黄色大片免费| av草草在线电影| 26uuu性物| 欧洲综合视频| 青娱乐国产剧情av一区| 麻豆色99999| 九久9精品| 国产日韩在线播放| 97色亚洲| 欧美天天综| 中文字幕天堂在线| 夜夜嗨老熟女AV一区二区三区| 日本精品网站在线中文| 欧美亚洲涩涩| 久久国产三区| 飘花国产午夜精品不卡| 激情综合五月婷婷| 亚洲 暴爽 AV人人爽日日碰| 久男人久久| 黄色性爱网网| 日韩射精| 人妻天天爽| 国模无码一区二区三区在线| 蜜臀99久久精品久久久久| 国产精品天美传媒| 五月婷婷爱六月丁香色| 加勒比综合网| 欧美青青视频| 久久99网站| 加勒比综合88| 天天在线91| 九九这里只有精品| 盗摄女人妻在线| 色约约一区=区三区| 国产67194| 97 色综合| 成人乱人伦一区二区| 亚洲色堂免费视频| 欧美日日操| 国产中文日韩欧美一区二区三区人妻丝袜美腿 | 啊啊啊啊好爽好舒服一区二区易域| 国产少妇与亚洲av| 人人插人人摸人人| 嗯嗯啊啊操我| 欧美日韩精品青青| 91久久久视| 欧美色道啊| 激情四射婷婷六月天| 日韩精品1区2区中文字幕| 亚洲射综合网| 国产白嫩漂亮KTV在线| 舔舔啊| 亚 欧 美 综合| 日韩性爱视频在线免费观看| 2001天天操| 人妻啪| 青青草女人天天干| 色狠狠综合噜一二三区| 国产树林里野战在线看| 国产无码精品久久久久久| 国产又粗又长的视频| 九九热免费在线国产视频伊人五月| 可能人人看人人摸| 浓厚中出中文字幕在线| 亚洲无码国产探花在线观看| 精品亚洲天堂| 麻豆色99999| 色婷婷蜜臀av| 天天操女人| 久久亚洲婷婷| 肉嘟嘟www视频在线观看高清| 大肥女高潮bbwbbwhd视频| 99re综合伊人| julia ann久久| 干b在线性社区| 嗯嗯,啊啊,国产精品| 日韩欧美成人性爱在线| 熟女精品va中文字幕| 最新日本中文字幕| 蜜臀一区二区三区亚洲最新章节在线观看 - 高清蜜臀一区二区三区亚洲全集播放 | 蜜桃精品视频一区二区三区| 97久久久精品| 青青草精品| 天天影视综合网欧美精品| 久久国产乱子伦精品免费女人| 久久亚洲天天做| 国产精品情侣啪啪| 97欧美精品综合| 色综合美国| 亚洲精品99| 超碰在线人妻| 91社操逼| 欧美一级做a爰片免费视频| 无码人妻精品一区二区中文| 国产福利电影| 少妇人妻无码| 绑缚麻绳人妻寝取完整版| 欧美日不卡| 99∨VTV| 美女高潮视频91| 欧洲色综合| 99后入| 久草成人影片| 亚洲drav色图| 日本女人久久久| 色婷婷五月综合激情中文字幕| 秋霞成人一级在线观看| 国产免费永久精品无码| 国产有码一区| 一区=区三区视频| 少妇与黑人高潮在线| 亚洲综合在线高清| 亚洲蜜臀视频精品久久| 一本大道青青| 国产偷人伦激情在线观看| 不卡中文字幕aⅴ在线| 国产丝袜欧美在线视频| 中国少妇XXXX做受| 久久免费中文字幕在线观看| 超碰 av 女人天堂| 98超碰日本| 一区二区高清视频| 超碰九7| 久久精品福利影院| 色情综合| n1038 一二三区| 色九九九综合| 狼人狠干| 国产无马视频| 96久久精品一二三区色欲| 丝袜美腿制服人妻二区中文字幕| 欧美日韩第一页| 国产成人亚洲精品自产在线| 亚洲色图激情小说| 亚洲久久东京热一二三四五区视频| 97资源站日韩| av天堂精品久久| 五月丁香啪啪| 一本色道久久综合亚洲二区三区| 在线无码视频| 99国产精品人妻人伦| 亭亭在线资源| 欧美成熟性爱精品| 男人兔费天堂| q2午夜理论片夜色av| 少妇熟女1区2区3区| 屌逼传媒| 91精品人妻五十路| A级国产欧美激情在线| 国产福利第一视频| 蜜桃色院一区久久 | 亚洲av青草久久一区二区| www.久久最新地址| 中文字幕日产av人| 啊啊啊久久| 92午夜免费福利视频| 国产夜夜艹| 91中出在线| 思思热在线cao| 91亚洲不卡一区| 天天久久久久久| 26uuu国产成人综合| 熟女在线视频| 97超碰色| 九九热男人天堂| 久久久亚洲熟妇资源| 亚洲欧洲国产综合av| 亚洲在高跟鞋自慰久久在色线| 国产18精品亚洲精品| 超碰 av 女人天堂| 被男人吃奶很爽的毛片| 四虎免费看黄| 中文字幕精品一区二区精| 日韩 欧美 校园一区| AV天黑人| 粉嫩av在线一区二区| surenchaopeng| 84YTCOM性无码| 精品无人区麻豆乱码久久久| 国产一级特黄大片处女| 麻豆精品天美| 国产色呦呦| 国产视频小说| 大香蕉伊人久久| 日韩九九九| 色99视频| 亚洲天堂男人天堂网| 久久久久13| 激情小说在线视频| 久久99手机免费视频| 日本三级一区二区 在线| 国产60区。| 日本操逼视频不卡直接放| 九九拍拍精品视频在线播放 | 777超碰| 欧美后进式| 亚州综合色| 美女自卫慰黄网站免费| 久久午夜色播影院免费高清| 欧美第38页| 亚洲伊人a线观看视频| 精品少妇人妻| 东京日日夜夜| 亚州熟女乱伦| 97爱碰| 国产超碰在线| 日韩免费中文字幕视频| 欲射影视| 啊啊啊操一区| 黑人精品XXX一区一二区| julia ann久久| 黄污污污污| 三级精品三级在线观看| 久久是精品| 欧苏综合色综合| ,成人免费啪啪视频| 欧美日韩97在线| 超踫中文字幕| 18禁免费视频| 好爽免费视频| 少妇内射www在线观看视频 | 大香蕉中文网| 日韩情色AV| 天天躁日日躁AAAXX| 色噜噜狠狠色综无码久久合欧美| 九九亚洲精品| 亚洲色偷偷色噜噜狠狠99网| 日韩激情中文字幕有码| 九色97| 国产乱色国产精品免费视| 呦女网站| 亚州色站 日韩电影| 色欲日韩欧美在线一区| а√天堂资源官网在线资源| 51一区二区三区| av天天在线观看| 国产67194| 午夜操逼不卡| 久久久9999| 人妻少妇久久中文| 1区2区3区中文字幕日韩| 99久久综合网| 岛国片国产成人亚洲播放| 97欧美色综合| 99热18这里只有精品| 中文字幕日产av人| 午夜免费视频1000| 天天爽天天| 91精品久久综合熟女| 免费黄色片。| 精品人妻中文字幕4399| 正在播放国产精品一区| 极品综合| 看免费的黄片| 91在线超高颜值国产| 日本操逼视频在线| 免费黄色片。| 亚洲天堂五月天国产| 国偷自 一区二区| 99蜜桃臀亚洲成人在线观看| 九九热视频这里只有精品| 丁香五月天婷婷姐| 91久久久视| 亚爽爽爽爽爽爽爽爽| 99re在线视频国产| 91美女视频电影| 岛国不卡超碰护士AV在线播放| 懂色av中文字幕一区二区三区天美| 曰韩少妇无码| 91综合天天看| 校园春色美腿丝袜 | 啪啪啪东京| 青娱乐国产精品| 婷婷丁香五月激情啪啪| 小少妇| 青青操在线亚洲视频观看欧美在线 | 激情 欧美 亚洲 小说| 欧美亚洲尤物久久| 天美传媒国产原创中文字幕亚洲欧美另类| 国产精品情侣啪啪| 九草九九九| 人妻天天爽天天爽三区| 91麻豆va国产精品| 亚洲成?V人片在线观看福利| 超踫中文字幕| 亚洲交换| 国产免a费看黄片在线| 国产精品久久久三级无码| 色97| 91色欧美| 色情乱伦AV| 日本一天色道久久久精品视频| 天天搞欧美| 综合五月婷婷亚洲一区| www.夜夜| 久久精品无码一区二区三区| 日韩,欧美,中文在线| 97色爱| 懂色Av| 人人摸人人叼| 亚洲丝袜二区在线| 91精品黄在线观看| 国产AB视频| 综合欧美日本三级| 欧美男人的天堂| 影音先锋中文字幕日本好一区二区| 狠狠热这里都是精品| 琪琪精品免费一区二区三区 | 人人操人人干xxx| 国产尤物AV尤物在线观看不卡| 人妻精品4K4K4K4K4| 男人天堂新在线| 漂亮人妻被强中文字幕hd| 国产精品探花视频| 亚洲综合图片在线| 99天堂网| 亚洲成人ab| 欧美夜夜狠| 2019天天干| 欧美视频第二页| 精品无码久久久久久国产浪潮| 黄总AV色图| 日韩中文字幕国产| 男人的天堂久久狠| 青青草日本中文字幕| 亚洲欧洲中文日韩女优乱码| 97频视在线| 国产精品自拍欧美在线| 国产sv美女内射| 校园春色亚洲欧洲| 久久AV无码网址| 亚洲精品久久久久毛片A片拉屎 | 伊人网在线点播| 丝袜美腿诱惑亚洲欧美视频在线观看 | 亚洲精品国产拍免费91在线| 精品然女一区二区| 日本亚洲熟女视频| 黄骗免费网站| 激情婷婷丁香网| 九九热视频这里只有精品| 久9热| 日韩欧洲操屄视频| 午夜精品久久久久久久第一页按摩| 无码欧美有限公司| 丁香五月成人| 中文字幕黄色片| 国产女乱淫真高清免费视频| 色色五月婷婷| 999亚洲国产视频| 亚洲av综合伊人久久| 加勒比色99999| 九九九九九九九| 精品一区二区三区四区外站| 亚洲情色婷婷五月天| 桃花色涩综合影院| 狠狠色噜噜狠狠狠狠狠色综合久久 | 超碰在线看| 国产成人bd在线观看| 亚洲精品亚洲人成在线麻豆| 天天色,天天干,天天干| 国产网红精品| 久久黄色性爱视频| 黄色片一区二区三区四区五区| 四虎免费在线观看| 亚洲一级黄色毛片| 亚洲 小说 欧美 激情 另类| 亚欧免费观看视频| 秋霞成人做爱| 欧美日韩中文亚洲v在线综合| 国产高清成人mv在线观看| 国产熟女免费观看久久| 黄色小视频日本txt| 国产自产自拍| 日本中文字幕在线电影| 97天天搞在线| 色婷婷综合久久久久中文一区二区| 久久久久久亚洲精品不卡人乳| 日韩av色图综合| 欧美夜夜骑视频| 亚洲色图 综合| 久久久精品中文字幕麻豆| 国产美女精品| 国产吹潮女在线观看| 亚洲脚交| 天天草天天日| 欧美经典一区二区三区| 91黑丝美女| 久久亚洲熟妇在线视频| 97射欧美| 欧美性爱免费短视频| 91在线无码精品秘 软件| 97亚洲国产影视| 91精品久久久久| 少妇同性| 97在线免费公开视频| 欧美综合综合| 久久黄片国产一区二区| 97干在线| 香蕉在线一区二区三区| 精品制服美女中文一区二区三区| 亚洲一区二区在线观看91| 久草免费福利在线播放| 熟妇艹鸡八| 一起草视频在线| 岛国黄色大片网站| 熟女露脸激情自拍视频| 国产亚洲精品av一区| 九九久久久九九| 91亚洲综合| 国内毛片免费h片在线| 亚av顶级裸体一区二区三区四区五区 | 日婷婷| 嗯嗯啊好大| 嗯嗯啊啊啊好舒服| 操一操摸一摸| 性欧美天天| 吖在线不卡一区二区国产剧情| 中文字幕精品丝袜| 日韩福利综合一区| 久草精品视频| 免费综合亚洲中文| 人妻欧美| 97超碰巨乳| 综合 欧美 亚洲 日本| 高清不卡 中文 人妻| 人人操人人摸人人看人人干| 久草男人天堂| 久热色情精品| 久久黄色性爱视频| 99久久免费看精品国产一区| 天天情欲宗合网| 97视频在线播放| 熟女日韩| 丝袜人妻av一区二区| 久久有码| 丁香五月天堂网| 91亚州| 久久一区,青青青青草视频在线播放| 日产欧美电影一区二区三区| 免费A片三p视频| 啊啊啊好湿国产一二| 亚洲阿v天堂无码z2018| 一区二区三区不卡视频| 试看60秒| 夜夜爽妓女| 久久精品亚洲成a人天堂| 国产免费黄色一级大片| 国产和美国毛片| 日产国产精品中文久久婷婷| 91精品黄在线观看| 欧美日韩国产一区二区小黄片大全| 国产精品久久久999| 男人天堂一区二区| 99久re热视频精品98| 成人av性爱电影在线观看| 鸥美精品一区二区久久婷婷| 九月丁香综合网| 欧美日韩免费专区在线| yiqicaoav| 欧美九九爱| 97爱综合| 亚洲天堂第一页| 婷婷色色五月天福利| 中文字幕国产精品1区| 97亚洲欧美| 99热色这里只有精品| 国产呦精品系列在线观看| 岛国AV一区二区电影| 欧美组图日韩亚洲中文字幕| 大香蕉99热| 免费精品人妻一区二区三| 亚洲无限观看| 两性综合网| 国产熟女完整版中字| 亚川综合视频| 台湾佬中文娱乐网久久久久久久久久com| 乱伦图一区| 一二区在线观看视频| 99亚洲天堂| 青娱乐休闲视频在线观看| 久久免费看高潮毛片韩国| 国产日韩精品无码去免费专区国产| 97国产超碰| 国产白领连续中出在线观看| 少妇人妻好深太紧了vr91| 国产人妻精品一区二区三区秋霞 | 长长久久免费视频| 2024黄色视频| A一级色女| 丁香六月婷| WWW操逼| 日日干夜夜骑| www.97在线| 无码最新| 中文字幕乱码在线| 人妻超碰青青草98| 欧美日韩超碰在线| 色乱二区| av网站在线看| 超碰在线在公开超碰在线在公开| 中文伊人大香蕉视频| 国产精品麻豆视频网站| 亚洲欧美91| 最新av在线| 亚 欧 美 综合| 草草影院日本第一页| 9久热这里只有精品| 中文字幕88av在线| 婷婷五月天影院| 中国国产精品一区视频| 久久夜夜| 亚春色色| 亚洲欧美日韩电影网站一区| 99热亚洲天堂| 久久草大香蕉| 国产精品色片一区二区| 偷拍 欧美 日韩| 视频二区美腿制服人妻欧美| av东京热男人的天堂| 天天看片天天爽| 国产又爽又黄| 日韩人妻播放| 波多野42部激情无码喷潮| 97操b| 亚洲骚男同com| 大香蕉在线视频重口味毛片在线| 91N欧美| 丰满的三级少妇欧美久久久| 日韩人妻一二三区视频| 51国产午夜精品视频| 白丝一区| 麻豆色约约| 嗯嗯啊啊用力视频免费| 久久久激情| 香蕉人人操tv| 日韩一性一交一A片俄罗斯| 欧美操人视频| 啪啪性爱免费视频| 91精片| 天天综合官网| 国产精品农村妇女| 色约约一区=区三区| 天欧美在线| 超碰免费欧美7| 九九九九欧美| 1204金沙人妻懂旧版免费| 亚洲三级网址久久最新| 国产人伦精品一区二区三区| 青娱乐 成人娱乐在线| 成人资源中文字幕在线观看天天| 婷婷亚洲色| 99九九精品| 丁香五月综合| 黄污污污污| 亚洲宅男天堂| 久久免费中文字幕在线观看| 天美传媒av 在线| 亚洲人成网www| 亚洲图片欧美日韩| 亚洲天堂色图| 久久AV无码1区2区3区| 天美一二三在线观看Av| 精品久久久久久久久久久久| 久久精品99久久久久久| 欧美日韩国产人人| 国产精品第一页国产大屁股视频免费区i| 9999亚洲电影| 97精品97| 国产AB视频| 国产无吗在线播放| 欧美人人天天网| 久久精品视频一区三区小泽玛利亚| 日本最新免费韩国1区2区视频播放| 粉嫩AV一区夜夜嗨| 岛国不卡超碰护士AV在线播放| 人妻素股| 日本韩国五十路六十路七十路老熟女作爱视频网站 | 中文字幕第23区| 熟女久久久| 精品无码久久| 91一起操| 最新国产精品| 97超碰亚洲| 十八禁电影伊人网| 美女91AV| 7777奇米影视久久| 五月天黄色激情视频| 思思热在线观看| 精品久久久久9999| 熟妇国产免费一区| 日韩本不卡视频在线观看 | 欧美 亚洲 大香| 91伊人久久在线| 999精品乱码| 亚洲一曲日韩精品| 久热婷婷| 久久少妇视频| 久久久一区二区三区麻豆| 视频一区二区免费在线| 精品v日韩欧美国产| 欧美色图片91| 嫩草影院在线观看精品| 偷拍偷窥与盗摄视频专区| 天天日天天搞天天干| 青草av在线| 神马午夜久久久| 深夜激情| 秋霞一级A片黄色视频| 狠狠色色| 97在线观视频免费观看| 久久久久亚洲| 国产一级αv免费看片| 超碰性爱97| 国产农村妇女毛片精品久久| 一区二区精品日韩欧美在线观看| 五月天精品| 欧美综合 站| 91综合色噜噜| 色色色999| 97看操| 97亚洲综合| 国产麻豆一级精品视频| 久久久久国色αv免费观看| 国产操逼网站亚洲一级黄色| 久操精品网| 天天操人人操骚逼网站| 俄罗斯及免费在线看| av日韩在线观看电影| 日韩99999色| 性感美女啊啊啊在线| 91av熟女人妻| 久久性爱视频| 色偷综合| 在线看的av| 免费作爱一级视频| 97这里都是精品| 亚洲网污污污污| 中文字幕在线观| 香蕉久久国产AV一区二区| 亚洲天堂人人妻| 欧美gv在线观看| AV 少妇 人妻 偷拍| 97欧美色| 亚洲国产成人精品999| 在线观看午夜婷婷久久久久清性观看| 亚洲日韩美女中文字幕乱| 东京热毛片调教| 久久久久久久久久久久黄色| 免费久久一级毛片大黄| 国产av色网| 秋霞成人一级在线观看| 日本精品人妻少妇一区二区| 欧美草草高清日韩视频| 99性视频| 夜色97| 欧美性爱视频免费一区一A| 日韩人妻无码精品系列| 日韩精品一区二区高清 | 精品美女久久一二三| 91欧美色| 最近2019中文字幕国语免费版| 操逼精品视频| 被男人吃奶很爽的毛片| 男人的天堂欧美| 黄色免费网| 殴美日韩m| 国产熟女一区二区| www.夜夜| 日韩欧美性吧婷婷乱伦大香蕉| 婷婷香蕉欧美在线一区二区三区 | 国产人伦精品一区二区三区| 亚洲精品一区二区精华| 欧美亚男人的天堂| 男人的天堂午夜av| 欧美熟女妇同| 欧美日韩精品一区二区三区高清| 校园春色综合香蕉| 懂色AV蜜臀无码精品APP | 久久天天性久久伊人| 男人的天堂2019| 亚洲熟女乱色| 国产精品黄色三级av| 亚洲综合贴图91 | 韩日色费| 东北操逼| 日本99久久| 免费试看60秒| aaa淫乱视频| 免费看A片毛毛片在线播| 老熟乱一区二区三区四区| 婷婷五月激情综合| 亚洲性爱免费电影| 韩国毛片一区二区三区| 熟女精品一区二区三区| 天堂69亚洲精品中文字| 色综合超碰超| 色色五月丁香| 中字幕人妻一区二区三区| 动漫区日韩区欧美区| 永久免费发布性爱网| 国产精品久久泡妞网站| 久久久久9久久久久| 免费一级黄色录像影片| 亚洲成人AB| 三上制服丝AV| 日韩av影片在线观看| 啊啊啊啊啊啊在线观看| 丰满欧美少妇| 成人乱码一区二区三少妇| 亚洲日韩精品一区二区| 好好的日:com久久九九| 婷婷操逼| 免费自拍三级综合| 青娱乐91| 超碰这里只有精品| 国产又粗又又黄又猛| 奇米狠999| 手机在线大香蕉| 亚洲熟女乱色一区二区三区久久久| 久操精品网| 小日子操bb在线看| 97人人爱人人乐| 久久精品视| 成年女人18级毛片毛片免费观看| а√天堂资源官网在线资源| 欧美在线大香999| 国产丝袜美腿美女麻豆| 志村玲子视频一区二区| 国产精品人妻熟女aⅴ| 精品69网| 中文字幕av片| 久久久婷| 天天日日夜夜| yaouchengrenav| 九九九九免费视频| 九九色影院| 中国一级操逼视频| 色噜噜国产精品视频一区二区| 99国产精品免费| 欧美专利1区2区3区4区5区免费| 人人插人人搞人人操| 欧美一级黄片视频在线| 91老熟女视频| 亚洲 在线| 熟人人妻少妇精品久久| 另类专区加勒比| 久久伦理视频久久大香蕉视频| 日本人体九九九九九九| 97五月天| 99性爱在线观看| 一区二区三区亚洲| 亚洲精品国产精品成人| 老熟女网站| 中文字幕精品码亚洲| 爱丝福利| 精品无码一区二区三区| 中精品一区二区三区| 蜜臀久久在线视频| 97在线欧洲| 69精品少妇一区二区三区蜜桃| 99热在线观看| 亚洲高清在线| 色综合久| 操一区| 97国产伦理| 亚洲天堂第一页| 中文字幕-区二区三区四区视频中国| 亚洲AO在线| 99久久无色码| 亚洲丝袜色图| 美女淫穴| 色色综合97| 欧美激情亚洲情色| 啊啊啊好疼| 久久风骚城市人| 久久婷婷一区| 精品78| 日韩激情电影中文字幕| 国产1024在线播放| 性爱视频无打码在线观看| 无码一区二区精品视频久久久春药| 综合激情二| 少妇xx精品| 青青操狠狠撩| 婷婷大香蕉| 天天综合,91综合永久| 九九久久久九九| 丁香婷婷激情五月天无毒不卡 | 免费操逼视频下载| 99激情视频| 操我啊啊啊啊啊| 麻豆精品A片免费观看| 伦在线97| 成人资源中文字幕在线观看| 91精品国产综合久久久蜜臀酒店| 国产二区三区免费视频| 性饥渴少妇av无码毛片| 国精精品无码一二三区水多多| 日韩av不卡在线观看| 熟妇熟女视频一区二区三区| 欧美日日夜夜| 久久一二三四不卡 | 媚薬在线视频麻豆| 婷婷探花久久精品一区| 精品999一区二区| 国产又色又粗又黄又爽| 久久夜黄色无码A级大片| 成人午夜无码视频| 欧美 传媒 麻豆 日韩 偷拍| 天综合网欧美| 亚洲欧美日韩激情不卡| 亚洲精品乱码线路中文字幕| 成人片在线播放| 99www.bibizy香蕉资源国产一区二区三区高清| 国产精品在线网站| 国产精品不卡少妇白| 久久 精品| AV污污污污| 久草综合京东| 99久在线精品99re8热视频在线| 97 色综合| 狠狠色噜噜狠狠狠狠狠色综合久久| 97操碰| 伊人色综合欧美| 三四中文字幕| 亚洲精品影视老司机| 999日韩中文精品观看视频。| 日韩啪啪啪视频| 男人的天堂久久久| 99久久精品无码一区二区| 九九毛片这里只有精品| 九九超碰综合网| 日本成人免费一区二区三区| 美女被啪到深处抽搐视频| 91久精品| 老熟乱一区二区三区四区| 竹菊一区二区三区AV线| 天堂九九九九九九九九九| 国产伦精品免编号公布| 亚洲激情欧美色图| 九九九九精品精| 激情久久久| 婷婷精品视频| 无码视频一区二区| 清纯唯美亚洲另类| 九九九九热| 国产精品免费1区2区视频| 长长久久88视频| 欧美日本视频一区| 18禁止看精品中文字幕| 三级三级三级日本99| 日韩综合色网| 日欧操屄| 75大香蕉| 98人妻精品一区二区色欲| 色香蕉影院| 亚洲综合草草| 91国产操逼视频| 人妻熟女字幕一区二区| 日产精品久久久一区二区| 久久91精品国产9丨久久分亭| 鸥美精品一区二区久久婷婷| 国产精品美女久久久久久网站| 4399成人黄A片| 超碰九九| 国产激情综合| 99最新日韩偷拍视频| 强奸乱伦大香蕉网| 中文字幕精品人妻丝袜| 欧美色图综合| www.欧精品| 亚洲天天操| 人妻天天爽夜夜爽爽| 看全色黄大色大片免费视频| 中亚av| 夜夜爽夜夜爽| 99国产天美| 97超碰人人模人人拍人人| 欧洲中文字幕| 五月婷婷六月丁香网址| 伊人久久大香线蕉亚洲五月天,青草青草欧美日本一区二区,欧美日产欧美日产国产 | 97伦综合| 欧美夜夜狠| 亚洲无码视频免费在线观看网址!| 在线αⅴ| 亚洲无992tv| www.四虎在线| 97在线观看| 综合 青草 伊久久 影院 综合| 秋霞色色影院| 久久久久久久久久久97| 边做饭边操逼逼| 成人日韩中文字幕| 伦激情人妻另类人妻| julia中文字幕在线观看| 国产h小视频在线观看免费| 激情露脸爱| 国产成人亚洲精品无码古代早漏男| 欧洲乱码视频| 亚洲成人福利电影免费| 精品人妻15区| 久久麻豆一区二区| 在线观看一级α片刺激高潮视频| 在线观看视频91| 亚洲高清国产理伦片| 一区二区无码视频| 精品久久青青草| 欧美日韩大香蕉| 久久久久久裸体| 精品国产乱码久久久久A| 国产精品不卡高清在线观看| 亚洲一区二区 麻豆传媒| 欧美99热| 欧美天天综合| 亚洲av夫妻操穴网| 国产超碰AV在线精品| 日本新免费二区三区| 99色在线观看| 中文字幕,人妻,日韩| 日韩不卡一二三四| 国产农村妇女一区二区| 曰韩精品视频一区二区| 日夜尻逼网| 欧色综合| 欧美在线视频99| 992视频一区| 日韩欧亚中文在线| 欧美日韩m| 久久久免费一级黄片| 99热在线播放| 久久是精品| 宗合情欲网| 日韩av在线播放不卡| 97超碰人人操人人操| 欧美色亚洲色| 亚洲射综合网| 五月天综合在线| 天堂中文日本在线观看| 亚洲欧美黄| 久久国产精品视频| 亚洲综合影片| 99热自拍| 艹比视频国产精品| 最新av中文字幕高清| 激情文学亚洲| 啊啊啊不要啊啊受不了了视频在线 | 久久久久久夜夜夜夜夜| 欧美不卡五十路| 超碰97男女| 亚洲高清在线se| 91网18| 91蜜臀熟女| 国产成人无码网站在线视频| 国产日韩区| 校园春色 欧美| 亚洲中文字幕一区二区| 99re在线视频这里只有精品| 亚洲中文字幕乱码无码一区二区| 国产毛片精品一区二区色欲黄A片| 成人 日本A片无码8888| 中国AAAAAA黄色片| 九久精品| 亚洲日韩精品一区二区| 丝袜亚洲91| 69AV女优男人的天堂| 长长久久88视频| 九九亚洲视频| 午夜福利精品| 精品人体无圣光凹凸| 日韩黄色片子| 2024黄色视频| 欧美色宗合| 起碰97| 精品二区三四区五电影 | 黑人与人妻| 男人下部插入女人下部| 91美女中出| 99免费在线视频| 欧美视频中文字幕区| 日韩性爱电影一区| 国产一级作爱毛片| 可以免费看黄片的视频| 色呦呦国产精品免费看| 亚洲无线观看久久| 久99在线免费观看视频| 国产精品夜夜夜| 日日干日日摸| 久操免费观看| 国产精品久久久亚洲第一牛牛_在线观看| 97chaopenrihan| 偷拍亚洲情色| 男人天堂久久精品不卡| 天堂亚洲精品| 97Ai亚洲| 91狠狠综合| 欧美91精品国产自产| 久久精品国产精品一区| 欧美人人曰人人操人人射射| 免费在线视频97| 国产福利合集| 国产黄色视频久久| 国产强奸91| 精品高清一区二区三区三州| 国产91精品福利在线| 日韩内射视频| 婷婷五月天色| 亚洲精品男人的天堂| 99热| 欧美|91色综合| 国产婷婷一区| 加勒比海成人视频网| 大香蕉2017| 中文字幕乱码在线观看| 国产呦精品系列在线观看| 久热在线精品免费观看| 69天堂| 日逼视频日本| 日本女人操逼| 97综合在线观看| 诱惑人妻欧美一区在线播放| 超碰在线1234区| 色香av| 人人操人人操人人人操| 强奸乱伦资源| 91N欧美| 亚洲成人妻日韩在线| 久久9精品网站| 五月天丁香|