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

ARTICLE DETAIL

資訊詳情

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

校園失物管理系統(tǒng)基于Spring Boot+Vue的全棧實踐與避坑指南

校園失物管理系統(tǒng)基于Spring Boot+Vue的全棧實踐與避坑指南 1. 項目概述與整體設(shè)計思路1.1 這個系統(tǒng)到底解決了什么問題先聊聊我做這個項目時的真實感受。校園失物招領(lǐng)這件事聽起來簡單實際上一旦人多起來就特別混亂。我在學(xué)校時見過線下失物招領(lǐng)處的桌子堆滿水杯、雨傘、校園卡失主找一圈翻不到撿到東西的同學(xué)登記完也不知道東西最后有沒有物歸原主。管理老師的臺賬更是一本厚厚的Excel查詢、統(tǒng)計全靠手工效率低到讓人崩潰。所以當時決定把校園失物管理系統(tǒng)作為畢業(yè)設(shè)計時我給自己定的目標不是交一份作業(yè)而是真正能把失物登記、招領(lǐng)管理、認領(lǐng)審核、消息通知、數(shù)據(jù)統(tǒng)計這些環(huán)節(jié)全部線上化形成一套完整的業(yè)務(wù)閉環(huán)。這個系統(tǒng)最終做出來后覆蓋了三個核心用戶角色普通學(xué)生、管理員比如失物招領(lǐng)處的老師以及系統(tǒng)層面的維護人員。從功能上看它做的事情可以概括為三件第一讓撿到東西的人能在幾分鐘內(nèi)完成失物登記并拍照上傳第二讓丟了東西的人能通過關(guān)鍵詞搜索、分類篩選快速鎖定可能找到自己物品的招領(lǐng)信息第三讓管理員能統(tǒng)一審核每一條認領(lǐng)申請防止錯領(lǐng)、冒領(lǐng)。這些聽起來簡單但真正落地時涉及的表結(jié)構(gòu)設(shè)計、權(quán)限控制、狀態(tài)流轉(zhuǎn)、文件上傳、前后端聯(lián)調(diào)每一個環(huán)節(jié)都值得拆開細講。1.2 技術(shù)選型為什么是Spring Boot Vue現(xiàn)在很多同學(xué)做畢設(shè)一上來就問哪個技術(shù)棧最火我個人的看法是對于校園失物管理系統(tǒng)這種典型的CRUD業(yè)務(wù)系統(tǒng)Spring Boot Vue是目前最穩(wěn)妥、資料最全、面試也能講出東西的組合。下面我從三個角度分析一下為什么是這個組合。第一是隔離性。前端Vue負責頁面渲染和交互后端Spring Boot只提供RESTful接口兩邊通過JSON通信。這意味著開發(fā)時可以并行推進我在做后端的時候前端同學(xué)可以拿Mock數(shù)據(jù)先寫頁面效率翻倍。而且以后就算要換個前端框架后端接口不受任何影響。第二是生態(tài)成熟度。Spring Boot在Java后端領(lǐng)域基本是事實標準內(nèi)置Tomcat、自動配置、開箱即用省掉了一大堆XML配置。Vue在前端框架中以學(xué)習曲線平緩著稱配合Element UI組件庫兩天就能把后臺管理頁面的框架搭建起來。對于畢業(yè)設(shè)計這種周期緊湊的項目來說再也不需要去啃那些陳舊過時的SSH集成文檔了。第三是面試有話說。Spring Boot的自動配置原理、起步依賴機制、Vue的響應(yīng)式數(shù)據(jù)綁定、組件通信、路由守衛(wèi)……這些知識點掰開揉碎都能講很久。我后面在面試時被問到談?wù)勀惝厴I(yè)設(shè)計的技術(shù)難點直接就能把認領(lǐng)審核的狀態(tài)流轉(zhuǎn)、圖片上傳的處理流程拿出來講比背八股文不知道強了多少倍。1.3 功能模塊劃分與權(quán)限設(shè)計整個系統(tǒng)在功能上劃分為兩大端用戶端和管理端。用戶端面向所有在校學(xué)生功能包括用戶注冊登錄、掛失信息發(fā)布、招領(lǐng)信息發(fā)布、搜索與分類篩選、在線認領(lǐng)申請、個人中心管理我發(fā)布的、我認領(lǐng)的。管理端面向管理員功能包括成員管理用戶禁用/啟用、掛失管理、招領(lǐng)管理、認領(lǐng)審核、公告發(fā)布、數(shù)據(jù)統(tǒng)計面板。這里我重點講講權(quán)限設(shè)計。用戶端和管理員雖然登錄入口是一樣的但進入系統(tǒng)后看到的菜單和可操作接口完全不同。我在后端通過攔截器加Token校驗的方式做了兩層控制第一層是登錄校驗所有的 /api/** 接口除了注冊登錄外都要求請求頭攜帶Token否則直接返回401第二層是角色校驗只有管理員Token才能訪問 /admin/** 的接口普通用戶訪問時返回403。前端的配合是在路由配置里加了meta標記{ path: /admin, component: Layout, meta: { requiresAdmin: true }, children: [...] }然后在全局前置守衛(wèi)里校驗用戶信息里的role字段。前后端雙重校驗保證就算有人繞過前端直接調(diào)用接口后端也會攔截住這一點對答辯時的安全性質(zhì)詢尤其關(guān)鍵。2. 數(shù)據(jù)庫表結(jié)構(gòu)設(shè)計與后端核心實現(xiàn)2.1 遵循高內(nèi)聚低耦合的數(shù)據(jù)庫設(shè)計數(shù)據(jù)庫是整個系統(tǒng)的地基。我在設(shè)計時把核心表拆成了六張用戶表user、掛失表lost_item、招領(lǐng)表found_item、認領(lǐng)申請記錄表claim_record外加留言表message和公告表notice。用戶表是基礎(chǔ)字段包含id、用戶名、密碼BCrypt加密存儲、昵稱、學(xué)號/工號、聯(lián)系電話、角色0學(xué)生 1管理員、狀態(tài)0正常 1禁用、創(chuàng)建時間。注意密碼一定不能明文存Spring Security自帶的BCryptPasswordEncoder可以拿來直接用。掛失表和招領(lǐng)表結(jié)構(gòu)類似都包含物品名稱、物品分類、物品描述、丟失/拾取地點、丟失/拾取時間、圖片URL、聯(lián)系QQ或微信、狀態(tài)、發(fā)布人ID、發(fā)布時間。區(qū)別在于業(yè)務(wù)性質(zhì)和狀態(tài)流轉(zhuǎn)不同掛失信息的物品是等待被認領(lǐng)的而招領(lǐng)信息里的物品是等待失主來認領(lǐng)的。這里我反而建議把失物和招領(lǐng)拆成兩張表不要圖省事合并因為后續(xù)擴展場景、統(tǒng)計口徑完全不一樣。認領(lǐng)申請記錄表是關(guān)鍵表。兩個外鍵分別指向失主或者拾主用戶ID、招領(lǐng)/掛失物品ID外加申請說明、申請時間、處理狀態(tài)0待審核 1已通過 2已駁回、審核備注、審核時間。這張表承載了系統(tǒng)最重要的業(yè)務(wù)邏輯建議所有新建表都加上create_time和update_time字段別問為什么做過的都懂。2.2 Spring Boot工程結(jié)構(gòu)要怎么搭才不亂工程結(jié)構(gòu)這塊因為是一個單體項目我建議用經(jīng)典的分層架構(gòu)Controller - Service - Mapper三層。不過在實際寫的時候三層之間最好加一層DTO/VO的轉(zhuǎn)換不要在Controller層直接暴露出數(shù)據(jù)庫實體字段。舉一個很重要的例子我們查詢招領(lǐng)列表時最多返回物品信息加發(fā)布人昵稱但絕對不應(yīng)該把發(fā)布人的密碼字段序列化出去。所以我專門寫了ItemVO類只包含前端需要的字段并在Service層完成從Entity到VO的轉(zhuǎn)換。核心的pom.xml依賴只需要這幾個起步依賴就足夠了spring-boot-starter-web、mybatis-plus-boot-starter、mysql-connector-java、lombok、spring-boot-starter-validation。配一個application.yml的示例server: port: 8080 spring: datasource: driver-class-name: com.mysql.cj.jdbc.Driver url: jdbc:mysql://localhost:3306/campus_lost_found?useUnicodetruecharacterEncodingutf8serverTimezoneAsia/Shanghai username: root password: 123456 servlet: multipart: max-file-size: 10MB max-request-size: 50MB mybatis-plus: mapper-locations: classpath:mapper/*.xml configuration: log-impl: org.apache.ibatis.logging.stdout.StdOutImplMyBatis Plus用起來確實省心BaseMapper已經(jīng)把單表的增刪改查全都封裝好了我們只需要在Service里寫業(yè)務(wù)邏輯。但有一點必須說明MyBatis Plus的駝峰映射默認是開啟的如果你的數(shù)據(jù)庫字段是下劃線風格比如create_time實體類是駝峰風格createTime它幫我們自動轉(zhuǎn)換完全不用額外配置。2.3 核心業(yè)務(wù)邏輯認領(lǐng)審核的狀態(tài)流轉(zhuǎn)認領(lǐng)審核是整個系統(tǒng)業(yè)務(wù)邏輯最復(fù)雜的部分我用一個狀態(tài)機來管理。所謂狀態(tài)機本質(zhì)上就是把業(yè)務(wù)狀態(tài)的變化提煉成一個單向流轉(zhuǎn)圖讓代碼的每一次狀態(tài)變更都有據(jù)可依而不是隨手亂改。拿招領(lǐng)物品被認領(lǐng)這個流程舉例。拾主發(fā)布一條招領(lǐng)信息后物品狀態(tài)是待認領(lǐng)。學(xué)生在詳情頁看到物品點擊認領(lǐng)申請按鈕填寫自己的憑證說明比如校園卡號、物品特征這時系統(tǒng)會生成一條claim_record記錄狀態(tài)是待審核同時物品本身狀態(tài)不變。管理員在后臺看到待審核的申請后點通過claim_record狀態(tài)變成已通過物品狀態(tài)變成待領(lǐng)取隨后失主線下拿到物品拾主或者管理員在系統(tǒng)里點擊確認物品狀態(tài)才最終變成已完成。如果管理員審核不通過claim_record狀態(tài)變?yōu)橐疡g回物品狀態(tài)恢復(fù)為待認領(lǐng)。業(yè)務(wù)上還有一個比較關(guān)鍵的約束同一件物品只能有一條審核通過的認領(lǐng)記錄。這個約束我在claim_record表上做了一個聯(lián)合唯一索引防止并發(fā)情況下出現(xiàn)同一件物品被多個人同時認領(lǐng)成功的問題。我給出一個簡化版的Service代碼Transactional public boolean claimItem(Long userId, Long foundItemId, String claimReason) { // 1. 校驗物品是否存在且狀態(tài)為待認領(lǐng) FoundItem item foundItemMapper.selectById(foundItemId); if (item null || item.getStatus() ! 0) { throw new RuntimeException(物品不存在或已被認領(lǐng)); } // 2. 檢查用戶是否已經(jīng)認領(lǐng)過該物品 Integer count claimRecordMapper.selectCount( new LambdaQueryWrapperClaimRecord() .eq(ClaimRecord::getUserId, userId) .eq(ClaimRecord::getFoundItemId, foundItemId) .eq(ClaimRecord::getStatus, 0)); if (count 0) { throw new RuntimeException(請勿重復(fù)申請); } // 3. 插入認領(lǐng)申請記錄 ClaimRecord record new ClaimRecord(); record.setUserId(userId); record.setFoundItemId(foundItemId); record.setClaimReason(claimReason); record.setStatus(0); claimRecordMapper.insert(record); return true; }這里有幾個細節(jié)需要特別提醒。第一非查詢接口建議都加上Transactional事務(wù)注解這樣一旦中間拋異常數(shù)據(jù)庫不會留下臟數(shù)據(jù)。第二業(yè)務(wù)狀態(tài)在代碼中不要寫死數(shù)字建議用一個枚舉類比如ItemStatusEnum、ClaimStatusEnum管理閱讀起來清晰也不容易出錯。第三LambdaQueryWrapper的寫法比普通的字符串QueryWrapper安全因為它是編譯期檢查字段名不會出現(xiàn)拼錯字段導(dǎo)致運行時報錯的問題。2.4 圖片上傳與訪問路徑處理失物照片和招領(lǐng)照片是系統(tǒng)的核心信息載體但在Spring Boot中實現(xiàn)圖片上傳有幾個坑必須要說。我當時的實現(xiàn)方式是這樣的controller接收MultipartFile文件校驗非空、校驗大小限制10MB以內(nèi)、校驗擴展名只允許jpg/png/gif/webp然后用UUID生成新文件名避免重名。保存路徑采用本地磁盤存儲springBoot啟動時在用戶目錄下創(chuàng)建一個upload文件夾文件按日期分子目錄存放比如2025/01/15/xxxxx.jpg。文件上傳成功后把相對訪問路徑比如 /upload/2025/01/15/xxx.jpg存入數(shù)據(jù)庫的img字段。接下來要讓前端能訪問到這個圖片必須配置靜態(tài)資源映射。在Spring Boot中只需要實現(xiàn)WebMvcConfigurer接口重寫addResourceHandlers方法Override public void addResourceHandlers(ResourceHandlerRegistry registry) { String uploadPath System.getProperty(user.dir) File.separator upload File.separator; registry.addResourceHandler(/upload/**) .addResourceLocations(file: uploadPath); }一個最容易踩的坑是開發(fā)時直接用了前端Vue的8080端口或者后端的8080端口當你把圖片url寫死為localhost時部署到服務(wù)器后全是裂圖。這里最穩(wěn)妥的做法是后端接口返回圖片時只返回相對路徑 /upload/xxx.jpg由前端根據(jù)當前環(huán)境拼接完整的訪問前綴。比如我在Vue中封裝一個全局變量開發(fā)環(huán)境寫 http://localhost:8080生產(chǎn)環(huán)境就改成服務(wù)器地址。3. Vue前端架構(gòu)與頁面交互實現(xiàn)3.1 前端工程化搭建與Axios封裝前端我用的Vue 2如果現(xiàn)在重新做我會直接用Vue 3 Vite但對于畢設(shè)來說Vue 2的生態(tài)最穩(wěn)、資料最多React的同學(xué)請繞道。在創(chuàng)建工程時直接用Vue CLI腳手架vue create campus-lost-found然后安裝Vue Router、Vuex/A PiniaVue 2用Vuex 3UI組件庫選擇Element UI。Element UI對Vue 2的支持非常成熟Table、Form、DatePicker這些組件拿來即用管理后臺的開發(fā)效率直接起飛。網(wǎng)絡(luò)請求這塊強烈建議在axios實例上做統(tǒng)一封裝而不是每個組件里直接調(diào)用axios。我在src/utils/request.js里創(chuàng)建了一個axios實例設(shè)置了baseURL為 /api然后加請求攔截器和響應(yīng)攔截器。請求攔截器里從localStorage拿Token放到請求頭Authorization。響應(yīng)攔截器里統(tǒng)一處理錯誤碼401跳登錄頁403提示無權(quán)限500提示服務(wù)器異常。后端約定的響應(yīng)格式是{ code: 200, message: success, data: { } }攔截器里直接return response.data.data讓業(yè)務(wù)代碼拿到的直接就是真正的數(shù)據(jù)對象代碼干凈很多。另外很多新手容易忽略的是axios默認不會攜帶Cookie如果你用JWT方案其實關(guān)系不大但如果你用Session方案一定要在axios配置里加上 withCredentials: true。3.2 頁面模塊劃分與前端路由設(shè)計前端頁面我劃分成兩大類面向普通用戶的C端頁面和面向管理員的后臺頁面。C端頁面包括登錄注冊頁、首頁招領(lǐng)信息流、掛失大廳失物信息流、物品詳情頁、發(fā)布頁、個人中心我發(fā)布的、我認領(lǐng)的、我的留言。管理端頁面包括工作臺數(shù)據(jù)統(tǒng)計、招領(lǐng)審核列表、掛失列表、用戶管理、公告管理。前端路由要配合后端權(quán)限做控制。C端的頁面游客也可以訪問但發(fā)布信息和認領(lǐng)申請必須登錄管理端的頁面必須有管理員身份才能進入。我用Vue Router的全局前置守衛(wèi)實現(xiàn)router.beforeEach((to, from, next) { const token localStorage.getItem(token) if (to.meta.requiresAuth !token) { next({ path: /login, query: { redirect: to.fullPath } }) return } if (to.meta.requiresAdmin) { const role localStorage.getItem(role) if (role ! 1) { next({ path: /403 }) return } } next() })一個比較關(guān)鍵的體驗優(yōu)化是登錄之后不要簡單地跳回首頁而是用redirect參數(shù)記錄用戶原本想訪問的頁面登錄成功后直接跳回去。這個小細節(jié)對用戶體驗的提升非常明顯也是我入職之后帶新人時經(jīng)常強調(diào)的點。3.3 發(fā)布表單與圖片多圖上傳的實現(xiàn)細節(jié)發(fā)布招領(lǐng)信息頁面是整個系統(tǒng)使用頻率最高的功能之一它的核心是表單校驗和圖片上傳。Element UI的Form組件自帶校驗規(guī)則我在數(shù)據(jù)里定義了rulesrules: { title: [{ required: true, message: 請?zhí)顚懳锲访Q, trigger: blur }], category: [{ required: true, message: 請選擇物品類型, trigger: change }], location: [{ required: true, message: 請?zhí)顚懯叭〉攸c, trigger: blur }], description: [{ required: true, message: 請?zhí)顚懳锲访枋? trigger: blur }] }上傳組件用的是el-upload這里特別要說的是不要用el-upload默認的action上傳方式而是設(shè)置 :auto-uploadfalse手動把文件讀到FormData里和表單數(shù)據(jù)一起提交給后端。這樣做的好處是接口只需要一個避免圖片先傳、表單后傳導(dǎo)致的數(shù)據(jù)不一致問題。如果需要支持同時上傳多張圖片可以遍歷文件列表把多個文件append到同一個FormData中。核心代碼示意const formData new FormData() formData.append(title, form.title) formData.append(category, form.category) formData.append(location, form.location) formData.append(description, form.description) for (const file of fileList) { formData.append(files, file.raw) } // 注意這里不能直接設(shè)置 Content-Type: application/json axios.post(/api/found/add, formData, { headers: { Content-Type: multipart/form-data } })踩過好幾次坑后的心得是用FormData傳文件時千萬不能讓axios自動序列化否則后端會解析不到文件字段。同時后端多文件的接收參數(shù)名要和前端append的key保持一致。4. 前后端聯(lián)調(diào)核心場景實操復(fù)盤4.1 從發(fā)布招領(lǐng)信息到列表展示的完整鏈路我把系統(tǒng)里最核心的一條鏈路完整走一遍方便你照著測試。假設(shè)我現(xiàn)在拾到了一張校園卡登錄系統(tǒng)后進入發(fā)布招領(lǐng)信息頁面填寫物品類型為證件類標題為一食堂門口拾到校園卡地點填第一食堂描述補充卡套是藍色的應(yīng)該是某某學(xué)院的同學(xué)上傳兩張照片后點擊提交。前端做的事情是把表單數(shù)據(jù)整理成FormData發(fā)給 POST /api/found/add。后端的流程是攔截器校驗登錄狀態(tài)Controller接收參數(shù)并做參數(shù)校驗Service層把圖片文件保存到服務(wù)器磁盤、生成訪問URL然后把物品信息插入數(shù)據(jù)庫found_item表。返回結(jié)果中帶上新創(chuàng)建的物品ID。然后我回到首頁首頁加載時調(diào)用 GET /api/found/list?page1size10keyword校園卡。后端Service層先根據(jù)條件分頁查詢再把每條記錄的發(fā)布人昵稱關(guān)聯(lián)查出來組裝成ItemVO最后返回分頁對象。前端拿到數(shù)據(jù)后渲染成卡片列表。整個鏈路測試通過就說明最核心的寫入-查詢鏈路是通的正。4.2 認領(lǐng)申請到管理員審核的流程演示接下來模擬失主來認領(lǐng)。另一個學(xué)生登錄系統(tǒng)后在首頁搜索校園卡找到剛才那條招領(lǐng)信息點進詳情頁調(diào)出認領(lǐng)申請彈窗。彈窗里要填寫聯(lián)系方式、認領(lǐng)說明比如我的卡號尾號是8821應(yīng)該有校園卡卡套。提交后調(diào)用 POST /api/claim/add后端創(chuàng)建一條狀態(tài)為待審核的認領(lǐng)記錄同時給這條招領(lǐng)信息增加一條處理中的標記。管理員登錄后臺在認領(lǐng)審核列表中看到這條申請記錄。審核列表頁面的核心是數(shù)據(jù)回顯和操作按鈕。管理員點擊查看詳情能夠看到物品的照片與描述、申請人的學(xué)號與聯(lián)系方式、認領(lǐng)理由。這些數(shù)據(jù)來自三個表的信息拼裝后端用一個ClaimDetailVO搞定。確認沒問題后審核通過此時物品狀態(tài)從待認領(lǐng)變成待領(lǐng)取。失主線下領(lǐng)走物品之后管理員再點一次確認完成整個流程結(jié)束。這個流程在聯(lián)調(diào)時最容易出現(xiàn)的問題就是狀態(tài)更新不及時。比如用戶申請成功后前端頁面還顯示著待認領(lǐng)這是因為詳情頁是在申請成功之前請求的數(shù)據(jù)沒有刷新。解決方案就是申請成功后跳轉(zhuǎn)回列表頁或重新拉取詳情數(shù)據(jù)不要停留在舊的狀態(tài)里。4.3 管理后臺的統(tǒng)計報表與導(dǎo)出功能管理后臺除了審核之外還有一塊很重要的能力是數(shù)據(jù)統(tǒng)計。我在工作臺頁面用ECharts做了兩個可視化圖表一個是近六個月的招領(lǐng)信息發(fā)布趨勢折線圖一個是物品分類占比餅圖。后端提供兩個統(tǒng)計接口分別是 GET /admin/stats/trend 和 GET /admin/stats/category。趨勢圖的實現(xiàn)是統(tǒng)計最近六個月每個月新增的招領(lǐng)和掛失數(shù)量前端用ECharts的Line圖展示雙折線。分類占比則是從物品表里按category分組聚合前端用Pie圖展示。說句實話畢業(yè)設(shè)計里圖表功能是加分項但也是最容易翻車的因為接口數(shù)據(jù)結(jié)構(gòu)和圖表組件的數(shù)據(jù)要求經(jīng)常對不上。我的經(jīng)驗是不急著寫圖表組件先定好接口的返回結(jié)構(gòu)用Postman把接口調(diào)試好然后再寫前端。餅圖的數(shù)據(jù)格式是 [{name: 證件類, value: 35}]折線圖的數(shù)據(jù)格式是 {months: [2024-08, ...], lost: [..], found: [..]}后端設(shè)計返回結(jié)構(gòu)時就要和前端對齊。5. 常見問題排查與避坑指南5.1 跨域問題導(dǎo)致的接口請求失敗前后端分離項目最常見的問題就是跨域。如果在瀏覽器控制臺看到 blocked by CORS policy 或者 Access to XMLHttpRequest has been blocked基本就是跨域問題。解決辦法有很多種最推薦的是在后端寫一個CorsConfig配置類統(tǒng)一放行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); } }這里幾個要點allowedOriginPatterns() 配合 allowCredentials(true) 一定要這樣寫直接 allowedOrigins() 再配合 credentials 會有兼容性問題。還有如果項目里引入了Spring Security跨域配置還要在SecurityConfiguration里也放行OPTIONS請求否則預(yù)檢請求過不去。另一種辦法是開發(fā)時用Vue CLI的代理功能在vue.config.js里配置proxy轉(zhuǎn)發(fā)把 /api 前綴的請求轉(zhuǎn)發(fā)到后端的8080端口。但要注意這只在開發(fā)環(huán)境生效生產(chǎn)環(huán)境還是要靠后端處理跨域。5.2 圖片上傳成功但訪問404這個問題的典型場景是上傳接口返回了文件相對路徑但瀏覽器訪問 http://localhost:8080/upload/xxx.jpg 時404。排查步驟按照我的經(jīng)驗分三步走。第一步確認文件是否真的保存到了磁盤指定目錄??梢栽谙到y(tǒng)的用戶目錄或項目根目錄下檢查是否有upload文件夾以及文件是否存在。第二步確認靜態(tài)資源映射是否生效。在配置類里加了addResourceHandlers之后還要確認這個配置類組件有沒有被Spring掃描到。如果配置類放在了子包外面Spring Boot默認是掃描不到這是一個很低級但很容易犯的錯。第三步檢查路徑匹配。比如攔截器里是否對 /upload/** 路徑做了攔截把圖片請求給攔截下來返回了401或404。我遇到過最隱蔽的一種情況是文件路徑里的Linux和Windows差異。開發(fā)時在Windows下寫的是 File.separator 拼路徑部署到Linux服務(wù)器后路徑分隔符雖然自動變成/但應(yīng)用權(quán)限不夠?qū)е挛募]能寫入服務(wù)器目錄。這種情況通常看應(yīng)用報錯日志Permission denied字樣非常明顯。5.3 Long類型主鍵返回前端精度丟失這個坑非常經(jīng)典我當時排查了大半天。情況是這樣的我用MyBatis Plus默認的ASSIGN_ID策略生成雪花ID作為數(shù)據(jù)表主鍵這個ID長度超過JavaScript的Number最大安全整數(shù)2^53-1。前端從接口收到ID后最后一位的精度丟失變成了幾個0。在列表頁點擊某個物品想查看詳情時傳回給后端的ID已經(jīng)不是真實ID了結(jié)果查不到數(shù)據(jù)。解決辦法很簡單在Jackson序列化時把Long類型轉(zhuǎn)成String類型給前端一個字符串形式的ID。兩種實現(xiàn)方式一種是在配置里配置全局的ToStringSerializer另一種是在實體類的ID字段上加注解 JsonSerialize(using ToStringSerializer.class)。我推薦第二種只在需要的主鍵字段上加避免影響其它Long字段的語義。5.4 新手最容易犯的10個低級錯誤這里把我這幾年看到的、自己做過的錯誤整理成一張速查表建議收藏錯誤描述具體表現(xiàn)正確做法數(shù)據(jù)庫表名和實體類名不一致啟動時報Table找不到用TableName注解顯式指定表名前端請求參數(shù)名和后端不一致接口返回參數(shù)為null統(tǒng)一使用DTO層規(guī)范字段命名未處理空指針列表頁獲取某個對象的名稱時報500關(guān)鍵查詢用Optional或判空MyBatis Plus分頁插件未配置分頁查詢不生效返回所有數(shù)據(jù)配置MybatisPlusInterceptor加PaginationInnerInterceptor密碼明文存儲數(shù)據(jù)庫里密碼直接可見使用BCrypt加密存儲刪除數(shù)據(jù)用物理刪除誤刪后無法恢復(fù)邏輯刪除字段deletedMyBatis Plus支持前端上傳文件未限制類型用戶上傳一個.exe文件后端和前端都校驗文件擴展名查詢接口不處理時間參數(shù)時區(qū)時間相差8小時JDBC連接串加serverTimezoneAsia/Shanghai缺少全局異常處理器一個異常導(dǎo)致整個系統(tǒng)報錯用RestControllerAdvice統(tǒng)一處理后端接口不返回統(tǒng)一格式前端每個接口都要判斷狀態(tài)碼定義統(tǒng)一Result類code/message/data5.5 答辯時容易被追問的5個系統(tǒng)設(shè)計問題最后分享一個實際經(jīng)歷。答辯時老師一般不會讓你現(xiàn)場敲代碼更多的是針對系統(tǒng)的設(shè)計合理性提問。我總結(jié)幾個高頻問題和你應(yīng)該準備的回答思路第一個問題是數(shù)據(jù)庫表為什么這樣設(shè)計回答時抓住三點主鍵用雪花ID保證全局唯一所有表都有創(chuàng)建時間和更新時間字段方便后期維護核心關(guān)聯(lián)字段建立外鍵索引保證查詢效率。第二個問題是如果并發(fā)量變大系統(tǒng)哪里會成為瓶頸這個問題是送分題你可以說目前本地部署的學(xué)生訪問量不大數(shù)據(jù)庫是主要瓶頸可以采用分庫分表方案同時把圖片上傳到對象存儲服務(wù)引入Redis做熱點數(shù)據(jù)的緩存。第三個問題是密碼傳輸安全如何保證回答思路是前端用HTTPS對外部署時密碼傳輸時可以加鹽加密后端使用BCrypt算法存儲摘要數(shù)據(jù)庫泄露也無法反推出明文密碼。第四個問題是你和別人做的一樣你的亮點是什么不要謙虛明確說出來清晰的認領(lǐng)狀態(tài)機設(shè)計、前后端權(quán)限雙重校驗、ECharts統(tǒng)計報表、統(tǒng)一的異常處理體系這些就是你的亮點。第五個問題是系統(tǒng)上線部署需要哪些環(huán)境答Java運行環(huán)境、MySQL數(shù)據(jù)庫、Node.js構(gòu)建前端、Nginx做靜態(tài)資源服務(wù)器和反向代理有Docker的話可以直接容器化部署。我做完這個項目之后最大的感受是校園失物管理系統(tǒng)表面上是常見的增刪改查但真正把一個業(yè)務(wù)閉環(huán)做完、做順需要的是前后端聯(lián)調(diào)的全局觀。很多同學(xué)在做畢設(shè)時容易陷入一個誤區(qū)就是文檔寫得天花亂墜代碼卻沒有跑通。這套系統(tǒng)如果能真正做到可以演示、可以答辯、可以部署它就不只是一個畢業(yè)設(shè)計的源碼而是一份完整的全棧實戰(zhàn)經(jīng)驗。我遇到過好幾次驗收的時候管理員從發(fā)布到審核完整體驗一遍流程通暢時那種成就感比拿到優(yōu)秀畢設(shè)證書還爽。
返回列表
PREV
查看更多資訊
NEXT
返回資訊列表
91怕怕网| 色婷婷综合久色AV五色最新| 99久视频| 天天天在线观看| 五月丁香婷婷中文| 桃色激情五月天| 天天综合网站| 丁香五月成人社区| 99热这里| 天天日综合| 色色网站免费在线视频| 99干视频| 精品女人九九九| 99热久久这里只有精品| 色色国产| 丁香婷婷影院| 国产成人网址| 少妇高潮一区二区三区99欧美| 久久这里只有精品网| 人人澡玖玖一| 久久精品婷婷| 亚洲精品国产成人AV在线| 国自产拍偷拍精品啪啪一区二区| 久色网| 一级韩国产精品毛| 玖玖@三月天天丁香婷婷| 五月天综合久久| 久久这里只有欧美| 五月激情网综合| 天天插综合在线| 亚洲成人无码网站| 亚洲婷婷久久综合| 国产99久久久| 久热久色| 99er免费在线观看| www.色窝| 五月花婷婷丁香| 五月婷婷六月丁香激情综合网| 五月婷婷AV| 婷婷激情五月视频| 丁香色五月 97干| 99热在线资源| 久久视网36| 91干视频| 夜夜人妻五月天| 亚洲AV综合在线观看| 亚洲欧洲一二| 五月婷婷激情久久| 无码地址| 久久婷婷五月天激情唯美| 日操五月婷| 色综合天天网| 毛片色五月| 五月丁香欧美综合免费视频| 综合五月网| 精品五月天| 久久婷婷五月| 五月色丁香| 丁香六月五月天| 色5月婷婷| 婷婷婷婷婷婷婷五月丁香| 免费黄色AV| 91色综合| 天天草女人| 激情五月婷婷综合网| 激情五月天婷婷播播久久综合91| www激情网站| 亚洲色色五月| 99国产小视频2013| 99爱视频免费看| 天天日日爽| 99热这里只有精品18| 亚洲狠狠操| 亚洲va欧洲va国产va不卡| 天天干天天操| 婷婷丁香18| 五月婷婷激情网| 风流少妇A片一区二区蜜桃| 97干在线视频精品店| 香蕉99网| 好吊操这里只有精品| 五月丁香婷婷久久| 日本九九视频| 狠狠色丁香乆乆| 色婷婷女优有码五月亭| 色播五月婷婷综合| 五月狠狠| 99久久喉9| 最新日韩久热免费视频看看| 五月天激情在线视频| 久久A V无码视频| 久草五月婷婷| 99情色五月天| 亚洲成人电影aaaa| 99精品视频网站| 俺去也在线官网| 综合噜噜| 五月婷婷综合成人| 久久这有这里精品| 色99热| 婷婷中文字幕| 色色五月天网站| 开心五月婷婷在线视频免费观看| 91欧美| 97超碰,人人舔,人人操,人人摸| 国产中文字幕在线视频免费观看| 色婷婷伦理| 97超碰在线免费观看| 爱久久小说下载网| 久久性爱视频免费| 9久久精品| 色婷大香蕉| 色婷婷狠狠| 激情文学五月丁香六月婷婷| 超碰免费成人网站| 春色激情| 亚洲激情无码久久| 天天操天天曰| 成人AV免费观看| 国产资源91在线| 色婷婷AAA| chaopeng在线人人| 情婷婷五月天| 九热网站| 99日这里只有精品| 狠狠干最新地址| 五月色婷婷综合色| 五月天播播| 91精品丝袜久久久久久久久粉嫩| 亚洲亚洲亚洲AAAAAA| 99性爱视频| 色伊人啪| 婷婷五月天激情综合| 九九99精品免费播放| 五月激情五月丁香| 亚洲操操| 五月丁香欧美综合免费视频| 熟女强人妻一区二区三区四区无| anquye五月| 婷婷色色网| 婷婷在线播放av| www.久久久久久久| 快乐激情五月色婷婷| 色婷婷色99国产综合精品| 狠狠色 综合色区| 丁香五月激情欧欧美| 激情五月综合网| 国产ava| 激情五月丁香婷婷| 特黄三级片| 中文资源在线a| 日韩操啪| 狠狠干综合| 丁香五月欧美激情| A A色色| 97香蕉碰碰人妻国产欧美| 99久在线观看| 五月综合激情| 激情五婷网| 丁香五月天AV在线 | 精品色色| 呦呦视频无码播放| 九九精品少妇| 久综合| 色狠狠色综合久久久绯色AⅤ影视 大香蕉五月天婷婷丁香91 | 久久婷婷精品| 亚洲欧美在线观看| 五月天另类小说| 99视频在线看| 五月丁香六月激情在线| AV国产有码| 五月丁香婷婷五月色| 丁香五月在线观看完整版| 亚洲午夜国产成人电影VA国产欧…| 99思思热只有在这里看| 五月丁香成人| 射满了还射免费在线观看 -午夜版全集-新视觉影院 | 开心综合激情综合| 91久久久久久| 涩涩五| 好大好粗嗯啊-一级黄色大片免费观看-成人AV| 97丁香婷婷| 丁香五月婷婷五月天在线| www.婷婷五月天| 色色色色色色色色色999| 国产三级在线播放| 综合网激情| 99色1| 玖玖热99| 九九香蕉网| 天天色官网| 九九性爱网| 99综合视频一体| 另类婷婷丁香| 99热偷拍| 丁香9月婷婷| 97久久精品| 99噜噜噜在线播放| 五月丁香综合啪啪啪啪啪| 九九热精品视频在线观看| 噜噜久| 五月天狠狠色| 天天久久九九| 成人无码髙潮喷水A片| 五月天激情AV| 天干天天干天天天天天| 成人网站在线观看视频| 涩 五月 婷婷 狠狠| 日日干夜夜干| 手机旧版看人妻1025| 伦乱美欧| 亚洲欧美成人在线| 丁香五月最新网址| 九九九激情网| 精品欧美一区二区三区久久久| 九九亚洲| 狠干综合| 99久久偷拍视频| 久久精彩视频| 俺去也五月| 91wwmm导航| 五月婷婷免费在线| 五月婷在线影院| 激情图片亚洲| 婷婷五月花.97| 丁香五月播播| 热久久91| A片一曲| 色站9/| 天天日天天舔| 五月色综合| 91人操| 99热中文字幕久久| 久久色五月天综合网| 久久只有这里精品免费| 久青青久| 五月在线婷色| 天天爽成人综合网站| WWW·色色色·COM| 182TV大香蕉| 久久九网| 香蕉久久五月| 婷婷激情五月天激情小说 | 丁香熟女乱| 亚洲乱码日产精品BD| 九月激情网| 五月婷婷综合在线| 99在线69| 大香蕉手机视频| 99爱在线免费视频| 综合网色| 五月丁香亭亭电影久久| 九九久久腿| 婷婷久久色| 国产干逼片| 丁香五月婷婷激情四射深爱激情| 六月丁香婷婷爱| 色欲久久99精品久久久久久| 日韩美一级毛卡片| 久久99网| 99re在线播放| 9 7总站超级碰免费视频| 亚洲欧洲中文日韩久久AV乱码| 久久人妻精品| 色综啪啪网| 琪琪色综合网站| 伊人久久婷婷五月综合97色| 字母不卡码人逼| www99xxxx五月丁| 日本三级片片| 色情综合网| 婷婷中文字幕| 99福利视频| 999热在线视频| 欧美狠狠地| 无月播播激情在线观看视频| 欧美日本国产欧美日本韩国99| AV在线大香蕉| 牛牛澡牛牛爽| 超碰二区| 操啊操av| www色色色com| 伦乱人妻| 99久久66| 色五月六月| 综合性爱网| 大香蕉九九| 深爱五月天 开心网| 丁香五月,激情五月,深爱五月| 色偷偷色婷婷| 五月天激情综合网| 丁香五月综合激情久久潮喷| 在线观看五月婷婷网| 亚洲婷婷婷| 欧美丁香五月| 狠狠综合| 日本三久久| 激情com| 婷婷五月天亚洲综合| 婷婷五月天播播| 噜噜视频| 五月天婷婷久草丁香| 欧美情月伍月天| 伊人9999| 欧美交换配乱吟粗大25P| 久草婷妨| 精品无码人妻一区| 亚洲热久久| 97碰91| 亚洲成人在线播放| 五月丁香六月婷婷姐| 色吧综合网| 色婷婷综合在线| 99热思思在线观看| 91丨九色丨熟女| 国产真实乱对白精彩| ...婷婷五月综合不卡,国产在线手机| 五月噜噜| 99热亚洲| 女性自慰系列第五页| 婷婷五月天小说网| 综合aV在线| 婷婷五月香蕉| 丁香五月手机在线| 五月婷婷九九热| 六月色色综合| 五月天色五月| 激情深爱综合| 特级西西4444www无码| 欧美激情 日韩无码 婷婷 五月天| WWW,五月天| 欧美性丁香色色五月天干干| 久久99激情五月天| 成人色色视频| 91操黄| 欧美天天五月丁香免费观看| 99性色| 久久综合伊人77777蜜臀| 色婷婷六月开心中文字| 五月天久久色| 久久九九99亚洲国产久精综合| 婷婷久久五月| 99成人网一区| 婷婷五月天影院| 色五月91| 亚洲热热视频| 色五月综合婷婷久久综合婷婷久久综合婷婷久久综合婷婷久久 | 夜夜谢天天干| 婷婷丁香五月天综合AV| 色色网站在线| av 一区三区四区| 久久色天堂| 色五月婷婷1| 99热这里全是精品| 久久婷婷六月综合综合| 久久婷婷成人综合色怡春院| 色婷婷五月天无码视频| 狠狠干,狠狠操| www.99操| 五月丁香偷拍| 影音先锋噜一噜| 激情爱爱网站超大免费| 97在线精品视频| 婷婷色啪| 九九热这里有精品视频| 精品人妻伦九区久久AAA片| 日日噜狠狠色综| 六月婷婷综合| wwwxxx五月婷婷小说| 婷婷五月天国产传媒| 精品成人无码A片观看香草视频| 96自拍视频九色在线观看| 婷婷婷五月天最新综合你懂的| 精品爱欲五| 久久这里有精品视频在线免费观看| 色天使久久综合| 十月丁香九月婷婷综合| 99九九玖玖| 五月香婷婷| 小视频在线亚洲| 日本熟妇乱妇熟色A片蜜桃| 五月丁香网站在线播放| 99热999| 久人操| 丁香婷婷色五月| 国产激情久久| 色五月天电影| 综合99在线| 婷婷色色网站| 五月丁香 啪啪| 免费视频舔| 人人色人人弄人人操| 日日日天天干| 天天做天天要天天爱| 国产精品18久久久| 精品人妻伦一二三区久久| 人人操99| 99在线视频网址在线观看| 婷婷六月激情| 色婷婷丁香五月天在线视频 | 99成人| 九九AV| 超碰九热| 久久五月丁香| 五月丁香五月婷婷| 五月丁香WWW| 97婷婷五月激情六月丁香伊人| 五月婷婷色综图片| 婷婷开心激情综合五月天| 亚洲熟女乱色综合亚洲网站| 被男人添B超爽视频| 亚洲va欧洲va国产va不卡| 成人欧美日韩| 99热www| 五月天婷婷久久视频| 狠狠色精品综合| 亚洲在线操| 91碰免费视频| 99国产精品白浆在线观看免费| 丁香色五月天| 丁香五月婷婷成人网| 色碰干| 一级片操逼视频| 欧美va视频| 深夜A片| 影音先锋xfplay资源男人网| 猫咪伊人久久| 九色地址91视频| 日本不卡一区二区三区| 五月天成人综合| 五月天开心激情综合网| 天天插天天| 亚州精品色情无码A片| 字母不卡码人逼| www.99视频| 色婷婷久久综合| 五月亚洲| 99热网站| 五月激情六月宗合| 五月婷婷久| 精品久久人妻热| 五月丁香激情四射| 色欲九区| 99热免费精品| 香蕉婷婷色五月| 亚洲成人av在线观看| 香蕉97碰碰碰欧美| 少妇被下春药玩弄A片| 99精品视频网站| 久久综合五月天| 夜色综合网| 五月在线| 人人摸人人| 久久六月天| 五月之婷婷| 五六月丁香激情视频| 5月婷婷6月丁香aV| 亚洲开心激情网| 人人玩人人橾| 青青热久精品视频在线观看| 怡红院院在线导航网 | 六月丁香啪啪啪| 夜夜综合色| 久色五月| 天天色天天日| 大香蕉九操| 最新色色五月天| 天堂久久婷婷| 婷婷久久久| 色播五月| AA片在线观看视频在线播放| 7EzOBIhNq85TO| 午夜少妇在线观看视频| 热91久| 熟惀91九色在线| 精品爱欲五| 亚洲情综合五月天| 亚洲区1| 9热久久| 婷婷丁香成人五月天| 久热人妻| 久久婷婷五月天| 色婷婷基地| 亚洲精品字幕| 久久婷婷大香蕉| 天天色99| 激情小说五月天| 99国产小视频免费观看| 激情六月一二| 婷婷丁香五月麻豆| 色色欧美。| av在线观看网址| 中美日韩成人在线| 插插五月天| 深爱激清网| 丁香五月网址| 国产欧美熟妇另类久久久| www九九免费视频| 婷婷欧美激情| 激情五月天婷婷激情| 色丁香久综合在线久综合在线观看| 成人超碰Av| 丁香五月激情啪| 国产精品18久久久| 亚洲狠狠婷婷| 狠狠搞综合色| 4438激情网| 91碰碰碰| 九九大香视频| 久久久久人妻中文| 五月天精品视频| 99se丁香| 五月天国产成人| 亚洲四色五月| 五月天开心成人网| 久久婷婷综合基地| a免费在线| 丁香五月婷婷啪啪| 五月婷婷综合在线视频小说| 国产这里只有精品| 九九精品综合| 丁香 婷婷 亚洲 熟女| 婷婷五月天影院| 热99视频精品在线| 台湾综合丁香五月蜜桃| 51国精产品自偷自偷综合| 大香蕉五月天| 婷婷99热| 久久六月综合| 婷婷在线中文字幕| 狠狠做六月爱婷婷综合aⅴ| 99精在线| 91九九九色在| 五月婷婷激情色情网| 丁香蜜臀黄色婷婷五月天| 淫五月停停| 亚洲精品网站色视频| 天天色天天操天天射| 亚洲国产精品VA在线看黑人| 亚洲综合激情五月天婷婷| 激情五月婷黄版| 碰99在线| Jh7Uf088VHafNm| 米奇激情婷婷| 狠狠操狠狠爱| 人妻综合网| 婷婷五月婷婷| 一级七香蕉| 天天爽夜夜爽天天爽夜夜爽| 激情五月婷婷老师| 精品99网站| 爱射综合| 婷婷五月成人色综合| 丁香五月婷婷偷拍| 色情五月婷| 开心激情网五月天| 日本天堂网站99| 99久久99热这里只有精品| 色婷婷电影网| 色婷婷精品小视频| 婷婷五月天成人网| 色五月婷婷在线视频| 狠狠草狠狠草| 激情五月开心五月在线视频| 国产激情久久| 九九热思思热| 人人操9| 五月丁香六月婷婷久久久综合| 久久AAAA片一区二区| 激情五月天婷婷久久久久久久久久久| 五月婷婷深深爱| 激情五月综合色| 狠狠草在线观看| 99er日韩| 亚洲精品国产A久久久久久| 婷婷伊人激情婷婷| 大香蕉视频婷婷| 99乱视频| 久久久久久久久99精品| 超碰在线国产| 天天上天天爽| 第四色色六月色综合| 五月婷婷六月综合| 五月丁香六月婷婷啪啪| 99色综合| 天天色天天噜| 9久久网| 色五月天丁香| 婷婷丁香五月天色区| 九色在线五月婷婷网址| 99爱视频| 男人天堂伊人五月丁香| 超碰人人摸人人操| 色五月av| 欧美激情 日韩无码 婷婷 五月天| 中字幕视频在线永久在线观看免费| 国产热精品| WWW.久久99| 欧美久久婷婷| www.sezonghe| 中文资源在线a | 无码免费人妻A片AAA毛片西瓜| 婷婷五月丁香久久| 丁香五月婷婷激情网| 亚洲精品久久久久AV无码| 久久免费婷婷视频| 九九热超碰| 久久婷婷五月综合色丁香花| 综合99视频| 婷婷色色综合激情| 婷婷五月天午夜激情影院| 久久99久久久久久| 亚洲激情精品| 久久五月视频| 亚洲欧美国产A片免费观看| 五月综合久久| 激情五月天在线视频| 俺也去在线久久精品23欧美综合视频网站,丰满人妻一区二区三区在线视频53,丰满 | 亚洲色啪| 国产女18毛片多18精品| 91精品综合久久久久久五月丁香| 99热99re6国产在线播放| 五月丁香啪啪综合网| 中国女人内射6XXXXX| 色婷婷电影网| www.五月天婷婷姐姐| 超碰免费人妻| 久久青青日本视频| XX色综合| 热久精品| 久99视频在线观看| 丁香五月另类小说| 一根材五月婷成人| 久久曰曰| 4399伦理午夜| tingtingseav| 怡红院AV亚洲一区二区三区H | 天天日天天狠狠操| 日本三级中文字幕| 97艹| 五月做爱| A片天天| 91性高潮久久久久久久久| www.婷婷| 综合色色色色色色| 久久久久久综合五月婷婷| 影音先锋xfplay资源男人网| 久久婷.com| 99久久.www| 九久九精品| 麻豆AV一区二区三区| 婷婷亚洲综合| 26uuu精品一区二区| 我去色色网五雨天| 开心婷婷中文字幕| 五月开心激情| 五月丁香性| 另类激情网| 五月婷婷无码专区| 大伊久久| 97五月天婷婷| 天天做天天爱综合| 五月婷婷啪啪啪啪| 日本VA视频| 这里只有精彩亚洲视频推荐| 亚洲色 视频| 亭亭五月天黑人2014| 甈吧vv| 天插天啪天啪天啪| site:ornaments52.com| 91久久婷婷人人澡草 | 免费看欧美成人A片无码| 色色婷| 99网| 99综合97| 一区二区三区四区牛| 婷婷性爱综合| 日本人人干| 亚洲愉拍99热成人精品| 俺也去在线久久精品23欧美综合视频网站,丰满人妻一区二区三区在线视频53,丰满 | 婷婷五月天堂一本在线| 色婷婷丁香五月天在线观看| www婷婷| 久久久久久9| 久热9| 五月丁香激情综合网| 欧美大肥婆大肥BBBBB| 婷婷五月花| 婷婷丁香日韩五月| 青青日韩| 激情综合网五月婷婷| www.超碰| 欧美成人网婷婷综合在线| 色久激情在线| 伊人婷婷色| 天天操婷婷| 无码激情AAAAA片-区区| 丁香五月天激情四射网络不好 | 亚洲国产色色| 九九综合伊人| 国产SUV精品一区二区6| 人人草碰| 久久久人妻久久久| 激情婷婷综合五月少妇| 99九九玖玖| 天天日天天插| 91九色成人原创视频| 97AV在线视频| 婷婷五月色网| 久久久久久久97| 精品无码久久久久久久久| 影音先锋AV男人站| 久久这里只有精品久久| 五月天停停基地| 综激情网| 丁香六月婷婷操逼网| 六月婷欧美| 无码G高清天| 婷婷五月天在线视频网站| 丁香五月天综合| 婷婷五月丁香色色| 激情婷婷五月久久| 五月婷婷香| 九九色热| 色九月婷婷丁香| 婷婷性爱无码视频| 久久综合爱| 99九九热播在线免费视频| 色色色999| 五月婷婷六月综合| 性一交一乱一交A片久| 丁香六月| 色噜噜婷婷| 97人人干人人操| 日本视频欧美观看免费| 99惹精品视频| 色色99| 骚五月婷婷| 狠狠干青青草| 九月婷婷久久| 91爱操| 激情文学五月丁香六月婷婷| 极品人妻VIDEOSSS人妻| 99成人网一区| 日韩高清成人| 久久精品五月| 天天操天天日天天操| 色婷婷综合网| 婷婷丁香射射| 99视频自拍| 国产性爱一级| 色婷婷小说网| 婷婷五月精品中文| 色婷婷五月天小说| 日韩ww| 狠狠色婷婷丁香六月| 色五月婷婷老师| 激情九月综合| 97碰久久| 亚洲av成人在线| 久久视频婷婷| 六月色激情| 99热这里是精品| 婷婷色一二三区波多野结衣| 久久丁香久久| 久草五月丁香婷婷综合| 丁香五月婷婷天| 《亚洲操B久久免费在线观看,亚洲操B久久在线播放》在线播放 - 高清资源 - 97 | 日日鲁鲁鲁夜夜爽爽狠狠视频97| 深爱五月婷婷开心中文字幕| 日本狠狠色| 婷婷激情肏屄网| 亚洲av骚货| 妇激情基地| 99热网站| 丁香婷婷五月激情综合| 久久综合激情| 色婷婷成人影片| 99在线精品免费视频| 色婷婷五月丁香在线观看| av中文在线| 2025最新亚洲激情在线| 欧美性生交A片免费看| www.伊人天堂偷偷婷婷| 草了bav视频在线观看| 丁香五月天五码婷婷| 婷婷丁香综合网| 夜夜骑天天玩天天日| 超碰在线资源| 丁香五月婷婷五月| 五月丁香激情四射综合| 五月婷激情| 性小说五月天| 综合色五月亭亭| 99视频这里有精品免费观看| 99热色婷婷| 激情色播| 日日鲁鲁鲁夜夜爽爽狠狠视频97| 丁香六月婷婷色XXXX| 色播jjjj| 五月婷婷成人| 99热最新地址在线| 97在线99| 日本爆乳片手机在线播放| 玖玖爱综合网| 午夜少妇在线观看视频| 日本激情五月天‘| 99人人干人人| 六月婷婷综合| 激情五月天伊人av| 婷婷丁香五另类网站| 97精品人人A片免费看| 欧美激情-区二区三区| 色99婷婷五月天| 色五月婷婷亚洲| 久久人妻情侣| 久久在线92| 91丨九色丨43老版熟女| 婷婷五点亚洲| 六月丁香婷婷五月天| 亚洲视频在线网站| 久热黄色| A A色色| 激情AV在线| 香蕉久久国产AV一区二区| 天天色天天日| 操人妻90p| 99碰碰中文| 91蜜桃婷婷狠狠久久综合9色| 亚洲第一精品成人999久久精品| 久久婷婷成人| 亚洲精品一二三| 粉嫩av懂色av蜜臀av熟妇| 五月香蕉婷婷| 99热在线精品观看| 九九爱精品网站| 色色色综合色| 激情五月色婷婷| 亚洲激情电影五月天色婷婷丁香一起草 | 毛片九九九九九九九九18| 欧洲综合视频| 婷婷丁香在线播放| 99r这里只有精品哦| 香蕉伊人综合| 激情五月四色| 99久久久99久久91熟女| 超碰日日操| 婷婷综合色五月天| 色网站99| 五月婷婷五月天| AV六月丁香| 熟女少妇内射日韩亚洲| 香蕉婷婷| 婷婷五月天视频免费在线观看| 日日操日日干| site:xiongshengzz.com| 91人碰| 五月停性愛| 婷婷五月天基地| 九九这里是免费的视频5| 日操夜撸| 99精品在线下载| 亚洲 日韩色色| 五月丁香六月香香蕉| 综合五月丁香97| 丝袜熟女一区二区三区| 丰满少妇猛烈A片免费看观看| 丁香五月婷婷六月| 大香蕉久久久久| 婷婷五月丁香五月| 五月在线| 激情五月开心五月丁香五月| 九九热这里只有精品一| 美女婷婷六月色| 丁香五月天激情网址| 在线色色| 成人婷99最新| 国产 亚洲 在线| 色九月婷婷综合| 在线观看亚洲视频影院| 国产色网站| 亚州综合色| av成人在线播放| 久草网大香视频| 久热9热| 97色视频网| 婷婷五月六月| 色综合视频| 五月天婷婷香蕉狠狠超碰综合| www.99热在线| 96精品久久久久久久久| 99在线视频资源| www.91九色| 久久精品婷婷| 婷婷丁香六月综合激情站| 激情婷婷丁香五月天小说| 思思视频久久| 五月在在观看| 五月丁香婷庭在线| 五月激情综合美女久久| 欧美这里只有精品| 激情性爱五月| av色色国产| 五月天激情小说| www,婷婷,com| 性色综合网| 亚州操操| 婷婷欧美色| 亚洲激情色色| 思思热视频在线观看| 五月婷婷导航| 精品色| 色综合久久之分久久| 思思热高清在线观看| 婷婷爱五月| 五月丁香啪啪综合| 少妇被下春药玩弄A片| 91大操| 激情性爱五月| 蜜乳9188| 婷婷五月伦理网站| 五月综合激情| 色色无码| 五月天堂色色| 26uuu青青| 婷婷狠狠五月综合| 天天插天天爱| 五月婷婷五月| 国产特黄色精品一区二区三区精品无广告| 综合激情sV| site:xiongshengzz.com| 小视频一区| 日本3级片一区2区| 丁香五月天激情综合| 亚洲电影中文字幕| 日韩色色色色色| www,五月天激情| 强伦轩人妻一区二区电影| 婷婷综合激情| 成人啪啪色婷婷久| 99热日韩这里只有精品| 五月色色激情网| 天天天天天天操| 亚洲人成播放网站| 亚洲色五月| 婷婷激情五月天小说校园| 99ri在线| 9l视频自拍九色9l黑人| 热九九精品| 情趣视频66| 狠狠综合网| 色爱99| 亚洲色a| 亚洲综合色婷婷| 久久这里只有精品视频15 | 第四色五月婷婷| 五月婷色丁香| 色香蕉影院| 激情五月天色色色| 插插干干干色| 激情色色| 午夜日韩久久久网站| 丁六月激情| 9 1超碰九色| 九九中文色色| 玖玖在线资源视频| 97色在线视频| 日本99婷婷| 久久这里只有精品无码| 色香欲综合| AV动漫不卡无码免费| 视色综合| 亚洲V国产V欧美V久久久久久| 五月婷婷激情网| 色噜噜狠狠色综无码久久合欧美 | 另类小说色婷婷| 中文字幕婷婷五月天在线观看| 五月丁香六月| 丁香大香蕉| 丁香综合婷婷五月天| 99久久超级| 五月丁香五月激情综合色综合| 激情综合亚洲| 9月色婷婷| 丁香五月天啪啪| 91色综合久久| 熟女五月天久久综合| 色色色色热| 综合AV在线| www.maotanji.com| 天堂亚洲 在线| 色五月亚洲开心网| 97热91| 一二三区视频韩国| 国产精自产拍久久久久久蜜 | 99热香港| 丁香五月天堂| bbwcuckold精品熟妇| 色丁香五月| 在线观看的av| 五月婷精品| 色玖玖爱| 99视频内射三四| 影音先锋一区二区三区| 国产成人av在线播放| 精品99在线| 啪啪婷婷五月天激情| 4399人妻无码久久久| 人人草人人舔| 九九婷婷综合| 色婷婷综合网站| 91丨九色丨大屁股| 色色色热| 色青青五月| 小香蕉av| 26uuu另类亚洲欧美日本一| 亚洲av电影在线| www99热| 日本人人草草| 一区二区成人电影| 婷婷五月天成人在线视频| 久综合网| 无码人妻一区二区三区四区| 美女美女美女三级色天天天天天| 婷婷五月丁香国产| 天天澡天天狠天天天做| 中文字幕av亚洲| 99色婷婷视频| 天天色天天爱天天舔| 国产黄色在线观看| 久久66成人网站| 婷婷99丁香| 色九网| 六月丁香射婷婷欧美色图片| 五月天婷婷狂暴白浆| 岛国av网站| 激情综合久久| 六月成人网| 99re热视频这里只精品5| 香蕉婷婷色五月| 五月天社区| 夜丁香五月婷婷| 五月婷六月| 天天插天天射| www.99情趣网| 久热伊人| 久久99久久99精品,久国产,久久精品免费,99久在线,久久久久国产精品免费网站,9 | 激情六月婷婷| 涩综合在线| 99九九99九九九视频精品| 中文成人在线| 丁香九月综合| 九月婷婷综合在线| 色999五月色| 操日本人妻视频| 亚洲超级碰| 国产乱妇无乱码大黄AA片| www.99成人视频| 五月丁香啪啪激情| 婷婷五月欧美综合| 色婷婷五月天成人网| 天干干夜夜操| 欧美激情中文字幕| 少妇熟女视频一区二区三区 | 五月婷婷深深爱| 五月成人天| 亚洲小视频免费观看| 亚洲不卡123| 激情www| 五月婷婷中文| 色99亚洲| 91日日日| 激情综合丁香六| 99久久99九九九99九他书对| 天天干天天操天天爱| 欧美日韩99| 岛国午夜视频| 桃色成人网| 亚洲愉拍99热成人精品| 五月天婷婷丁香花| 色综合五月天| 人妻激情综合| 思思精品热在线| 日韩欧美一区二区三区四区| 九九九九九九毛片| 婷婷婷狠狠| 九九热视频在线观看| 我去色色网五雨天| 五月婷婷丁香六月在线| 俺也去在线久久精品23欧美综合视频网站,丰满人妻一区二区三区在线视频53,丰满 | 丁香五月天资源网| 婷婷丁香激情五月| 9久热| 欧美伊人9| 99色嘟嘟精品网站| 婷婷在线视频| 日本三级黄色大片| 五月丁香婷婷AV| 婷婷五月中文字幕国产| 五月婷婷丁香成人网| 婷婷五月激情欧美| 青青日韩| 4399在线观看免费高清毛片| 国产精品99久久久久久久女警| 亚洲综合在线视频| 成人网在线视频| 天天爽夜爽| 婷婷五月天激情五月天深爱五月天| 中文无码精品一区二区三区| 成人噜噜网| 五月婷婷AV| 97操碰视频| 狠狠狠狠狠狠色| www.日本91| 亚洲天堂无码| 激情淫乱男女| 五月天激情日色在线| 亚洲美女裸体被操在线观看| av操逼网| 少妇高潮呻吟A片免费看软件| 久久久久久人妻| 色色婷婷丁香| 丝袜大香蕉| 99色视频| 无码人妻少妇色欲AV一区二区| 色婷视频| 99视频在线| 99热精品在线观看| 99热这里都是精品| 国产成人精品一区二三区熟女在线| 日韩另类| 亚洲激情综合| 波多野结衣不卡AV| 婷婷五月天激情综合网| 五月丁香啪啪拍| 九九成人精品| 丁香五月在线视频黑人| 碰碰人人人| 婷婷丁香五月天综合激情| 日韩成人不卡| 123日本不卡在线| 久草 tingting| 9 9 9色色| 中文字幕综合| www超碰| 99在线爽| 99色热综合| www色婷婷com| 五月天丁香久久| 91九色精品熟女内射| 五月婷婷六月丁香综合在线| 五月花婷婷| 久色精品| 久久久色情| 五月天色色婷婷| 亚洲sesesese| 夜夜操少妇| 婷婷色色欧美| 熟女激情网| www.超碰| 丁香五月激情啪啪综合| 99人妻碰碰碰久久久久| 99精品自拍| 五月丁香六月欧美综合| 蜜乳中文字| 亚洲视频五区| 熟妇无码乱子成人精品| 任我肏视频精品| 九九精品综合| 婷婷五月丁香高清无码| 五月婷婷开心综合| 综合久久9| 99热这里有精品| 久久国产高潮白浆免费观看99| 丁香色六月婷婷| 涩涩五| 噜噜在线| 99精品成人无码A片观看金桔| 日本网站久久| 五月天丁香网| 密桃激情五月天综合网| 久久狠狠干| 亚洲日韩一页精品发布| 五月婷婷黄| 婷婷的五月天另类视频| 99色视频在线| www99热| 91亚洲天堂| 国产永久一二一起草| 色播激情五月天| www夜夜操| 婷婷五月在线| AAAA亚洲| 九九性爱网| 欧美精品在线观看| 啪啪综合| 这里只有精彩视| 开心深爱激情网| AV六月丁香| 袁子仪视频观看| 日本天堂爱爱| 久综合九综合99| 久思思热视频在线观看| 五月丁香成人视频| A片试看50分钟做受视频| 免费看无码视频A级| 极品 少妇 内射| 婷婷欧美综合| 久久丁香婷| 天天噜天天爱| 欧美99热| 狠狠色网| 青青福利网| 综合久| 9l视频自拍九色9l视频自拍九色9l社区 | 亚洲精品视频在线播放| 狠狠综合久久综合| 中文字幕日韩无码制服诱或| 久久停停超碰| 国产亚洲色婷婷久久99精品91 www.riverspirits.org www.hnnun.com www.changh | 国产做爰视频免费播放| 91人人网| 五月天com| 色操综合| 深爱丁香激情| 五月天久久久| 亚洲成人在线播放| 五月丁香花视频| 91日综合欧美| 五月婷婷亞洲中文| 99国产精品白浆在线观看免费| 亚洲国产精品成人免费一区久久久在线观看AAAA | 波多野结衣AV无码Porn| 久久99精品久| 五月婷在线视频免费播放| 乱精品一区字幕二区| 色色精品色| 91久久久久久| 99操中文视频| 色婷婷先锋| 伊人婷婷色| 狠狠狠狠狠干| 97ai婷婷| 99视频在线精品免费观看2| 九月丁香婷婷基地| 天天色天天噜| 婷婷婷狠狠| 色色色欧美色色| 亚洲激情四射色| 99热这里只有国产精品| 综合AV网| 五月天婷婷永久免费视频| 黄色国久久| 99视频在线观看视频| 成人国产欧美大片一区| 日 日干 日日做| 国精产品一区一区三区免费视频| 五月婷婷成人网首页| 日韩丰满少妇无码内射| 男人综合网| 九九操屄| 亚洲激情综合免费| 超碰京东热av男人的天堂| 色久综合| 婷婷五月丁香久久| 九九亚洲|