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

ARTICLE DETAIL

資訊詳情

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

基于SpringBoot的校園心理咨詢平臺(tái)設(shè)計(jì)與實(shí)現(xiàn)

基于SpringBoot的校園心理咨詢平臺(tái)設(shè)計(jì)與實(shí)現(xiàn) 1. 項(xiàng)目概述與需求拆解1.1 這個(gè)項(xiàng)目解決的到底是什么問(wèn)題先說(shuō)個(gè)現(xiàn)象我接觸過(guò)的不少高校里心理咨詢中心其實(shí)挺尷尬的。線下預(yù)約排隊(duì)能排到兩三個(gè)星期以后學(xué)生有問(wèn)題不敢去學(xué)院辦公室問(wèn)覺(jué)得“被輔導(dǎo)員知道被全院知道”加上咨詢室開(kāi)放時(shí)間固定白天有課的學(xué)生基本約不上。另一方面心理咨詢師的時(shí)間被大量重復(fù)性事務(wù)占用——回答“在哪里預(yù)約”“你們幾點(diǎn)上班”“怎么取消”這類問(wèn)題真正做咨詢的時(shí)間反而被壓縮。所以這個(gè)項(xiàng)目的核心不是“做一個(gè)網(wǎng)站”而是把心理咨詢服務(wù)從前臺(tái)接待、紙質(zhì)登記、電話確認(rèn)這套流程遷移到線上自助式服務(wù)。學(xué)生能自己看咨詢師排班、自己約時(shí)間、自己填心理評(píng)測(cè)問(wèn)卷咨詢師能在線管理日程、查看預(yù)約記錄、做簡(jiǎn)單的評(píng)估記錄管理員能看整體數(shù)據(jù)、管理用戶和內(nèi)容。這就是一個(gè)典型的“信息管理在線服務(wù)”雙合一的業(yè)務(wù)系統(tǒng)。如果你是計(jì)算機(jī)相關(guān)專業(yè)的畢業(yè)生這類選題在答辯時(shí)有一個(gè)天然優(yōu)勢(shì)業(yè)務(wù)邊界非常清晰評(píng)審老師不需要額外花時(shí)間理解項(xiàng)目是干什么的所有功能點(diǎn)都能對(duì)應(yīng)到明確的業(yè)務(wù)需求。不像某些徒有其表的“智能推薦系統(tǒng)”你扛不住一句“為什么用這個(gè)方法不用那個(gè)方法”。1.2 校園場(chǎng)景的特殊性在哪里很多人會(huì)把校園心理平臺(tái)想成“一個(gè)普通的預(yù)約網(wǎng)站”這是最大的誤區(qū)。校園場(chǎng)景有幾個(gè)非常具體的要求直接決定了系統(tǒng)設(shè)計(jì)的方向。第一個(gè)是權(quán)限模型復(fù)雜。同樣的預(yù)約功能學(xué)生看到的是“我要約哪個(gè)老師”咨詢師看到的是“我的日程管理”管理員看到的是“所有老師的所有日程”。這三個(gè)角色的數(shù)據(jù)范圍、操作邊界、頁(yè)面入口完全不同權(quán)限設(shè)計(jì)一旦沒(méi)做好后面每個(gè)功能都要打補(bǔ)丁。第二個(gè)是隱私保護(hù)優(yōu)先級(jí)極高。學(xué)生填寫(xiě)的心理評(píng)測(cè)結(jié)果、咨詢記錄屬于敏感數(shù)據(jù)界面展示和數(shù)據(jù)庫(kù)存儲(chǔ)都要做隔離。學(xué)生本人只能看自己的評(píng)測(cè)報(bào)告咨詢師只能看預(yù)約了自己時(shí)段的學(xué)生信息管理員原則上不直接查看評(píng)測(cè)明細(xì)——只能看統(tǒng)計(jì)匯總數(shù)據(jù)。這個(gè)規(guī)則在功能設(shè)計(jì)階段就要想清楚而不是最后快答辯了才補(bǔ)。第三個(gè)是互動(dòng)模式不再是單一的“預(yù)約—到場(chǎng)”。線上心理咨詢平臺(tái)通常有兩種模式預(yù)約線下咨詢或者直接在平臺(tái)內(nèi)做文字/語(yǔ)音咨詢。對(duì)于一個(gè)畢業(yè)設(shè)計(jì)體量的項(xiàng)目建議做預(yù)約留言板在線反饋的組合不建議直接上實(shí)時(shí)音視頻。理由后面章節(jié)會(huì)說(shuō)這里先記住結(jié)論。1.3 為什么說(shuō)“畢業(yè)設(shè)計(jì)”這個(gè)屬性影響技術(shù)方案“計(jì)算機(jī)畢業(yè)設(shè)計(jì)”這六個(gè)字意味著這個(gè)項(xiàng)目的評(píng)價(jià)標(biāo)準(zhǔn)不是“功能越復(fù)雜越好”而是“邏輯完整、技術(shù)合理、工作量飽滿”。評(píng)審老師看重的有三個(gè)點(diǎn)業(yè)務(wù)邏輯能不能閉環(huán)、技術(shù)選型能不能說(shuō)明白理由、工作量能不能體現(xiàn)出來(lái)。所以我個(gè)人強(qiáng)烈建議不要一上來(lái)就堆微服務(wù)、分布式、Redis緩存、消息隊(duì)列這些東西。SpringBoot單體應(yīng)用配合MySQL加上合理的模塊劃分足夠支撐一個(gè)完整的校園心理平臺(tái)。用我常說(shuō)的一句話畢業(yè)設(shè)計(jì)的核心是證明你理解了一個(gè)系統(tǒng)是怎么從零到一建設(shè)起來(lái)的而不是證明你背過(guò)多少框架名。2. 技術(shù)選型思路與核心框架解析2.1 為什么是SpringBoot而不是其他框架現(xiàn)在Java后端就業(yè)市場(chǎng)的主流要求就是SpringBoot這個(gè)不用多解釋。但從項(xiàng)目本身的角度看選SpringBoot有三個(gè)實(shí)實(shí)在在的好處。第一起步成本低。SpringBoot的自動(dòng)配置機(jī)制把大量繁瑣的Bean注冊(cè)、XML配置變成了約定俗成的默認(rèn)值一個(gè)空的Web項(xiàng)目幾分鐘就能跑起來(lái)。對(duì)于需要同時(shí)兼顧文檔撰寫(xiě)、數(shù)據(jù)庫(kù)設(shè)計(jì)、前端頁(yè)面、功能開(kāi)發(fā)的大四學(xué)生來(lái)說(shuō)省下來(lái)的時(shí)間很寶貴。第二生態(tài)成熟出問(wèn)題好搜。這是一個(gè)很現(xiàn)實(shí)的因素。你做項(xiàng)目過(guò)程中遇到的90%的報(bào)錯(cuò)在搜索引擎上都能找到對(duì)應(yīng)的解決方案因?yàn)橛肧pringBoot的人實(shí)在太多了。比如后面會(huì)提到的Lombok編譯報(bào)錯(cuò)問(wèn)題、SpringBoot版本過(guò)高導(dǎo)致的配置項(xiàng)變更問(wèn)題都是社區(qū)里反復(fù)討論過(guò)的話題。第三加分項(xiàng)明確。答辯時(shí)老師問(wèn)“為什么選SpringBoot”你可以回答SpringBoot基于Spring框架通過(guò)自動(dòng)配置和起步依賴簡(jiǎn)化了項(xiàng)目搭建內(nèi)置Tomcat可以打成Jar包獨(dú)立運(yùn)行配合Spring MVC提供RESTful接口天然適合前后端分離開(kāi)發(fā)。這三句話就把選型理由說(shuō)得明明白白。2.2 版本選擇是第一個(gè)坑說(shuō)一個(gè)我在幫別人排查項(xiàng)目時(shí)遇到最多的問(wèn)題SpringBoot版本太高。很多同學(xué)直接從官網(wǎng)拉最新穩(wěn)定版Spring Boot 3.x結(jié)果一整合舊教程里的代碼就報(bào)錯(cuò)——因?yàn)镾pring Boot 3.0以上版本要求JDK 17同時(shí)javax.servlet變成了jakarta.servlet一大批第三方工具的兼容性都變了。我做這個(gè)項(xiàng)目時(shí)用的是SpringBoot 2.7.x系列 JDK 1.8。為什么因?yàn)檫@個(gè)組合是當(dāng)前畢業(yè)設(shè)計(jì)生態(tài)里最穩(wěn)的市面上絕大多數(shù)教程適配的是這個(gè)版本MyBatis-Plus、Hutool、Lombok等常用工具在這個(gè)組合下無(wú)痛兼容而且JDK 1.8依然是很多學(xué)校機(jī)房和企業(yè)老項(xiàng)目的標(biāo)配。注意如果你的項(xiàng)目需求或?qū)熤付烁甙姹灸钦?qǐng)忽略我的建議。但如果是自己選聽(tīng)我的2.7.x JDK 8是你做畢設(shè)最省心的組合。2.3 輕量級(jí)不是功能少而是設(shè)計(jì)克制標(biāo)題里“輕量級(jí)Java框架”這個(gè)詞很多人理解成“功能簡(jiǎn)單”這不對(duì)。輕量級(jí)的本意是“最小依賴實(shí)現(xiàn)核心功能不引入不必要的復(fù)雜度”。具體到這個(gè)項(xiàng)目我的理解是能不引入中間件就不引入。比如用戶登錄狀態(tài)用Spring SessionRedis是常見(jiàn)的生產(chǎn)級(jí)方案但畢業(yè)設(shè)計(jì)場(chǎng)景里單機(jī)部署的SpringBoot應(yīng)用用JWT或者普通的Session機(jī)制完全夠用。再比如文件上傳把學(xué)生頭像存到本地磁盤(pán)比引一個(gè)OSS對(duì)象存儲(chǔ)更直觀代碼量少部署也簡(jiǎn)單。“克制”的另一層意思是你引入的每一個(gè)技術(shù)組件都要能回答“它解決了什么痛點(diǎn)”。比如你引入Redis就要說(shuō)清楚“存放驗(yàn)證碼并設(shè)置過(guò)期時(shí)間”“緩存熱點(diǎn)數(shù)據(jù)降低數(shù)據(jù)庫(kù)壓力”。你引入消息隊(duì)列就要想清楚“哪個(gè)業(yè)務(wù)場(chǎng)景真的需要異步削峰”。如果答不上來(lái)這個(gè)組件就是扣分項(xiàng)而不是加分項(xiàng)。2.4 前后端分離還是服務(wù)端渲染這個(gè)項(xiàng)目我強(qiáng)烈建議用前后端分離原因不只是技術(shù)趨勢(shì)更重要的是開(kāi)發(fā)節(jié)奏上的優(yōu)勢(shì)。Vue Element UI是當(dāng)前學(xué)校的主流技術(shù)棧前端的頁(yè)面組件可以直接套用開(kāi)源模板快速搭建后端的邏輯通過(guò)RESTful API對(duì)外暴露前端調(diào)接口拿JSON數(shù)據(jù)渲染頁(yè)面兩邊可以并行推進(jìn)。同時(shí)也預(yù)留了一個(gè)擴(kuò)展點(diǎn)如果未來(lái)要接入移動(dòng)端或者小程序后端API不用做任何改動(dòng)新寫(xiě)一個(gè)前端殼子就行。這個(gè)話術(shù)在答辯“未來(lái)展望”環(huán)節(jié)非常好用。前端就選Vue 2版本Element UI組件庫(kù)配合Axios請(qǐng)求庫(kù)。如果你會(huì)Vue 3那也可以用Vue 3 Element Plus但要注意教程和資料最多的還是Vue 2自己權(quán)衡。我對(duì)大多數(shù)人的建議是選你最有把握的畢業(yè)設(shè)計(jì)不是新技術(shù)試驗(yàn)場(chǎng)。3. 核心功能模塊設(shè)計(jì)與數(shù)據(jù)庫(kù)建模3.1 角色定位與功能全景圖任何項(xiàng)目的第一步都不是寫(xiě)代碼而是把角色和功能梳理清楚。這個(gè)平臺(tái)總共有三類角色外加一個(gè)“游客”我把他們的核心訴求整理成了一張表角色核心訴求核心功能學(xué)生快速約到咨詢師、保護(hù)隱私、查看自己的記錄注冊(cè)登錄、瀏覽咨詢師、查看排班、在線預(yù)約、填寫(xiě)評(píng)測(cè)問(wèn)卷、查看評(píng)測(cè)報(bào)告、留言反饋?zhàn)稍儙煿芾碜约旱呐虐?、查看預(yù)約、快速記錄登錄、維護(hù)個(gè)人資料、設(shè)置可預(yù)約時(shí)段、查看預(yù)約列表、處理預(yù)約、填寫(xiě)咨詢記錄管理員統(tǒng)覽全局、管理基礎(chǔ)數(shù)據(jù)用戶管理、咨詢師審核、文章管理、數(shù)據(jù)統(tǒng)計(jì)、系統(tǒng)設(shè)置游客了解平臺(tái)、獲取幫助瀏覽平臺(tái)介紹、查看心理科普文章、查看常見(jiàn)問(wèn)題這里要特別留意“游客和學(xué)生的邊界”。很多畢設(shè)會(huì)把所有內(nèi)容都鎖在登錄后才可看這其實(shí)不符合業(yè)務(wù)邏輯——一個(gè)學(xué)生第一次訪問(wèn)平臺(tái)應(yīng)該能先看看平臺(tái)有什么、咨詢師長(zhǎng)什么樣、科普文章能不能讀有了信任感才愿意注冊(cè)。所以前端頁(yè)面必須有一部分是免登錄開(kāi)放的。3.2 預(yù)約業(yè)務(wù)的核心流程預(yù)約是這個(gè)平臺(tái)的核心業(yè)務(wù)也是最容易出現(xiàn)邏輯漏洞的地方。一個(gè)合理的預(yù)約流程至少包含以下環(huán)節(jié)學(xué)生查看咨詢師列表進(jìn)入咨詢師詳情頁(yè)查看該咨詢師的可預(yù)約時(shí)間段由咨詢師提前設(shè)置選擇一個(gè)時(shí)間段提交預(yù)約申請(qǐng)系統(tǒng)檢查該時(shí)間段是否仍可預(yù)約防止兩個(gè)人同時(shí)搶到預(yù)約成功后狀態(tài)為“待確認(rèn)”學(xué)生和咨詢師都能看到咨詢師確認(rèn)或取消預(yù)約學(xué)生收到狀態(tài)變更通知咨詢完成后咨詢師填寫(xiě)本次咨詢記錄注意第4步“防并發(fā)沖突”。兩個(gè)學(xué)生同時(shí)點(diǎn)了同一個(gè)時(shí)段理論上只允許一個(gè)人成功。技術(shù)實(shí)現(xiàn)上最簡(jiǎn)單的方案是在數(shù)據(jù)庫(kù)層面做約束判斷當(dāng)前時(shí)間段預(yù)約數(shù)是否小于容量通過(guò)UPDATE語(yǔ)句帶條件更新影響行數(shù)來(lái)判斷是否搶到。這個(gè)問(wèn)題的解決方案在答辯時(shí)也是一個(gè)非常好的技術(shù)亮點(diǎn)能體現(xiàn)你是否考慮過(guò)并發(fā)場(chǎng)景。3.3 數(shù)據(jù)庫(kù)表設(shè)計(jì)的關(guān)鍵決策數(shù)據(jù)庫(kù)表設(shè)計(jì)不能邊寫(xiě)邊想必須在開(kāi)工前把核心表結(jié)構(gòu)定下來(lái)。我按照這個(gè)項(xiàng)目實(shí)際需要整理了這樣一組核心表用戶相關(guān)user用戶表學(xué)生/咨詢師/管理員都放這里用role字段區(qū)分consultant_info咨詢師擴(kuò)展信息表咨詢方向、從業(yè)年限、個(gè)人簡(jiǎn)介、資質(zhì)證書(shū)編號(hào)student_info學(xué)生擴(kuò)展信息表學(xué)號(hào)、學(xué)院、年級(jí)業(yè)務(wù)相關(guān)appointment預(yù)約表關(guān)聯(lián)用戶ID、咨詢師ID、時(shí)段、狀態(tài)、備注schedule排班表/可預(yù)約時(shí)段表咨詢師ID、日期、開(kāi)始時(shí)間、結(jié)束時(shí)間、是否已約evaluation_template評(píng)測(cè)問(wèn)卷模板表evaluation_question評(píng)測(cè)問(wèn)題表evaluation_record評(píng)測(cè)記錄表學(xué)生ID、模板ID、分?jǐn)?shù)、結(jié)果等級(jí)evaluation_answer評(píng)測(cè)答案表每題的選擇結(jié)果message_board留言表學(xué)生留言、咨詢師回復(fù)內(nèi)容相關(guān)article心理科普文章表banner首頁(yè)輪播圖表notice公告表關(guān)于user表要不要拆成用戶主表和用戶擴(kuò)展表很多同學(xué)猶豫。我的建議是拆原因?qū)W生和咨詢師的信息字段差異很大比如咨詢師要存“咨詢方向”而學(xué)生要存“學(xué)號(hào)”。如果全塞在user表里要么大量字段為空要么表結(jié)構(gòu)臃腫難以理解。拆分后user表只存公共字段擴(kuò)展表用外鍵關(guān)聯(lián)user_id思路清晰答辯也好講。3.4 評(píng)測(cè)問(wèn)卷模塊設(shè)計(jì)經(jīng)驗(yàn)心理評(píng)測(cè)模塊是這個(gè)平臺(tái)區(qū)別于“普通預(yù)約網(wǎng)站”的重要亮點(diǎn)實(shí)現(xiàn)得好能撐起不少工作量。我建議至少設(shè)計(jì)3套評(píng)測(cè)模板比如“焦慮自評(píng)量表SAS”“抑郁自評(píng)量表SDS”“睡眠質(zhì)量評(píng)估”。這里重要的不是量表本身的專業(yè)醫(yī)學(xué)背景而是它的計(jì)分和結(jié)果映射邏輯。拿SAS舉例20道題目每道題按1-4分計(jì)分粗分乘以1.25取整數(shù)得到標(biāo)準(zhǔn)分。標(biāo)準(zhǔn)分小于50為正常50-59為輕度焦慮60-69為中度焦慮70及以上為重度焦慮。這個(gè)映射規(guī)則在代碼中用一個(gè)配置類封裝前端按照后臺(tái)返回的分?jǐn)?shù)區(qū)間展示對(duì)應(yīng)結(jié)果。評(píng)測(cè)結(jié)果要和預(yù)約流程聯(lián)動(dòng)如果評(píng)測(cè)結(jié)果異常頁(yè)面直接推送一條建議——“系統(tǒng)檢測(cè)到您最近情緒壓力偏高建議盡快預(yù)約咨詢師進(jìn)行線下溝通這里為您推薦幾位擅長(zhǎng)情緒管理的咨詢師”。這樣就把評(píng)測(cè)模塊的價(jià)值和大預(yù)約模塊綁在了一起業(yè)務(wù)邏輯閉環(huán)了。4. 核心功能實(shí)現(xiàn)與關(guān)鍵技術(shù)細(xì)節(jié)4.1 登錄認(rèn)證與權(quán)限控制的落地SpringBoot JWT做登錄認(rèn)證是我推薦的一套輕量級(jí)方案。核心思路用戶登錄成功后服務(wù)器用SecretKey簽發(fā)一個(gè)Token返回給前端前端每次請(qǐng)求在請(qǐng)求頭里帶上Authorization: token后端寫(xiě)一個(gè)攔截器統(tǒng)一校驗(yàn)Token解析出用戶ID和角色放到ThreadLocal或請(qǐng)求上下文里。JWT的好處是無(wú)狀態(tài)后端不需要存Session對(duì)前后端分離部署非常友好。但要記住兩個(gè)細(xì)節(jié)Token要設(shè)置過(guò)期時(shí)間建議2小時(shí)前端的Axios攔截器在收到401響應(yīng)時(shí)自動(dòng)跳轉(zhuǎn)登錄頁(yè)并提示“登錄已過(guò)期”密碼不能用明文存數(shù)據(jù)庫(kù)至少要用MD5加鹽或BCrypt加密。Spring Security自帶的BCryptPasswordEncoder是最穩(wěn)妥的選擇權(quán)限控制層面我習(xí)慣用自定義注解RequireRole(CONSULTANT)加攔截器的方案攔截器先解析Token拿到用戶角色再判斷當(dāng)前請(qǐng)求的接口是否允許該角色訪問(wèn)。比Spring Security的PreAuthorize更直觀對(duì)還沒(méi)系統(tǒng)學(xué)過(guò)Spring Security的同學(xué)來(lái)說(shuō)更容易講清楚原理。4.2 預(yù)約模塊的并發(fā)防重實(shí)現(xiàn)前面提到預(yù)約需要防并發(fā)沖突這里說(shuō)具體實(shí)現(xiàn)。預(yù)約表里加一個(gè)version字段或者依靠帶條件的UPDATE// 偽代碼更新某個(gè)時(shí)間段為“已預(yù)約” int rows appointmentMapper.updateStatusByIdAndStatus(appointmentId, 0, 1); if (rows 0) { // 更新成功說(shuō)明該時(shí)段之前是未預(yù)約狀態(tài)本次操作成功 } else { // 更新失敗說(shuō)明該時(shí)段已被別人預(yù)約 throw new BusinessException(該時(shí)間段已被預(yù)約請(qǐng)選擇其他時(shí)間); }核心原理是UPDATE語(yǔ)句影響行數(shù)為0時(shí)說(shuō)明條件不滿足。這里WHERE條件里帶著status0未預(yù)約兩個(gè)請(qǐng)求同時(shí)進(jìn)來(lái)數(shù)據(jù)庫(kù)層面的行鎖保證只有一個(gè)請(qǐng)求能改成功。4.3 評(píng)測(cè)模塊的計(jì)分實(shí)現(xiàn)評(píng)測(cè)模塊的代碼核心不復(fù)雜但要把邏輯捋清楚。前端把學(xué)生的答案按[{questionId: 1, optionValue: 2}, ...]的格式提交到后端后端拿到答案列表后// 偽代碼計(jì)算SAS量表標(biāo)準(zhǔn)分 int roughScore evaluationService.calculateRoughScore(answers, templateId); int standardScore (int) Math.round(roughScore * 1.25); String resultLevel standardScore 50 ? 正常 : standardScore 60 ? 輕度焦慮 : standardScore 70 ? 中度焦慮 : 重度焦慮;這里有幾個(gè)坑要注意有些題目是反向計(jì)分的比如“我覺(jué)得一切都很好”需要按選項(xiàng)值5 - optionValue處理題目表里要加一個(gè)isReverse字段模板的版本管理評(píng)測(cè)模板以后可能會(huì)修改題目所以evaluation_record表必須記錄本次評(píng)測(cè)用的template_id否則歷史評(píng)測(cè)記錄對(duì)應(yīng)不上當(dāng)時(shí)用的題目結(jié)果顯示建議用分級(jí)顏色正常用綠色、輕度用黃色、中重度用紅色前端判斷resultLevel后渲染對(duì)應(yīng)顏色視覺(jué)上更直觀4.4 留言板與咨詢師回復(fù)的會(huì)話模型留言板的實(shí)現(xiàn)有一個(gè)容易忽略的點(diǎn)——它實(shí)際上是“一對(duì)一會(huì)話”而非“公開(kāi)帖”。學(xué)生的咨詢內(nèi)容屬于隱私不能像論壇一樣公開(kāi)所有人可見(jiàn)。所以我設(shè)計(jì)的是學(xué)生可以發(fā)起一個(gè)咨詢?cè)掝}標(biāo)題內(nèi)容咨詢師登錄后只能看到分配給自己的未回復(fù)話題?;貜?fù)完成后學(xué)生端收到狀態(tài)更新可以繼續(xù)追問(wèn)。這就涉及數(shù)據(jù)庫(kù)表設(shè)計(jì)feedback_topic留言主題表 - id, student_id, title, content, status, create_time feedback_reply回復(fù)表 - id, topic_id, consultant_id, content, create_time默認(rèn)情況下feedback_topic不直接關(guān)聯(lián)咨詢師而是在第一次回復(fù)時(shí)才綁定。學(xué)生發(fā)起話題后管理員或系統(tǒng)自動(dòng)分配給當(dāng)前空閑的咨詢師咨詢師回復(fù)后該話題即與該咨詢師綁定后續(xù)追問(wèn)都由同一個(gè)人回復(fù)。這個(gè)邏輯既保護(hù)隱私又避免了“多個(gè)咨詢師同時(shí)回復(fù)一個(gè)學(xué)生”的混亂。4.5 咨詢師排班功能的設(shè)計(jì)思路排班功能要做成“周模板臨時(shí)調(diào)整”的雙層結(jié)構(gòu)這是我從實(shí)際運(yùn)營(yíng)場(chǎng)景里總結(jié)出來(lái)的。咨詢師每周的可用時(shí)間往往是有規(guī)律的比如“周一三五下午2點(diǎn)到5點(diǎn)有空”如果讓咨詢師每天手動(dòng)添加排班操作負(fù)擔(dān)太重。所以數(shù)據(jù)庫(kù)里加一張schedule_template表記錄咨詢師一周內(nèi)的固定排班規(guī)則然后再有一張schedule_item表記錄具體某一天的可預(yù)約時(shí)段。咨詢師可以在周模板基礎(chǔ)上做微調(diào)比如某周周三臨時(shí)有事刪除當(dāng)天時(shí)段。前端交互上咨詢師端使用一個(gè)“周視圖”日歷頁(yè)面選了日期可以一鍵“復(fù)制上周排班”也可以手動(dòng)新增/刪除某一天的時(shí)段操作體驗(yàn)自然。5. 項(xiàng)目管理與部署落地經(jīng)驗(yàn)5.1 開(kāi)發(fā)順序與里程碑安排給所有做畢設(shè)的同學(xué)一個(gè)時(shí)間管理建議這是我自己帶項(xiàng)目時(shí)反復(fù)強(qiáng)調(diào)的。整個(gè)項(xiàng)目建議按下面四個(gè)里程碑推進(jìn)第一階段需求梳理與設(shè)計(jì)約1周。寫(xiě)需求文檔畫(huà)用例圖、ER圖、原型圖。這個(gè)階段不寫(xiě)代碼但要確定所有表結(jié)構(gòu)和接口清單。表結(jié)構(gòu)定好了后面開(kāi)發(fā)才不會(huì)反復(fù)改數(shù)據(jù)庫(kù)。第二階段核心業(yè)務(wù)閉環(huán)約2周。先做后端從注冊(cè)登錄開(kāi)始把用戶管理、咨詢師管理、預(yù)約管理、留言板這些核心接口全部跑通。前端同步做基礎(chǔ)的頁(yè)面框架和API對(duì)接。先跑通“學(xué)生注冊(cè)—登錄—查看咨詢師—預(yù)約—咨詢師確認(rèn)”這條主鏈路其他功能后續(xù)補(bǔ)。第三階段功能完善約2周。做評(píng)測(cè)模塊、文章管理、數(shù)據(jù)統(tǒng)計(jì)、輪播圖、公告等周邊功能。這里要特別提醒每個(gè)功能做完立即自測(cè)不要攢到最后統(tǒng)一測(cè)試否則出問(wèn)題根本定位不到是哪一段代碼改壞了。第四階段測(cè)試與打磨約1周。完整的全流程測(cè)試、邊界情況測(cè)試重復(fù)預(yù)約、密碼錯(cuò)誤、Token過(guò)期、界面細(xì)節(jié)調(diào)整、Bug修復(fù)。最后留兩三天寫(xiě)答辯PPT和準(zhǔn)備問(wèn)答題。5.2 SpringBoot項(xiàng)目打包與部署項(xiàng)目開(kāi)發(fā)完成后要用Maven打成Jar包部署。這里我把關(guān)鍵流程和常見(jiàn)問(wèn)題寫(xiě)一起mvn clean package -DskipTests打包成功后在target目錄下生成xxx.jar文件直接扔到服務(wù)器上java -jar xxx.jar下面是幾個(gè)我踩過(guò)的坑如果打包報(bào)錯(cuò)“You arent using a compiler supported by lombok”說(shuō)明Lombok版本和JDK版本不匹配檢查pom.xml里L(fēng)ombok的版本2.7.x的SpringBoot配套Lombok 1.18.x版本一般沒(méi)問(wèn)題如果有靜態(tài)資源上傳的頭像不要直接存在項(xiàng)目目錄里因?yàn)镴ar包重新部署會(huì)覆蓋文件。我在配置里指定了一個(gè)外部路徑file.D:/upload/用于存儲(chǔ)上傳文件生產(chǎn)部署時(shí)換成Linux服務(wù)器路徑JDK 1.8項(xiàng)目部署到Docker很多教程讓你用openjdk:8-jdk-alpine作為基礎(chǔ)鏡像但如果你用的SpringBoot版本較新可能需要openjdk:8-jre-alpine并注意時(shí)區(qū)配置。最簡(jiǎn)單的Dockerfile示例FROM openjdk:8-jdk-alpine VOLUME /tmp ADD target/campus-psychology.jar app.jar ENTRYPOINT [java,-Djava.security.egdfile:/dev/./urandom,-jar,/app.jar]構(gòu)建鏡像并啟動(dòng)docker build -t campus-psychology . docker run -d -p 8080:8080 --name psychology campus-psychology5.3 單元測(cè)試怎么寫(xiě)得能讓答辯加分SpringBoot單元測(cè)試在畢業(yè)設(shè)計(jì)里容易被忽略但如果你寫(xiě)了答辯時(shí)非常加分。我的建議是不要追求覆蓋率而是重點(diǎn)覆蓋核心業(yè)務(wù)邏輯注冊(cè)模塊用戶名重復(fù)、密碼加密驗(yàn)證預(yù)約模塊同一時(shí)段并發(fā)預(yù)約、非本人取消預(yù)約評(píng)測(cè)模塊正向計(jì)分與反向計(jì)分題目的計(jì)算邏輯舉例預(yù)約并發(fā)測(cè)試可以用一個(gè)簡(jiǎn)單的多線程測(cè)試類SpringBootTest public class AppointmentServiceTest { Autowired private AppointmentService appointmentService; Test public void testConcurrentBooking() throws InterruptedException { int threadCount 10; CountDownLatch latch new CountDownLatch(threadCount); final int[] successCount {0}; for (int i 0; i threadCount; i) { new Thread(() - { try { appointmentService.bookAppointment(1L, 1L); synchronized (successCount) { successCount[0]; } } catch (BusinessException e) { // 預(yù)約失敗的線程信息 } finally { latch.countDown(); } }).start(); } latch.await(); // 斷言同一個(gè)時(shí)段只有一個(gè)預(yù)約成功 Assertions.assertEquals(1, successCount[0]); } }這段代碼即使不完全懂多線程的同學(xué)也能照著寫(xiě)效果卻非常直觀——老師看到你考慮到了并發(fā)場(chǎng)景這個(gè)項(xiàng)目檔次就不一樣了。6. 常見(jiàn)問(wèn)題與排查技巧實(shí)錄6.1 數(shù)據(jù)庫(kù)連接總是失敗這是排查記錄里出現(xiàn)頻率最高的問(wèn)題。先檢查application.yml里的配置然后手工用數(shù)據(jù)庫(kù)客戶端工具Navicat或DataGrip試連一下。如果客戶端能連上但項(xiàng)目連不上重點(diǎn)檢查pom.xml里數(shù)據(jù)庫(kù)驅(qū)動(dòng)的依賴范圍是不是誤加了scoperuntime/scope之外的限制。另一個(gè)隱蔽問(wèn)題是時(shí)區(qū)serverTimezoneAsia/Shanghai不配的話MySQL 8.x版本連接時(shí)會(huì)報(bào)一個(gè)時(shí)區(qū)警告提示配置讓程序更安全。加上一句話就解決。6.2 前端聯(lián)調(diào)時(shí)跨域報(bào)錯(cuò)SpringBoot后端的CORS跨域配置最簡(jiǎn)單的方案是寫(xiě)一個(gè)WebMvcConfigurer的配置類Configuration public class CorsConfig implements WebMvcConfigurer { Override public void addCorsMappings(CorsRegistry registry) { registry.addMapping(/**) .allowedOriginPatterns(*) .allowedMethods(GET, POST, PUT, DELETE, OPTIONS) .allowedHeaders(*) .allowCredentials(true) .maxAge(3600); } }前后端分離開(kāi)發(fā)時(shí)這個(gè)配置幾乎是必寫(xiě)的有些同學(xué)忘了寫(xiě)前端一直報(bào)跨域錯(cuò)誤排查半天發(fā)現(xiàn)是少了這段代碼。6.3 數(shù)據(jù)統(tǒng)計(jì)頁(yè)面加載慢管理員端的數(shù)據(jù)統(tǒng)計(jì)頁(yè)要展示預(yù)約數(shù)量、用戶數(shù)量、評(píng)測(cè)完成數(shù)量等聚合數(shù)據(jù)。笨辦法是每個(gè)指標(biāo)實(shí)時(shí)查一次數(shù)據(jù)庫(kù)用戶量大了以后頁(yè)面可能要等好幾秒。優(yōu)化的思路是用Scheduled寫(xiě)一個(gè)定時(shí)任務(wù)每10分鐘統(tǒng)計(jì)一次核心指標(biāo)存入statistics_cache表頁(yè)面加載時(shí)直接讀緩存表數(shù)據(jù)不需要實(shí)時(shí)到分鐘級(jí)管理員看的是趨勢(shì)這個(gè)優(yōu)化我強(qiáng)烈建議做代碼量不大但答辯時(shí)能講出“數(shù)據(jù)統(tǒng)計(jì)性能優(yōu)化”這個(gè)點(diǎn)。6.4 SpringBoot啟動(dòng)報(bào)OutOfMemoryError開(kāi)發(fā)階段遇到過(guò)java.lang.OutOfMemoryError: insufficient memory這種問(wèn)題。多數(shù)情況是IDEA給JVM分配的內(nèi)存不夠或者項(xiàng)目里加載了過(guò)多的依賴導(dǎo)致元空間溢出。解決方式Help - Change Memory Settings調(diào)整IDEA最大堆內(nèi)存建議設(shè)為1024MB以上在Run Configuration的VM options里加上-Xms256m -Xmx512m如果重啟后還是報(bào)錯(cuò)檢查是否有循環(huán)依賴。SpringBoot 2.6版本以上默認(rèn)禁止循環(huán)依賴會(huì)直接啟動(dòng)失敗并給出明確的提示信息按照提示重構(gòu)代碼即可。7. 答辯現(xiàn)場(chǎng)最容易被追問(wèn)的十個(gè)問(wèn)題這部分是保命內(nèi)容我建議你把下面的問(wèn)題逐一準(zhǔn)備好答案不要等到答辯現(xiàn)場(chǎng)臨場(chǎng)發(fā)揮。問(wèn)題1為什么選擇SpringBoot而不是Spring回答要點(diǎn)SpringBoot是Spring的增強(qiáng)通過(guò)自動(dòng)配置和起步依賴減少了繁瑣的配置內(nèi)嵌Tomcat容器項(xiàng)目可以獨(dú)立運(yùn)行提供了生產(chǎn)級(jí)特性健康檢查、外部化配置本質(zhì)還是基于Spring生態(tài)。我的項(xiàng)目利用SpringBoot快速搭建RESTful API配合Spring MVC處理請(qǐng)求路由。問(wèn)題2JWT和Session有什么區(qū)別為什么選JWT回答要點(diǎn)Session狀態(tài)保存在服務(wù)器內(nèi)存需要依賴同一臺(tái)服務(wù)器粘性會(huì)話在集群環(huán)境下要引入Session共享方案。JWT把狀態(tài)信息編碼在Token中服務(wù)器不需要存狀態(tài)天然適合前后端分離和橫向擴(kuò)展。缺點(diǎn)是無(wú)法主動(dòng)讓Token失效到期前即使注銷登錄Token依然可用所以需要設(shè)置較短的有效期。問(wèn)題3預(yù)約功能的并發(fā)問(wèn)題是怎么解決的回答要點(diǎn)用數(shù)據(jù)庫(kù)樂(lè)觀鎖方式。UPDATE appointment SET status1 WHERE id? AND status0影響行數(shù)為0說(shuō)明已被搶約。數(shù)據(jù)庫(kù)的行級(jí)鎖保證了同一時(shí)間只有一個(gè)事務(wù)能成功更新。問(wèn)題4如果系統(tǒng)部署到線上你擔(dān)心哪些安全隱患回答要點(diǎn)可以提到SQL注入風(fēng)險(xiǎn)我用了MyBatis的預(yù)編譯機(jī)制規(guī)避、XSS跨站腳本攻擊前端對(duì)輸入內(nèi)容做了標(biāo)簽過(guò)濾、密碼安全BCrypt加密存儲(chǔ)、用戶敏感數(shù)據(jù)隔離訪問(wèn)。問(wèn)題5你的項(xiàng)目的亮點(diǎn)是什么回答要點(diǎn)不要泛泛說(shuō)“功能完整”要挑一個(gè)具體場(chǎng)景講透。比如“我在評(píng)測(cè)模塊中設(shè)計(jì)了反向計(jì)分規(guī)則不同模板可配置預(yù)約模塊通過(guò)條件更新解決了并發(fā)沖突問(wèn)題評(píng)測(cè)結(jié)果與預(yù)約推薦關(guān)聯(lián)形成業(yè)務(wù)閉環(huán)”。問(wèn)題6項(xiàng)目的數(shù)據(jù)量大了之后性能瓶頸可能出現(xiàn)在哪里回答要點(diǎn)查詢量最大的接口是咨詢師列表和預(yù)約記錄分頁(yè)。解決思路給常用查詢字段加索引用PageHelper分頁(yè)插件避免全表查詢熱門數(shù)據(jù)可以做緩存。問(wèn)題7為什么評(píng)測(cè)模板要單獨(dú)建表回答要點(diǎn)模板和題目分離題目變化不影響歷史記錄管理員可以通過(guò)后臺(tái)維護(hù)模板不需要改代碼為以后新增評(píng)測(cè)量表做了擴(kuò)展。問(wèn)題8異常和統(tǒng)一返回格式是怎么處理的回答要點(diǎn)項(xiàng)目用統(tǒng)一Result對(duì)象包裝返回結(jié)果code、message、data后端用RestControllerAdvice全局異常處理器捕獲業(yè)務(wù)異常和系統(tǒng)異常轉(zhuǎn)換成統(tǒng)一的JSON結(jié)構(gòu)。前端根據(jù)code值統(tǒng)一處理提示和跳轉(zhuǎn)。問(wèn)題9如何保證不同角色看到的菜單和功能不一樣回答要點(diǎn)前端根據(jù)登錄接口返回的role字段動(dòng)態(tài)生成菜單后端接口通過(guò)自定義注解攔截器校驗(yàn)角色雙重保障。問(wèn)題10部署遇到的最大挑戰(zhàn)是什么回答要點(diǎn)這個(gè)要結(jié)合自己的實(shí)際經(jīng)歷。比如你遇到了Docker容器中的時(shí)區(qū)問(wèn)題、上傳文件路徑問(wèn)題、數(shù)據(jù)庫(kù)編碼問(wèn)題都可以講。重點(diǎn)不是講問(wèn)題有多難而是講你是怎么一步步排查出來(lái)的這比什么都加分。我在實(shí)際陪跑畢業(yè)設(shè)計(jì)的過(guò)程中見(jiàn)過(guò)太多同學(xué)把精力花在堆新技術(shù)上反而忽略了業(yè)務(wù)閉環(huán)和基礎(chǔ)代碼質(zhì)量。這個(gè)校園網(wǎng)絡(luò)心理支持平臺(tái)如果用SpringBoot老老實(shí)實(shí)做把預(yù)約流程的并發(fā)邏輯、評(píng)測(cè)模塊的計(jì)算邏輯、角色權(quán)限的隔離設(shè)計(jì)講清楚答辯拿優(yōu)秀是完全有把握的。希望這篇拆解能幫你在開(kāi)始寫(xiě)代碼之前先把整個(gè)項(xiàng)目的骨架和關(guān)鍵雷區(qū)都摸透。
返回列表
PREV
查看更多資訊
NEXT
返回資訊列表
久久久久久中文| 日日夜夜噜| 涩涩久久精品| 国产又黄又粗的视频| 日本三级中国三级99人妇网站| 97免费视频在线观看视频| 国产精品久久久吖| 久久av网| a男人的天堂久久一级A毛片| 116美女午夜| 97亚洲精品超碰| 国产女人成人精品视频| 国产夫妻性生活视频| 91三级理论片播放器| 精品一区二区三区蜜桃臀www| 一本色道综合久久欧美| 久久AV无码1区2区3区| 9999久久久| 操操碰| 青青草五月份天| 激情五月天色色网| 91白虎| 91GD.COM| 97日韩超碰超碰中文字幕| 五月丁香影院| 日韩一级欧美一级国产一级台湾| 加勒比五月天| 久9视频| 欧美亚洲首页| 97亚洲国产影视| 91超碰在线| 亚洲精品久久久久久久久豆丁网| 成人免费视瓶| 超碰98综合网| 婬女免费一二三区A片| 久久久极品| 久久这里都是精品| 女人爽到高潮潮喷18禁网站| 欧美亚洲系列| 熟女中出视频| 999岛国大片| 9久9久| AV大香蕉| 乱伦一二三区| 久久精品一区二区三区蜜桃臀| 人妻乱仑一区二区三区| 男人的天堂免费| 蜜桃视频一区二区三区在线观看| 91艹B视频| 蜜臀va69| 密臀在线免费观看| 中文字幕一区日韩精| 欧美亚洲手机在线| 久久成年精品| 欧美精品1区2区3区| 九九九久久久W精品| 欧美麻豆成人同性GⅤ在线| 色婷婷A V一二三四区麻豆综合| 免费观看啪视频| 一本色道熟妇| 亚洲国产蜜臀系列在线观看| 日欧操屄视频| 思思热国产高清| 久久、1234| 东北丰满熟女国产一区 | 鸥美插入视频| 免费A V在线播放| 香蕉精品二区二区| 伊人991| 亚洲操逼无码| 国产精品日日摸夜夜添骚逼| 四虎在线免费视频| 玖玖人人爱| 欧美亚洲一级在线观看| 久久久久亚洲| 国产中午字一暮区| Av色五月| 亚洲av乱伦色图网站| 久久 精品| 是还免费视频1727我| 九九综合| 色呦呦呦在线观看视频| 女同女同恋久久级三级| 色综合91好| 一区二区三区无卡视频在线观看| 婷婷五月综合在线| 久久透逼视频| 九久9精品| 日日噜噜夜夜久久亚洲一区二区 | 国产乱码久久| 伦激情人妻另类人妻| 国产成人精品一区| 97超碰免费人人性爱| 啪啪91| 国产中文大片资源中文字幕| 激情五月综合开心五月| 97视频一区| 国产青视频| 六九九九| 激情久久av一区av二区av| 成人午夜高潮av猛片| 欧美激情亚洲| 欧美在线视频观看一二三四区高清| 五月天综合在线| 色欲无码人妻日韩欧美精品| 国产精品熟女一区二区三区| 熟妇人妻一区二区三在线| 婷婷中文字幕| 人人爱操| 综合久久欧美| 强奸乱伦资源| 国产黄色av大片网站| 人人做天天爱| 色视频蜜乳| 一区二区三区国产在线播放 | 久久 国产 无码| 少妇高潮九九九九| 欧洲站一级二级三级h| 成人热久久精品| 蜜臀国产AV中文字幕| 人人摸人人添人人操| 插入逼91| 91精品人妻偷情| 欧美熟妇精品黑人巨大91| 密臀在线视频| 91白嫩| 欧美骚少妇| 传媒免费一区二区三区| 欧美 日韩 婷婷 五月| 天天夜夜久久| 中日韩久久人妻一区二区| 可以免费观看的AV| 婷婷五月天成人网| 久久久爆乳翘臀一线天伦理视频| 精品国产一区二区三区av在线资源| 高清国产av无码| 成人免费在线网站| 久久婷婷色| 国产情侣自拍在线播放| 精品性爱一二三区| 中字乱伦AV| 日韩免费性爱视频在线观看| 91色久| 欧美丰满熟妇XXXX性ppX人交| 99re公开精品免费视频| 亚洲国产一区二区入口| 亚洲啪啪视频一区二区| 综合操逼| 天天躁日日躁XXXXYY| 亚洲第一成人影院色播| 婷婷综合五月天| 久久香蕉影院| 欧美 中文字幕 一区| 欧美黑人猛交春色影视大全| 日日夜夜青青草母狗| 自拍丝袜美腿人妻| 超碰98综合网| 日本2020一区二区| 亚洲精品九九九| 精品视频一区二区| 超碰色男人操熟女| 日本在线播放不卡一区| 久久99网站| 黄污污污污| www.狠狠干.coom| 久草资源在线视频官方总站日韩丝袜美腿| 性爱AV天堂| 在线电影亚洲色图| 上特色A在线| 精品国产三级av韩国在线| 亚洲色图尤物视频| 日本高清一区二区在线| 亚洲 日韩 欧美 国产综合体| 天色综合网| 蜜桃一区二区三区| 亚洲成成熟女人综合一区二区| 少妇淫妇久久久久久久| 大香蕉免费3| 日韩A优精品在线观看| 婷婷久久网| 日本不卡三级网在线播放| 狠狠亚洲| 亚洲97综| 天天精品| 高树玛利亚无码流出| 熟妇人妻一区二区三在线| 精品制服美女中文一区二区三区| 天天干人人乐| 另类 日韩 熟女| 曰韩精品九九无码| 在线小视频| 午夜精品久久一区二区| 九九性爱网| 亚洲s在线观看| 操淫穴亚洲五月丁香| 亚洲激情在线| 午夜电影在线观看无码专区| 九九九九88| WWW美腿丝袜香蕉中文| 久久精品熟妇丰满人妻99| 九月激情婷婷| 天天综合香 ld视频| 国产人人干| 性爱综合一区二区| 精品久久久无码| 日韩青久久| 九九视频黄色片| 日本天天色| 欧美精品第四五页中文字幕在线观看| 91久久国产精品| 欧美91视频| 亚洲另类综合欧美| 玖玖久久久| 伊人激情五月天一区二区| 后X久久| 五月天人妻综合| 国产狂喷潮在线精品| 91丨九色丨大屁股| 久草毛片| 91操人视频| 男人精品天堂一区| 少妇无码av专区线| 91美女视频在线| 97色碰| 在线另类| 91久久国产精品| 家庭乱伦网站国产| 日韩色女精品| 亚洲 自拍偷拍 欧美| 国产传媒日本欧美专区| 大学生美女口爆| 婷婷午夜| 97中文热色| 99热在线观看| 99日免费视频中文字幕| 日韩乱伦影音先锋| 日日骚精品视频| 北约熟女超碰| 日日黄色三级网站| 久久青青草原免费视频| 久久神马影院| 91影库| 97在线青| 国产小黄片在线免费观看 | 91 丝袜在线观看| 自拍偷拍 日韩无码| 久久精品99久久久久久| 欧美亚洲另类在线蜜桃| 欧美黑人168页欧美黑人167| 人妻精品视频一区二区| 国产一线二线三线av| 九九热九九| 99热精品在线观看| 欧美少妇熟女| 最新无码国产| 免费人人搞97| 天天看天天在线精品| 国产精品不卡一区二区三区| 综合色色网| 日韩欧美~中文字| 亚洲国产午夜真人一级片中文字幕精品黄网站 | 日韩中文字幕宗合在线| 91精品大奶人妻| 超碰色大香蕉| 久艹伊人精品综合在线| 欧美激情性久久久久久| 91美女視頻| 岛园激情| 国产路线专区| 91成人国产综合久久精品蜜月| 色综合久久av| 亚洲大色鬼| 九九久久精品| 26uuu久久| 老女人碰碰在线碰碰视频| av在线一区二区三区| 人妻少妇无码| 日韩在线女优天天干| 国产日韩精品suv| 使劲用力艹少妇视频一区二区| 天天色综亚洲91污| 久久久久97| 日本久久综合| 九九热精品| 精品国产av一区二区三区四区入口| 日韩精品9999| 在线看片国产精品每日更新| 欧美综合第一页| 1区2区3区在线视频| 国产高清精品一区二区三区毛片| 9九九国产| 久久久久免费少妇| 夜夜天天噜狠狠爱2021| 国产精选视频| 91爰爱欧美| 97天堂| 两女互慰AV高潮喷水在线观看| 中文字幕欧美日本乱码一线二线 | 老司机午夜精品视频| 国产视频大全| 欧美黄页在线| 国产免费久久久久| 国产精品探花色| 日日日日做夜夜夜夜做无码97| 超碰人妻久久人妻中文97| 九九九九AV| 久操操| 高清在线偷拍自拍视频| 日韩福利综合一区| 国产精品自拍视频| 日本 情色 1区2区3区| 久九九九九九九热| 九九综合久久| 久久精品毛片免费不卡| 国产福利合集| 久久久久久免费电影| 九九热免费在线国产视频伊人五月| 国产三级日产三级韩国三级| 亚州免费啪啪视频| 欧美v日韩v亚洲v最新在线| 后入精品| 97精选久久| 人人爽夜夜操| 七久久久| 欧美日综合| 人妻在线视频| 人人操人人摸人人看人人插| 91综合在线| 国产精品白丝www| 啊啊啊好大好湿| 久久本道| 熟妇在线视频一区二区| 中文字幕jul-617人妻熟女| 懂色av色欲av蜜臀av| av黄图片在线观看| 97干在线视频| 老熟乱一区二区三区四区| 午夜后入| 亚州中文字幕超碰97| 婷婷亚洲中文字幕在线| 色婷婷六月| 爽 好舒服 无码刺激久久| 久久综合国产精品国产| 一本色道久久天天射天天干| 一本色道久久天天射天天干| 国内毛片热久久思思热| 无码免费在线观看黄色片| 人人么人人操| 成人免费性爱视视| 国产强奸无码乱伦| 操啊国产| 国产高清26uuu| 金莲网址| 92午夜免费福利视频| 国产熟女免费观看久久| 人妻中文字幕日韩电影| 欧美激情中文字幕另类小说| 国产精品欧美日韩久久| 亚洲色欲天天人妻无码系列专区| av天堂手机版追回 | 欧美成人色| 啊啊啊不要啊啊受不了了视频在线 | 大香蕉乱级| 免费av高清无码| 日韩福利综合一区| 亚洲国产一区二区入口| 手机看片1025| 色色色热| 人妻插插人妻人| 青青久操| 九九九九九九成人| 学生妹天天看| 999国产精品999久久久久久| 密臀视频三区免费网站| 亚洲中文字幕精品一区| 国产美女裸体秘 永久无遮挡| 久久久久人妻二区精品叶可怜| 家庭乱伦国产| 蜜乳AV一区二区三区四| 67914亚洲精品| 亚洲人精品久久久喷水| 综合网欧| 久久熟女嫩草成人片免费| 男人的天堂Va| 激情小说图片亚洲首页| 你想操日本小逼吗| 97电影院超碰| 欧美熟妇操操视频| 国产av色网| 久久综合97| 综合伊人网12色| 制度丝袜99| 欧美黄色片AAAAA| sss视频华人在线| 60秒免费视频| 国产精品乱码久久| 精品视频免费在线一区| 亚洲天堂区| 性生活久久久久久久久久| 福利大香蕉| 欧美日韩在线小说 | 久射吧| 精品人妻一区二区三区四区不卡在| 激情黄色片在线观看| 国产精品自在线发布| 激情六月天| 欧洲乱码视频| 欧成人在线| 大香蕉免费3| 啪啪综合网| 东北女人| 国产捆绑一区| 免费一级视频特黄色大片| 中文字幕一区二区三区人妻少妇在线| 久久亚洲欧美一区二区三区-亚洲国产精品第一区二区 | 日本道日本道中文字幕日本道最新日本道在线观看 | 最新制服中文第一页| 中文字幕日韩专区精品系列 | 97久久国产精品| 91社区伊人| 日本在线播放不卡一区| 色综合加勒比四四季| 91激情国产| 思思视频免费看网站| 成年女人18级毛片毛片免费观看| juliaann丝袜大战黑鬼| 欧美性暴力| 国产小黄片在线免费观看| 宅男91视频在线播放| 日本2020一区二区| 国产精品久久久无码AV网站| 欧美九九99久久精品| 超碰 欧美| 亚洲欧美综合区自拍另类| 玖玖综合.com| 蜜桃臀AV在线| 99久久久er直播网址| 人妻插插人妻人| 久久精品无码专区| 婬女免费一二三区A片| 久久伊人青青草| 精品九九九九九| 婷婷丁香久久| 91国产丝袜白虎| 日韩欧美中文日韩欧美色| 动漫片子网站3黄| 国产97免费视频| 岛国片在线观看视频亚洲| 精品美女少妇一区二区三区| 国产欧美日本亚洲精品 | 九九九九九九九九九九九免费国产| 久久久青草青青国产亚洲免观精品高清完整版_97久久综合区小说区图片区,国精品 | 吉川爱美亚洲二区在线 | 国产一级作爱毛片| 中文字幕伊人| 艹比视频国产精品| 国产麻豆一区二三区| 国产精品久久久久久久AV大片| 成人AV素股で擦久久| 97狠狠| 密桃99999| 中文字幕激情小说| 偷拍 精品另类 凸凹了四区| 97chaopengongkai| 国产精品麻豆成人AV艾秋| 欧美性暴力猛交| 99久久婷婷国产综合精品草原| 日韩精品人妻中文字有码在线| www.久久制服糖| 草久久久| 中文字幕日韩人妻视频一区二区三区| 色香伊人| 欧美日韩国产三级黄色| 超碰这里只有精品| 亚洲国产精品无码AV在线| 热的中文 热的有码 热的国产| 99国产精品视频尤物| 日本最新免费韩国1区2区视频播放| 一区二区精品日韩欧美在线观看 | 欧洲小说色图视频另类| 久草网站免费在线观看| 日韩精彩视频| 超碰久热| 丁香婷婷五月| 新视频sss国产| 美女操逼福利视频| 精品人妻久久久久一区二区三区| 亚洲天堂男人在线| 97超碰磁| 亚洲AV在线资源| 新版天堂中文资源8在线| 国内毛片四区| 久久99国产综合精品女同| 超碰在线人妻中文字幕| 岛国不卡超碰护士AV在线播放| ?亚洲伊人伊成久久人综合网| 99AV| 久久精品老司| 狠狠色婷婷777| 国产精品久久久亚洲第一牛牛_在线观看| 口爆综合网| 一区二区三区在线美女| 亚洲情色无码一区二区三区| 国产精品情侣啪啪| 浪人综合网| 深夜视频| 熟妇高潮精品一区二区三区下载| www.色五月| 黄色免费网| 国产自啪精品视频网站黑丝| 天天日少妇逼AV| 天天爽夜夜爽夜夜爽精| 青草一区二区| 久草热制服丝袜在线观看 | 欧美一区二区三区不卡高清视频 | 久久夜精品一区二区三区| 99久久综合| 免费观看网黄| 青青草在线视频播放器| 亚州中文字幕超碰97| 亚洲高清无码免费观看视频| 国产在线观看一区二区三区| 91亚洲丝袜熟女| 中文字幕视频2区| 熟妇操花| 国产精品视频自拍在线| 一区二区视频在看| 精人妻无码一区二区三区伊人直播| 亚洲丝袜色| 国产高清MV操逼视频| 熟妇视频一区二区三区在线| 亚洲风情综合网| 超碰 av 女人天堂| 久久久蜜桃一区二区三区| 69少妇一区二区| 久久老女人| 婷婷10月天青娱乐| 九9热伊人| 有码人妻系列| 无码又爽又硬又激情免费视频| 四虎影视永久在线免费| 91狠狠| 日韩97超碰| 日韩欧美中文字| 国产婷婷一区| 热久久精品| 一区二区三区在线资源| 久久性爱城| 草草影院日本第一页| 日本中文熟女视频| 亚洲天堂男人的天堂| 超碰97.com| 九一综合网| 青青草原综合久久大伊人精品| 337p大胆噜噜噜噜噜91Av| 亚洲一区二区三区AV无码| A级片日韩欧美国产欧美视频精选观看 | 级做a爱无码性色永久免费| 欧美激情精品| 9I1性色影院| 亚洲97网站| 人妻超碰青青草98| 色拍偷亚洲| 亚洲男人天堂2013| 亚洲污污网站| AV中文字幕剧情1区2区3| 91N综合在线| 330Dv国产女人终合视频极品人与兽 | 91xingse| 啊啊啊 在线观看| 另类图片五月| 日韩人妻操B| 黄页大片在线观看| 久久久久久性爱视频| 啊啊啊啊啊在线观看网址 | 国产精品另类一区大香蕉| 91美女国产在线| 亚洲老司机123专区| 欧美玖玖爱免费玖玖| 久久久久元码视频| 久久人妻无码毛片A片麻豆| 桃色人妻在线视频| 国产精品电| 91熟女视频网| 亚洲丨在线| 欧美日韩久久精品爱爱| 欧美97在线欧| 熟妇综合一区二区三区| 色欲三区| 日韩探花精品在线视频| 干婷婷综合网| 五月丁香色综合| 国模限制级电影| 欧美在线官网| 超碰98综合网| 日日摸日日弄日日拍| 97资源站日韩| 五月丁香黄色网| 强奸国产精品视频| 8050午夜少妇无码| 色久综合| 九九热五区| 人人爽人人精品乱人伦AV| 国产97在线播放| 性一级黄色录像片网站导航 | 久久亚洲中文字幕视频| 欧美aa一级片| 99九九久久| 又黄又粗又硬又长又大| 久操视频免费观看| 嗯嗯啊啊啊好爽| 亚洲影院365| 青娱乐国产精品| AV大香蕉| 精品九九九九九九九| 久久久91福利姬| 凹凸精品熟女在线观看| 先锋色眉乱伦资源| 97超碰美国| 欧美熟女丝袜| 亚洲乱妇p22| 天天干天天燥| 婷婷亚洲综合| 伊人久久大香线综合无码| 超碰9 7女人| 熟妇乱伦一区二区| 久久肏大逼| 五月丁香啪啪| 亚洲污污网站| 人人操人人色网| 国产真实野战在线视频| 极品白嫩福利在线| 91热色| 被窝影院午夜看片无码| 日本中文字幕在线电影| 久久久婷婷| 台湾佬大香蕉| 国产极品精品美女视频| 人人喜人人妻| 中文字幕一二三av| 中文字幕五月婷婷免费| 五月婷婷激情综合| 东北女人操比视频| av黄图片在线观看| 亚洲中文字幕网| 91老熟女老女人国产老太| 国产精品一区二区三区免费视频| 国产精品成人福利在线| 91AV老熟女视频| 婷婷精品久久av影视| 91在线秘 男同| 亚洲不卡AV在线| 精品女同一区| 草草影院最新网址| 久久久999网站| 日产精品久久久一区二区| 大学生口爆吞精| 蜜桃精品一区二区三区ww| 亚洲人妻久久久| 国产极品美女高潮无套在线观看| 欧美综合加勒比在线| 亚洲性天堂| 欧亚性爱视频免费看| 亚州综合色图| a亚洲欧美色欲| 中文字幕黑人大片| 九九九精品美女| 久久久久成人亚洲国产| 亚洲男人的天堂在线看| 亚洲无码超碰免费| 伊人久久亚洲中文字幕| 酒色综合网| 簧片免费看视频| 色哟哟av网址| 國產尤物AV尤物在線觀看| 国产av热热色| 久久久久免费看少妇A片特黄| 欧美中文字幕男人天堂久久精品| 97中文热色| 97福利视频| av影院十区| 国产热RE99久久6国产精品首 | 欧美在线第五页| 综合免费无码中文| 69久久久久久久久久久久久| 欧美精品一区二区少妇免费A片 | 亚洲国产97| 男人的天堂2019AV| 九九久久玖玖| 91久久精品国产| 精品三级在线专区| 日少妇亚洲版| 亚洲日本激情| 婷婷另类小说| 亚洲精品一二区| 国产一区二区久久| 1769一区二区| 欧美久久人体| 天天干天天做| 欧美 亚洲 在线| 热天堂一区二区| 中文字幕黄片在线| baiduhicn.com。| 国产人伦a片信息免费片| 夜夜 中文视频rt| 久久久久成人亚洲国产| 国产丝袜一区二区三区| 日日日日日| 粉嫩av平台| 97精品国产精品免费观看| 美國A片| 亚洲资源吧| 成人五月香网在线| 无码久久国产| 麻豆传媒一区二区在线观看| 抽插无码高清一区| 精品视频一区二区| 欧美精品 - 91爱爱| 青娱乐亚洲自拍| 久久久久久中文| 欧美日韩91| 麻豆久久精品亚洲精品88| 亚洲va综合va国产va中文| 日韩肏逼视频| 91色色综合| 超碰九色| 久久国产逼| 久久久熟女一区| 少妇二级| 国产一进一出视频网站| 国产精品69久久久久久久| 男人的天堂啪啪| 欧美一区二区三区互相| 久久久精品九| 国产青一二三| 亚洲一级特黄大片在线播放91| 情色大香蕉| 伊人成人情色综合| 久久九九视频九九视频| 一区二区视频在看| 白丝少妇一区二区| 久久五月视频| 国产二区三区免费视频| 色香91| 欧美精品人妻视频| 久久一区二区高清免费| 老熟女91视频| 无码操逼天堂| 99超碰色| 成年人性爱日韩| 思思热国产高清| 热热色AV| 99亚洲人人| 丁香五月社区| 国产三级多多影院2022国产AA一级毛片无码| 97日韩超碰超碰中文字幕| 欧美aⅴ99久久黑人专区| 天天日天天插| 极品尤物女神在线观看| 成人羞羞视频国产| 玖玖无码超碰| 人妻爽爽啪视频| 另类小说五月天| a级理论午夜日本| 日韩成人精品| 中文字幕蜜乳av| 夜夜无码| 久久99草| 久久久久国产亚洲一区欧美色图日韩| 精品人妻美妇91job| 综合国产影视三级| 91春色| 麻豆天美在线| 人妻天天爽夜夜爽2| 天天操人人操骚逼网站| 自拍丝袜美腿人妻| 男人的天堂2010| 中文字幕在线观看二区三区| 久久精品日韩| 国产资源中文字幕在线| 男人的天堂va| 91熟女丨老女人| 五十路成人在线视频二区三区| 久草婷婷| 伊人色综合超碰| www.狠狠干.coom | 日本久久999| 中国黑人三级片网站上区| 嗯嗯啊啊操死我| 欧美天天插| 五月激情综合网| 熟女突然公开看18禁影片| 综合免费无码中文| 翔田千里一区二区三区奶水| A级片日韩欧美国产欧美视频精选观看 | 亚洲在线a| 欧美综合色图片| 欧美线天码中字| 免费97视频| 久久夜精品一区二区三区| 精久久久91| 欧美国产成人在线| 日韩 欧美 校园一区| 蜜臀亚洲中文| 91红杏| 人人摸人人干| 欧美色997| 欧美18禁91| 欧美72网页| 亚洲少妇激情视频| 欧美午夜视频| 日韩欧美天天爽爽爽天天爽爽| 欧美视频激情久久久久久| 情色五月天网| 老女人碰碰在线碰碰视频| 亚州春色| 综合网97| 999久久芭蕾| 国产精品日日摸天天碰| 久热热| 中文字幕后石码四区五区| 亚洲成人精品在线一区| 性爱网站一区二区| 国产宅男宅女在线观看| 日日操丁香五月天| 欧美久久伊人| 亚洲1区| 美女诱惑1区2区| 鸥美插入视频| 久久偷偷色综合蜜桃| 99这里只有精品| 少妇熟女一区二区三区| 亚洲中文字幕精品一区| 亚洲色图尤物视频 | 久jiu久神马影院| 欧美色图成人网一区二区| 噜噜噜亚洲精品| 热热色青青草| 少妇一区二区三区| 久久久久久久九九九九九九| 上海一级黄片| 午夜爽爽爽在线观看永久入口姬片| 色色色色综合网| 99热色这里只有精品| 美女啪欧美一区| 国产AV线| 亚洲性网| 午夜福利1区2区3区| 偷看洗澡一二三区美女| 99色悠悠| 久久久久久久久久久久久久久久9| 精品人妻视频一区二区在线播放 | 色激情综合网站| 草草影院日本第一页| 男人的天堂一区三区| 91 在线亚洲| 欧洲精品网| 97精品全部| 一起草欧美| 色999;丁香五月| 久久精品老司| 日韩BBN| 国产91福利小视频在线观看| 午夜精品探花| 中文字幕av久久爽Av| 好吊爽好吊爽在线视频,中文字幕精品一区二区日本,国产良妇出轨视频在线观看, | 麻豆精品久久久久久久| 欧美天堂亚洲电影院一区在线播放| 欧美色图校园春色| 久久精品国产亚洲AV高清演员表| 婷婷精品视频| av情色影音| 粉嫩av一区二区三区天美传媒| 一级婬片120分钟试看| 爱做久久久久久| 中文字幕亚洲欧美在线不卡| 少妇熟女视频一区二区三区| 黑人精品一区二区在线播放| 激情丁香五月| 青草视频人妻在线观看| 午夜美女福利视频| 无码少妇精品一区二区60岁老人| 和协无码影院| 一本色道熟妇| 在线国产一区二区av| 超碰人妻久久人妻中文97| 91色夜| 女人喷水视频在线观看| 欧美综合加勒比在线| 97超碰伊人| 日本Xx性爱| 97 超碰 人人做 人人爱| 久久高潮妇女视频| 黄片aaaaa一区| 东京成人一区| 九九九久久久| 五月婷婷丁香六月| 台湾佬中文娱乐网久久久久久久久久com | 国产高清在线自在拍69| 1769国内精品视频| 男人的天堂在线有码| 一本色道久久综合亚洲二区三区| 青椒国产97在线熟女| 九九九九九九亚洲| 久久久久久久| 久久人人看| 91激情国产| 操逼国产免费| 97爱亚洲综合色| 亚洲乱码精品一区二区| 夜夜爽77777| 美女t无毒不卡不卡| 欧美日韩香蕉| 日影院久久婷婷夜夜网| 国产精品麻豆视频网站| 97色色国产视频| 色吧5亚洲| 啊啊啊啊啊啊啊国| 人人妻人人爱人人玩| 伊人久久婷婷| 久热伊人| 五月丁香色综合| 中国91AV| 思思99热| 欧美91精品国产自产| 国产熟女少妇一区| 亚洲97超碰| 久久五月份| 视频不卡中文字幕| 涩五月婷婷| 天躁夜夜躁2021| 99热欧美| 日韩精品啪啪啪| 97色在线| 97se亚洲综合自| 蜜色网色哟哟| 国产呦精品系列在线观看| 五月黑AⅤ| 视频不卡中文字幕| 欧美亚综合色图| 久久久久免费看少妇A片特黄| 歐美性天天| 色网在线视频观看免费| 亚州色图片在线色| 国产精品自在线发布| av日韩中文字幕| 日韩成人电影AV| 伊香蕉综合久久久久久久噜噜噜| 欧美一级三级| 超碰色综合| 欧美天天拍| 国产多人在线观看视频| 久操大香蕉超碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰 | 日韩免费人妻色情网站| 日韩操啪| 久日91在线| 人妻乱仑一区二区三区| 狠狠色五月亚洲91| 久久久精品国产亚洲伊人| 天天懆天天日| 丰满人妻一区二区中文| 97干在线视频| 91麻豆天美| 97 国产一区| 中文字幕日本久久| 91狠狠综合网| 高跟伊人julia ann| 国产午夜在线观看视频| 欧美综合传媒| AV中文在线可看| 日本阿v天堂在线观看| 成年男人的天堂| 一级黄色性爱A级片| 超碰久超碰久| 久久精品视-一级做a爰片性色毛片16美国-中国女与老外在线精品 | 美欧色综合| 亚殴在线| 国产熟女完整版中字| 人人摸人人干人人拍97| 97草草| 国内外内射高清视频| 欧美天堂亚洲电影院一区在线播放| 99re69综合| 六月婷婷一区二区三区| 久久鲁夜| 色色色色综合网| 精品九九九九九九九九九| 综合久久99| 亚洲一区中文字幕| 好吊妞转入那个网| 日本一区二区电影网站| 99色天堂| 在免费jIzzjIzz在线视频| 蜜臀AV成人精品蜜臀AV久久| 三级精品三级在线观看| 97精品第3页| 国内毛片无码一级毛片| 荡小穴在线观看| 9色国产精品一区粉嫩| 美女黑人91神马| 美国人人操人人操| 国产AV中文| 男人 天堂 日 亚洲| 在线 制服丝袜中出 人妻| 日本999精品视频| 国产成人+综合亚洲+天堂| 男女一进一出视频久久| 中国AV美女| 自拍偷拍亚洲熟女妇人精品| 加勒比久久综合网高清| 日韩AV电影网站| 中文字幕视频二区| 亚洲午夜av| 夜夜嗨一区| 成视频在线观看免费看| 一区二区三区四区久久视1| 日本欧美一区二区三区视频麻豆| 和协无码影院| 国产精品直播在线观看直播| 天天操女人| 色欲Av人妻精品一区二| 综合 青草 伊久久 影院 综合| 一级做受视频免费是看美女| 国产精品对白内射| 亚洲欧美日韩制服另类| 亚洲97p| 欧美色性爱| 性九九九九九九| 操逼网免费无码视频| 99少妇| 国产亚洲人妻综合日韩 久久| 日韩有码专区| 日韩99神马视频播放片在线播放| 国产女人视频三四五区| 香蕉久久精品| 日韩欧美中文日韩欧美色| 大香蕉92| 五月丁香综合激情| 亚洲āv网址在线观看| 大香蕉国产中文自拍| 懂色av色欲av蜜臀av| 久艹视频在线| 国产这里只有精品| 懂色aV一区二区天美传媒| 欧美老妇综合网| 精品一区二区综合熟妇| 黑人粗大V S日韩女优视频| 久热这里| 国产家庭乱伦表演| 久久6热精品99视频| 男人高清无码一区二区| 亚洲资源一区| 天天综和| 中国一区二区亚洲人妻| 精品人妻一区二区三区不卡断| 亚洲第一页欧美| 亚洲国产麻豆一区二区三区| 国产精品久久久亚洲第一牛牛_在线观看 | 亚洲情色在线| 亚洲欧洲国产综合av| 四方色播| 啊灬快c我灬啊灬用力灬啊灬-国产精品性做久久久久久-成人AV | 9.1小视频| 98一区二区精品| 欧美日韩电影成人在线| 久久噜噜噜精品国产亚洲综合| 日韩有码一区三区| 中国乱伦一区二区| 亚洲一二三四区| 日韩精品人妻中文字有码在线 | A片A5445444| 大香蕉日韩欧美| 久久人人爽爽爽人久久久| 黑人无码一区二区| 亚洲欧美日韩免费观看| 国产日产欧产美韩系列麻豆免费| 国产超碰国产97| 强奸乱伦大香蕉网| 免费岛国一级片| 大干人妻| 亚洲涩涩| 麻豆 欧美 日韩| 91在线精品| 黄色操人| 老司机福利青青草| 麻豆色99999| 超碰中文字幕人妻草一区| 97久久超碰| 韩国三级理论在线| 91AV入口| 日躁天天爽爽| 四虎精品永久在线观看| 天天射夜夜| 欧美日韩黄色片一区二区三区四区人与兽做爱 | 91丝袜人妻| 亚洲综合图片在线| 欧美97日韩| 久久超碰久| 丰满人妻av一区二区三区| av爱爱爱| 国产精品国产精品国产| 天天操熟妇| 青青草女人天天干| 嗯嗯啊好大| 一区二区三区四区五区高清无码永久视频| 欧美啪啪女女| 亚洲精品日韩国产欧美| 亚洲 日韩 丝袜 熟女 变态| 国产高清视频无码在线| 加勒比中文av| 夜夜爽夜夜高潮夜夜爽| 久热精品在线| 综合网亚洲1| 国产熟女自拍| 熟妇激情| 动漫av中文| 国产精品久久久久久久久久久久久久久 | 亚洲色棕合| 熟妇激情| 少妇内射视频| 97精品97久久| 激情文学小说一区二区| 国产精品在线一区二区| 欧美少妇色综合| 欧美天堂亚洲电影院一区在线播放| 国产精品天干天干综合网麻豆| 九九黄色网| 96久久精品一二三区色欲| 亚洲精品性爱片| 操逼视频色| 国产性爱在线视频一区二区| 操婢日韩| 香蕉热人人精品| 爱妃国产亚洲视频中文字幕| 久久精品国产亚洲AV先锋| 欧美偷| 久久中文字幕在线观看| 干B网| 激情小说亚洲| 18禁无码永久免费无限制| 国产精品探花色| 亚洲国产一区二区入口| 东北丰满熟女国产一区| 日韩激情啪啪| 久色网| 日韩免费人妻色情网站| 一区中文字幕二区日韩| 久插不卡| 欧美夜夜骑视频| 97超级色碰碰| 97免费在线观看| 日韩免费一级性爱视频| 高潮的A片激情扒开一区| 国产av强奸美女| 午夜精品探花| 天天操夜夜操| 99re9在线| 亚洲综合图片在线| 精品熟妇视频一区二区| 最近二区三区视频大全|