色五月色开心色婷婷色丁香,五月婷婷丁香花综合网,婷婷丁香五月激情综合在线,五月婷婷六月丁香动漫,婷婷丁香五月激情综合在线,丁香花中文字幕在线观看,播五月色五月开心五月网,开心激情综合网,狠狠色丁香婷婷综合最新地址,丁香视频在线观看,狠狠做六月爱婷婷综合av,久久激情五月丁香伊人

ARTICLE DETAIL

資訊詳情

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

宿舍報(bào)修管理系統(tǒng)完整復(fù)現(xiàn):SpringBoot+Vue+MySQL全棧實(shí)戰(zhàn)

宿舍報(bào)修管理系統(tǒng)完整復(fù)現(xiàn):SpringBoot+Vue+MySQL全棧實(shí)戰(zhàn) 簡介面向高校畢業(yè)設(shè)計(jì)、課程實(shí)踐或崗位實(shí)訓(xùn)的宿舍報(bào)修管理系統(tǒng)項(xiàng)目資料適合需要完成同類課題的計(jì)算機(jī)專業(yè)學(xué)生與開發(fā)者參考。系統(tǒng)采用Java語言與SpringBoot框架構(gòu)建后端搭配Vue前端與MySQL數(shù)據(jù)庫涵蓋用戶管理、維修員管理、宿舍信息管理、配件設(shè)備管理、報(bào)修接單、配件申請(qǐng)和維修進(jìn)度跟蹤等完整業(yè)務(wù)模塊能夠支撐校園宿舍后勤報(bào)修的日常流程。資源為1個(gè)docx文檔大小4.78MB內(nèi)容包括背景分析、國內(nèi)外研究現(xiàn)狀、相關(guān)理論與技術(shù)、系統(tǒng)分析、功能設(shè)計(jì)與測(cè)試驗(yàn)證等章節(jié)并給出了基于IDEA、Navicat、Tomcat等環(huán)境的開發(fā)與運(yùn)行思路。已有433人學(xué)習(xí)下載通過查閱這篇論文可以較快梳理出宿舍報(bào)修系統(tǒng)的數(shù)據(jù)庫表結(jié)構(gòu)、核心接口劃分與前后端交互邏輯對(duì)畢業(yè)設(shè)計(jì)答辯、系統(tǒng)二次開發(fā)或?qū)W習(xí)SpringBootVue項(xiàng)目都有直接的參考價(jià)值。1. 宿舍報(bào)修管理系統(tǒng)從論文到可運(yùn)行源碼的一次完整復(fù)現(xiàn)做后勤類管理系統(tǒng)的人應(yīng)該都有感觸報(bào)修流程看起來簡單但一旦涉及多角色協(xié)同業(yè)務(wù)狀態(tài)流轉(zhuǎn)就會(huì)迅速膨脹。這份基于 Java 的宿舍報(bào)修管理系統(tǒng)資源是一個(gè)把「報(bào)修」這件事做得很完整的畢業(yè)設(shè)計(jì)項(xiàng)目技術(shù)棧是 SpringBoot Vue MySQL角色分管理員、用戶、維修員三種覆蓋了從宿舍分配、配件申請(qǐng)到維修進(jìn)度追蹤的完整閉環(huán)。論文部分把系統(tǒng)分析、數(shù)據(jù)庫設(shè)計(jì)、功能實(shí)現(xiàn)和測(cè)試用例都寫清楚了源碼部分則能直接跑起來做二次開發(fā)。適合正在做類似課題的學(xué)生或者想把校園報(bào)修場(chǎng)景數(shù)字化、需要一套基礎(chǔ)代碼的開發(fā)者。我拆完這套資源最大的感受是它的價(jià)值不在某個(gè)高深算法而在于把報(bào)修業(yè)務(wù)里那些容易被忽略的狀態(tài)節(jié)點(diǎn)設(shè)計(jì)得很完整這對(duì)課程設(shè)計(jì)和實(shí)際小規(guī)模部署都?jí)蛴谩?. 技術(shù)棧選型拆解為什么是 SpringBoot Vue MySQL2.1 后端框架SpringBoot 在報(bào)修系統(tǒng)里的真實(shí)定位這套資源后端用 Java SpringBoot 搭建SpringBoot 在這里解決的核心問題不是高性能而是「開發(fā)效率」。報(bào)修管理這類業(yè)務(wù)系統(tǒng)本質(zhì)上是圍繞數(shù)據(jù)庫表的增刪改查加上一點(diǎn)業(yè)務(wù)狀態(tài)流轉(zhuǎn)SpringBoot 的自動(dòng)配置和約定優(yōu)于配置特性能極大減少 XML 配置和模板代碼讓開發(fā)者把精力集中在業(yè)務(wù)邏輯上。資源里的實(shí)現(xiàn)方式走的是典型的前后端分離思路。后端提供 RESTful API前端用 Vue 通過 HTTP 請(qǐng)求調(diào)用接口數(shù)據(jù)以 JSON 格式交互。這種模式的優(yōu)點(diǎn)是前端頁面調(diào)整不會(huì)影響后端邏輯對(duì)后續(xù)要擴(kuò)展移動(dòng)端或者小程序端也比較方便。在一個(gè)典型的報(bào)修信息查詢接口里你可以看到這樣的 Controller 層代碼RestController RequestMapping(/baoxiu) public class BaoxiuInfoController { Autowired private BaoxiuInfoService baoxiuInfoService; GetMapping(/page) public Result queryPage(RequestParam(defaultValue 1) Integer pageNum, RequestParam(defaultValue 10) Integer pageSize, RequestParam(required false) String baoxiuren) { QueryWrapperBaoxiuInfo wrapper new QueryWrapper(); if (StringUtils.isNotBlank(baoxiuren)) { wrapper.like(baoxiuren, baoxiuren); } wrapper.orderByDesc(addtime); PageBaoxiuInfo page new Page(pageNum, pageSize); baoxiuInfoService.page(page, wrapper); return Result.success(page); } }這里需要說明幾個(gè)關(guān)鍵點(diǎn)。QueryWrapper是 MyBatis-Plus 提供的條件構(gòu)造器用like方法實(shí)現(xiàn)模糊查詢orderByDesc按時(shí)間倒序排列——報(bào)修信息通常需要展示最新記錄。分頁用的是 MyBatis-Plus 的Page對(duì)象前端傳入 pageNum 和 pageSize 兩個(gè)參數(shù)就能控制每頁數(shù)據(jù)量。Result.success是統(tǒng)一響應(yīng)封裝把返回?cái)?shù)據(jù)包一層前端就能根據(jù) code 判斷請(qǐng)求是否成功。資源里的后端結(jié)構(gòu)不是簡單的單文件堆砌而是分包明確controller 層處理請(qǐng)求路由service 層寫業(yè)務(wù)邏輯mapper 層負(fù)責(zé)數(shù)據(jù)庫操作entity 層定義實(shí)體類。這種分層做法在應(yīng)對(duì)報(bào)修業(yè)務(wù)里那些多表關(guān)聯(lián)查詢時(shí)很有用比如報(bào)修信息要關(guān)聯(lián)用戶表查姓名、關(guān)聯(lián)宿舍表查位置、關(guān)聯(lián)維修員表查分配情況。2.2 前端與數(shù)據(jù)庫Vue 組件化開發(fā)和 MySQL 表設(shè)計(jì)思路前端的 Vue 部分資源里用的是 Vue 2 Element UI 組件庫。Element UI 的表格、表單、彈窗組件能快速搭建管理后臺(tái)界面對(duì)做課設(shè)或者內(nèi)部管理系統(tǒng)來說是最省力的方案。頁面結(jié)構(gòu)上登錄頁、注冊(cè)頁、用戶報(bào)修頁、管理員后臺(tái)頁、維修員任務(wù)頁是分開的通過 Vue Router 做路由跳轉(zhuǎn)。數(shù)據(jù)庫設(shè)計(jì)是這套資源里比較扎實(shí)的部分。MySQL 數(shù)據(jù)庫配合 Navicat 可視化工具管理核心表包括管理員表 users、用戶表 yonghu、維修員表 weixiuyuan、宿舍信息表 sushexinxi、報(bào)修信息表 baoxiuxinxi、配件設(shè)備表 peijianshebei 等一共十幾張表每張表的字段設(shè)計(jì)都和業(yè)務(wù)場(chǎng)景對(duì)應(yīng)。以報(bào)修信息表為例字段設(shè)計(jì)基本覆蓋了報(bào)修業(yè)務(wù)流程的所有節(jié)點(diǎn)字段名類型說明備注idbigint主鍵自增baoxiubianhaovarchar報(bào)修編號(hào)唯一baoxiurenvarchar報(bào)修人關(guān)聯(lián)用戶賬號(hào)baoxiuneirongtext報(bào)修內(nèi)容故障描述baoxiushijiandatetime報(bào)修時(shí)間默認(rèn)當(dāng)前時(shí)間weixiuyuanvarchar維修員接單后回填weixiuzhuangtaivarchar維修狀態(tài)待接單/維修中/已完成wanchengshijiandatetime完成時(shí)間狀態(tài)變更時(shí)更新這套表設(shè)計(jì)的巧妙之處在于它把報(bào)修業(yè)務(wù)的狀態(tài)流轉(zhuǎn)直接體現(xiàn)在表的字段變更上。報(bào)修單創(chuàng)建時(shí)只有報(bào)修人和報(bào)修內(nèi)容維修員接單后回填維修員字段維修過程中更新狀態(tài)完成后再寫入完成時(shí)間。這個(gè)思路比額外建一張狀態(tài)流轉(zhuǎn)表要簡單直接對(duì)業(yè)務(wù)規(guī)模不大的場(chǎng)景完全夠用。2.3 權(quán)限控制三種角色在資源里是怎么落地的角色權(quán)限是管理系統(tǒng)的核心這套資源在登錄接口里實(shí)現(xiàn)了基于角色的路由控制。登錄成功后后端根據(jù)不同角色返回不同菜單權(quán)限前端再根據(jù)權(quán)限渲染對(duì)應(yīng)的導(dǎo)航欄。PostMapping(/login) public Result login(RequestBody Users user) { QueryWrapperUsers wrapper new QueryWrapper(); wrapper.eq(username, user.getUsername()) .eq(password, user.getPassword()); Users loginUser usersService.getOne(wrapper); if (loginUser null) { return Result.error(用戶名或密碼錯(cuò)誤); } String token UUID.randomUUID().toString().replace(-, ); redisTemplate.opsForValue().set(token, loginUser.getUsername(), 2, TimeUnit.HOURS); MapString, Object data new HashMap(); data.put(token, token); data.put(role, loginUser.getRole()); data.put(username, loginUser.getUsername()); return Result.success(data); }這段登錄邏輯有幾個(gè)地方值得注意。密碼校驗(yàn)用的是最簡單直接的等值查詢這是很多課設(shè)項(xiàng)目的常見做法但生產(chǎn)環(huán)境必須換成加密存儲(chǔ)。UUID.randomUUID()生成的隨機(jī)字符串作為 token存到 Redis 里并設(shè)置 2 小時(shí)過期時(shí)間這樣能控制會(huì)話有效期。返回的 role 字段告訴前端當(dāng)前用戶是什么角色前端拿這個(gè)字段控制菜單顯示。資源里的權(quán)限控制粒度是「角色-菜單」級(jí)別的也就是不同角色看到不同菜單但同角色內(nèi)沒有更細(xì)分的操作權(quán)限區(qū)分。對(duì)于課程設(shè)計(jì)和小型后勤系統(tǒng)來說這個(gè)粒度夠了但如果要做更嚴(yán)格的權(quán)限管理可以考慮引入 Spring Security 或者 Shiro 做細(xì)粒度控制。3. 數(shù)據(jù)庫物理設(shè)計(jì)從 E-R 圖到建表 SQL 的落地細(xì)節(jié)3.1 核心表關(guān)系用戶、宿舍、維修員、報(bào)修單怎么關(guān)聯(lián)這套資源的數(shù)據(jù)庫設(shè)計(jì)遵循了第三范式的基本要求各表之間通過外鍵邏輯建立關(guān)聯(lián)。用戶表 yonghu 和宿舍分配表 sushefenpei 通過用戶賬號(hào)字段關(guān)聯(lián)宿舍信息表 sushexinxi 和宿舍分配表通過宿舍名稱關(guān)聯(lián)報(bào)修信息表 baoxiuxinxi 同時(shí)關(guān)聯(lián)用戶表和維修員表。有一個(gè)設(shè)計(jì)細(xì)節(jié)值得展開說說。宿舍信息表和宿舍分配表是分開的宿舍信息表記錄的是靜態(tài)數(shù)據(jù)——宿舍名稱、類型、樓棟、房間號(hào)、可住人數(shù)、已住人數(shù)、床位數(shù)量宿舍分配表記錄的是動(dòng)態(tài)數(shù)據(jù)——誰住在哪個(gè)宿舍的哪個(gè)床位、分配日期、備注。這種拆分避免了一個(gè)學(xué)生換宿舍時(shí)要去修改宿舍表的問題只需要在分配表里更新記錄。建表 SQL 里能看到一些常見的設(shè)計(jì)約定。所有表都有 id 主鍵和 addtime 時(shí)間戳字段id 用 bigint 類型自增addtime 默認(rèn)值設(shè)為CURRENT_TIMESTAMP。這類約定在 MyBatis-Plus 的自動(dòng)填充功能下很好用插入數(shù)據(jù)時(shí)不用手動(dòng)維護(hù)創(chuàng)建時(shí)間字段。CREATE TABLE baoxiuxinxi ( id bigint(20) NOT NULL AUTO_INCREMENT, addtime timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP, baoxiubianhao varchar(20) NOT NULL, baoxiuren varchar(20) DEFAULT NULL, baoxiuneirong longtext, weixiuyuan varchar(20) DEFAULT NULL, weixiuzhuangtai varchar(20) DEFAULT 待接單, PRIMARY KEY (id) ) ENGINEInnoDB DEFAULT CHARSETutf8mb4;這里有幾個(gè)細(xì)節(jié)要注意。longtext類型用于報(bào)修內(nèi)容字段因?yàn)楣收厦枋隹赡鼙容^長。weixiuzhuangtai字段設(shè)置了默認(rèn)值 待接單這樣創(chuàng)建報(bào)修單時(shí)不用顯式傳這個(gè)字段。字符集用utf8mb4而不是utf8原因是utf8mb4支持完整的 Unicode 字符包括 emoji 表情避免用戶在報(bào)修內(nèi)容里輸入特殊字符時(shí)出現(xiàn)亂碼。3.2 權(quán)限表的 token 處理機(jī)制管理員表 users 和 token 表的設(shè)計(jì)有一個(gè)值得學(xué)習(xí)的地方。token 表和用戶表是一對(duì)一關(guān)系token 表里有 userid、username、tablename、role、token、expiratedtime 字段。這里的 tablename 字段有點(diǎn)意思它記錄的是當(dāng)前 token 對(duì)應(yīng)哪個(gè)用戶表的表名。為什么需要這個(gè)字段因?yàn)橄到y(tǒng)有三類用戶——管理員、普通用戶、維修員——他們可能存儲(chǔ)在三張不同的表里。token 表里的 tablename 字段就是為了區(qū)分這個(gè) token 是哪個(gè)登錄主體的。這種設(shè)計(jì)在課設(shè)項(xiàng)目里比較常見雖然用統(tǒng)一的用戶表加角色字段也能實(shí)現(xiàn)但對(duì)于已有三張表的數(shù)據(jù)庫結(jié)構(gòu)這種擴(kuò)展方式改動(dòng)最小。過期時(shí)間expiratedtime的處理邏輯也需要留意。資源里的實(shí)現(xiàn)是在登錄時(shí)生成過期時(shí)間在攔截器里校驗(yàn)當(dāng)前時(shí)間是否超過過期時(shí)間。如果你把這套代碼用于生產(chǎn)建議把這個(gè)校驗(yàn)邏輯統(tǒng)一放到攔截器或者過濾器里避免在每個(gè) Controller 里重復(fù)寫。3.3 常用查詢場(chǎng)景的索引視角從檢索能力角度看這套表設(shè)計(jì)報(bào)修信息表的 baoxiubianhao 字段值得建唯一索引因?yàn)闃I(yè)務(wù)上需要通過報(bào)修編號(hào)快速定位單子。用戶表的 yonghuzhanghao用戶賬號(hào)字段在登錄時(shí)做等值查詢也應(yīng)該建索引。宿舍信息表的 sushemingcheng 字段在宿舍分配時(shí)做關(guān)聯(lián)查詢加普通索引就夠了。資源里的 SQL 腳本已經(jīng)包含了一些索引定義但在 Navicat 里導(dǎo)入后建議再檢查一遍重點(diǎn)看那些經(jīng)常出現(xiàn)在 WHERE 條件和 JOIN 條件里的字段是否建了索引。實(shí)際操作中我遇到過這種情況數(shù)據(jù)量小的時(shí)候感覺不到區(qū)別一旦報(bào)修記錄累積到幾千條全表掃描的查詢延遲就會(huì)明顯增加。4. 核心功能實(shí)現(xiàn)報(bào)修閉環(huán)的三個(gè)關(guān)鍵模塊4.1 報(bào)修流程從用戶提單到維修員接單的狀態(tài)機(jī)報(bào)修管理是這套系統(tǒng)的核心業(yè)務(wù)流整個(gè)流程可以抽象成一條狀態(tài)鏈用戶提交報(bào)修 → 管理員審核或直接進(jìn)入待接單池 → 維修員接單 → 維修中 → 完成。資源里的實(shí)現(xiàn)方式是用戶在前端填寫報(bào)修內(nèi)容提交報(bào)修單進(jìn)入待接單狀態(tài)維修員在待接單列表里查看所有未接單的工單接單后狀態(tài)變?yōu)榫S修中維修完成后更新狀態(tài)為已完成。后端的接單接口是流程的關(guān)鍵節(jié)點(diǎn)代碼大致是PostMapping(/jiedan) public Result jiedan(RequestBody BaoxiuInfo baoxiuInfo) { BaoxiuInfo info baoxiuInfoService.getById(baoxiuInfo.getId()); if (info null) { return Result.error(報(bào)修單不存在); } if (!待接單.equals(info.getWeixiuzhuangtai())) { return Result.error(該報(bào)修單已被接單); } info.setWeixiuyuan(baoxiuInfo.getWeixiuyuan()); info.setWeixiuzhuangtai(維修中); info.setJiedanshijian(new Date()); baoxiuInfoService.updateById(info); return Result.success(接單成功); }這段代碼體現(xiàn)了一個(gè)容易被忽視的業(yè)務(wù)約束接單前的狀態(tài)校驗(yàn)。如果在更新狀態(tài)前不檢查當(dāng)前報(bào)修單是否已經(jīng)是「待接單」?fàn)顟B(tài)就可能出現(xiàn)兩個(gè)維修員同時(shí)搶同一張單子后提交的人把前一個(gè)人的信息覆蓋掉。這種并發(fā)問題在這個(gè)資源里用的是「先查再改」的方式雖然不做數(shù)據(jù)庫層面的樂觀鎖但對(duì)課設(shè)場(chǎng)景夠用。如果你想做得更穩(wěn)可以在表里加一個(gè) version 字段在更新 SQL 里加WHERE version #{oldVersion}的樂觀鎖條件。4.2 宿舍分配用戶、宿舍、床位三者關(guān)聯(lián)的精確度問題宿舍分配模塊解決的核心問題是「哪個(gè)學(xué)生住在哪個(gè)宿舍的哪個(gè)床位」。資源里的實(shí)現(xiàn)邏輯是管理員在后臺(tái)選擇宿舍再選擇用戶接著填入床位號(hào)保存后生成一條分配記錄同時(shí)更新宿舍表的已住人數(shù)。這里有一個(gè)容易踩坑的業(yè)務(wù)點(diǎn)宿舍的容量校驗(yàn)。分配宿舍時(shí)應(yīng)該校驗(yàn)該宿舍當(dāng)前已住人數(shù)是否小于可住人數(shù)否則會(huì)出現(xiàn)超員分配。我在拆解資源時(shí)看了一下這個(gè)校驗(yàn)邏輯在源碼里并不完整需要自己補(bǔ)上。補(bǔ)上這個(gè)校驗(yàn)的代碼邏輯如下// 查詢宿舍當(dāng)前狀態(tài) Sushexinxi sushe sushexinxiService.getById(sushefenpei.getSusheId()); if (sushe null) { return Result.error(宿舍不存在); } int yizhu Integer.parseInt(sushe.getYizhurenshu()); int kezhu Integer.parseInt(sushe.getKezhurenshu()); if (yizhu kezhu) { return Result.error(該宿舍已住滿); } // 執(zhí)行分配 sushefenpeiService.save(sushefenpei); // 更新已住人數(shù) sushe.setYizhurenshu(String.valueOf(yizhu 1)); sushexinxiService.updateById(sushe);這里有個(gè)細(xì)節(jié)值得注意yizhurenshu和kezhurenshu在表設(shè)計(jì)里用的是 varchar 類型而不是 int。這在數(shù)據(jù)庫設(shè)計(jì)里其實(shí)不算最佳實(shí)踐因?yàn)橐鰯?shù)值比較時(shí)必須先轉(zhuǎn)型。這個(gè)資源這么設(shè)計(jì)可能是因?yàn)閷?shí)體類里為了方便前端展示用了字符串類型。如果你在二次開發(fā)時(shí)要把這塊做嚴(yán)謹(jǐn)建議把這兩個(gè)字段改成 int 類型Mapper 層做一層類型轉(zhuǎn)換即可。4.3 配件申請(qǐng)與庫存聯(lián)動(dòng)維修員領(lǐng)料的后臺(tái)邏輯配件申請(qǐng)模塊的連接點(diǎn)在維修員和配件設(shè)備之間。維修員接單后如果發(fā)現(xiàn)維修需要更換配件可以在線提交配件申請(qǐng)管理員審核通過后配件庫存數(shù)量需要相應(yīng)減少。PostMapping(/shenqing) public Result shenqing(RequestBody Peijianshenqing peijianShenqing) { Peijianshebei peijian peijianshebeiService.getById(peijianShenqing.getPeijianId()); if (peijian null) { return Result.error(配件不存在); } int kucun Integer.parseInt(peijian.getKucun()); int shenqingshu Integer.parseInt(peijianShenqing.getShenqingshu()); if (kucun shenqingshu) { return Result.error(庫存不足); } // 減少庫存 peijian.setKucun(String.valueOf(kucun - shenqingshu)); peijianshebeiService.updateById(peijian); // 記錄申請(qǐng)單 peijianShenqing.setZhuangtai(已發(fā)放); peijianshenqingService.save(peijianShenqing); return Result.success(申請(qǐng)成功); }這個(gè)接口是「先扣庫存再保存申請(qǐng)單」的順序按正常事務(wù)語義來說應(yīng)該在一個(gè)事務(wù)里執(zhí)行否則如果保存申請(qǐng)單失敗庫存已經(jīng)被扣掉了。資源里沒有顯式加Transactional注解這是一個(gè)潛在隱患。你在二次開發(fā)時(shí)建議加上這個(gè)注解讓這兩個(gè)數(shù)據(jù)庫操作處于同一事務(wù)中保證數(shù)據(jù)一致性。配件模塊還有一個(gè)值得提的設(shè)計(jì)配件分類表和配件設(shè)備表分離。分類表存配件類型設(shè)備表存具體配件通過分類 ID 關(guān)聯(lián)。這種設(shè)計(jì)的好處是新增配件時(shí)不用改表結(jié)構(gòu)選擇已有分類就行。4.4 維修進(jìn)度查詢用戶端的狀態(tài)可視化維修進(jìn)度模塊是用戶體驗(yàn)的加分項(xiàng)。用戶在提交報(bào)修單后可以在「維修進(jìn)度查詢」頁面看到自己所有報(bào)修單的當(dāng)前狀態(tài)。這里的實(shí)現(xiàn)思路很簡單就是按照當(dāng)前登錄用戶的賬號(hào)查詢?cè)撚脩羲袌?bào)修單按時(shí)間倒序展示狀態(tài)字段。進(jìn)度展示的字段設(shè)計(jì)覆蓋了報(bào)修全生命周期提交時(shí)間、當(dāng)前狀態(tài)、維修員姓名、維修完成時(shí)間。用戶在列表里能直觀看到自己的單子處于什么環(huán)節(jié)是待接單、維修中還是已完成。這塊功能實(shí)現(xiàn)不復(fù)雜但它是用戶視角里感知系統(tǒng)價(jià)值最直接的地方。需要注意的是維修進(jìn)度查詢?cè)谫Y源里的實(shí)現(xiàn)是按報(bào)修單狀態(tài)字段實(shí)時(shí)讀取的不是寫一條進(jìn)度日志表記錄每次狀態(tài)變更。如果你需要做「完整操作留痕」比如記錄誰在什么時(shí)間把狀態(tài)從 A 改成了 B那就需要額外建一張狀態(tài)變更日志表在每次狀態(tài)變化的代碼邏輯里插入一條日志記錄。5. 避坑指南五個(gè)讓系統(tǒng)在演示現(xiàn)場(chǎng)翻車的常見問題5.1 端口被占用導(dǎo)致 Tomcat 啟動(dòng)失敗現(xiàn)象在 IDEA 里啟動(dòng) SpringBoot 項(xiàng)目控制臺(tái)直接報(bào)Port 8080 was already in use整個(gè)應(yīng)用起不來。原因本機(jī)之前有別的程序占用了 8080 端口或者上一次運(yùn)行項(xiàng)目的進(jìn)程沒被完全殺掉。這在課設(shè)演示前最容易發(fā)生越急越找不到是哪個(gè)程序占的。解決Windows 系統(tǒng)用netstat -ano | findstr 8080查出占用端口的 PID然后到任務(wù)管理器里結(jié)束對(duì)應(yīng)進(jìn)程或者直接改application.properties里的server.port配置把端口換掉。我一般建議直接用后者省事改完重啟就行。5.2 MySQL 時(shí)區(qū)問題導(dǎo)致時(shí)間字段相差 8 小時(shí)現(xiàn)象系統(tǒng)里新增報(bào)修記錄的時(shí)間在頁面上顯示比當(dāng)前時(shí)間晚了 8 小時(shí)。原因MySQL 8.0 版本之后的連接驅(qū)動(dòng)對(duì)時(shí)區(qū)敏感如果 JDBC URL 里沒有指定 serverTimezone 參數(shù)默認(rèn)使用服務(wù)器本地時(shí)區(qū)而國內(nèi)環(huán)境經(jīng)常會(huì)匹配到 UTC 標(biāo)準(zhǔn)時(shí)間。解決在數(shù)據(jù)庫連接 URL 里明確加上?serverTimezoneAsia/ShanghaiuseUnicodetruecharacterEncodingutf8。這個(gè)問題在資源配套的數(shù)據(jù)庫連接配置文件里其實(shí)已經(jīng)處理過但如果你自己重裝了 MySQL 或者改了連接串很容易重新踩進(jìn)去。配置改完重啟應(yīng)用時(shí)間就正常了。5.3 登錄頁驗(yàn)證碼或密碼校驗(yàn)不走攔截器現(xiàn)象未登錄狀態(tài)直接訪問后端接口地址居然能拿到數(shù)據(jù)登錄功能形同虛設(shè)。原因SpringBoot 項(xiàng)目里的攔截器只對(duì)部分 URL 生效如果配置 WebMvcConfigurer 時(shí)攔截路徑寫得不對(duì)比如只攔截了/admin/**漏掉了/api/**或者登錄接口本身就在攔截名單里就會(huì)導(dǎo)致鑒權(quán)邏輯不生效。解決先看資源里的攔截器配置類把不需要登錄就能訪問的接口路徑全部加到放行列表里比如/login、/register其余接口全部攔截。放行列表怎么寫可以看一下攔截器的實(shí)現(xiàn)一般是在excludePathPatterns()方法后面追加。把攔截器的匹配規(guī)則改成/**再排除掉白名單路徑是最穩(wěn)妥的。5.4 Navicat 導(dǎo)入 SQL 腳本時(shí)外鍵約束失敗現(xiàn)象把資源里的數(shù)據(jù)庫腳本用 Navicat 導(dǎo)入過程中報(bào)錯(cuò)提示Cannot add foreign key constraint導(dǎo)致部分表創(chuàng)建失敗。原因腳本里建表的順序可能有問題先創(chuàng)建了有外鍵的子表后創(chuàng)建了被引用的父表或者是兩張表的字段類型不完全匹配比如一邊是 bigint 另一邊是 int。解決不用 Navicat 直接導(dǎo)整份腳本改成先執(zhí)行建表語句創(chuàng)建所有表再單獨(dú)執(zhí)行外鍵約束的修改語句。或者干脆把腳本里所有外鍵約束刪掉表結(jié)構(gòu)建好之后手動(dòng)在 Navicat 里補(bǔ)外鍵關(guān)系。課設(shè)評(píng)審階段外鍵約束是否完整影響不大關(guān)鍵是表能建成功、數(shù)據(jù)能存進(jìn)去。5.5 前端頁面請(qǐng)求跨域?qū)е陆涌谀貌坏綌?shù)據(jù)現(xiàn)象前端 Vue 項(xiàng)目啟動(dòng)后頁面能打開但所有數(shù)據(jù)都是空的瀏覽器控制臺(tái)報(bào)Access to XMLHttpRequest has been blocked by CORS policy錯(cuò)誤。原因前端運(yùn)行在 8080 端口后端運(yùn)行在 8081 端口瀏覽器出于同源策略限制禁止跨端口發(fā)起 AJAX 請(qǐng)求。解決后端加一個(gè)跨域配置類實(shí)現(xiàn) WebMvcConfigurer 接口并重寫 addCorsMappings 方法。代碼如下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)要配合使用否則有的瀏覽器版本會(huì)報(bào)錯(cuò)。6. 從課程設(shè)計(jì)到能用二次開發(fā)時(shí)我最先動(dòng)刀的五個(gè)位置拿到這套資源如果你是拿來交作業(yè)跑通就完事了。但如果你想讓這個(gè)系統(tǒng)真正能放進(jìn)一個(gè)宿舍樓里用我建議按下面的優(yōu)先級(jí)做改造。第一處是密碼加密。資源里的密碼是明文存儲(chǔ)的登錄也是直接WHERE username ? AND password ?查詢。現(xiàn)實(shí)場(chǎng)景里哪怕只是內(nèi)部系統(tǒng)明文密碼也是不可接受的。用 Spring Security 的 BCryptPasswordEncoder也就是一個(gè)加密工具類注冊(cè)時(shí)對(duì)密碼做哈希登錄時(shí)用matches方法做比對(duì)改動(dòng)量在注冊(cè)接口和登錄接口兩個(gè)地方半小時(shí)能改完。第二處是報(bào)修單狀態(tài)的并發(fā)控制。之前提到接單接口的「先查再改」邏輯存在并發(fā)覆蓋風(fēng)險(xiǎn)加樂觀鎖是最省事的方案。在報(bào)修信息表加 version 字段更新時(shí)用UPDATE baoxiuxinxi SET weixiuzhuangtai 維修中, version version 1 WHERE id ? AND version ?受影響行數(shù)為 0 就說明有人搶先改過了提示用戶刷新后重試。第三處是文件上傳和圖片展示。報(bào)修單里如果能附帶現(xiàn)場(chǎng)照片會(huì)大幅減少溝通成本。資源里沒有實(shí)現(xiàn)圖片上傳需要自己補(bǔ)一個(gè)上傳接口把文件保存到服務(wù)器本地目錄訪問時(shí)通過一個(gè)映射路徑直接讀取。注意上傳目錄要放在應(yīng)用外部不然重新部署的時(shí)候文件會(huì)丟。第四處是數(shù)據(jù)備份。很多課設(shè)系統(tǒng)跑著跑著數(shù)據(jù)庫就崩了崩了就沒有后悔藥。至少配置一個(gè) MySQL 定時(shí)任務(wù)每天凌晨用mysqldump把整個(gè)庫導(dǎo)出一份 SQL 文件到備份目錄。這個(gè)操作不寫代碼一行 crontab 就能解決。從那以后我每次接手這類系統(tǒng)都強(qiáng)制自己先讀一遍數(shù)據(jù)庫表設(shè)計(jì)文檔再動(dòng)手改代碼。表結(jié)構(gòu)理順了業(yè)務(wù)邏輯八九不離十就能看懂。這套資源的表設(shè)計(jì)雖然不是完美的但它把報(bào)修業(yè)務(wù)的關(guān)鍵實(shí)體和狀態(tài)都覆蓋到了適合做基礎(chǔ)再去改。希望這篇拆解能幫你在自己的項(xiàng)目里少走幾步彎路。本文還有配套的精品資源點(diǎn)擊獲取
返回列表
PREV
查看更多資訊
NEXT
返回資訊列表
香蕉免费一区二区三区不读| 欧美丝袜美女电影一二三四区| 超碰碰97资源站| 精品成人无码| 麻豆性爱视频在线播放| 熟女乱3伦999| 男人的天堂啪啪啪啪啪蜜桃不卡| 日日摸日日碰夜夜爽视频| 国产尤物AV尤物在线观看不卡| av优播| chaopen97久久| 国产野战露脸在线播放| 熟妇精品juliaannAV| 97超碰大| 国产激情久久| 天天影视91看看| 国产AV无码AV| 亚洲AV色图一区| 丁香六月东京热| 加勒比五月天| 熟女突然公开看18禁影片| 97国产综合欧美| www.zbzhongsen.com| 日韩精品一区二区人人人| 国产成人+综合亚洲+天堂| 亚91网| 久热99| 国产品精品自在在线午夜免费| 亚码激情| AV天堂国产| 97这里都是精品| 欧美精品二区视频在线| 97在线观视频免费观看| 国产精品久久久久999| 日韩欧美大片免费高清啪啪| aaa淫乱视频| 欧美日韩性爱电影在线| 欧美中字不卡| 九九热最新| 日韩兔费看黄片| 99热久| 九九热AV| 精品中文日韩字幕视频| 男人的天堂不卡一区二区| 五十路熟女人妻一区二区在线观看| caopeng97| 欧美区亚洲区偷拍区| 亚洲男人的天堂V| 先锋影音av先锋一区| 美女91av| 久久水蜜臀亚洲AV无码精品| 静品嫩模一区二区| 小视频国产| 亚洲风情综合网| 国产白领连续中出在线观看| 久久欧美性爱视频| 国产精品视频自拍在线| 久久精品91| 美女黄色一级A视频| 中文色综合| 走光一区92下载| 91无人区卡一卡二卡三乱码入口最新版:能让用户有更多选择的选择-经典说说-爱 | 99久久久无码| 久久婷色| 中国女人内射6XXXXX| 男人精品区| 亚洲一区二区专区-国产丝袜精品丝袜-成人AV| 国产 日韩 欧美高清| 亚洲成人贴图| 欧美同性恋 的搜索结果 - 91n| 婷婷激情五月| 久久精品国产亚洲AV嘿嘿| 1240青青草一区二区三区视频天爱| 9 7超碰在线免费观看| 日韩欧美视频青青| 秋霞一级视频在线观看免费| 日韩久久.一级黄色片| 国产高清亚洲日韩一区| 国产精品诱惑| 青草精品视频日本久久久久网站在线| 九九免费影片| 伊人网一本| 性爱AV天堂| 亚洲午夜免费狠狠干| 操逼操网| 亚洲精品日韩国产欧美| 国产视频一区二区三区在线免费观看 | 免费成人在线观看91| 香蕉视频精品亚洲一区二区三区在线播| 国精综合一二三区影视| 久久精品视| 精品人妻一区二区三区视频| 美女黑人91神马| 黑丝91视频| 99ri在线视频| 国产精品一区二区黄片| 亚洲天堂2020| 天天干人人乐| 在线中文字幕视频| 亚洲成人精品在线一区| 日韩一级性爱无码| 日韩性爱1级片视频| 黄片qw| а√天堂资源官网在线资源| 久久无码一区二区二三区性色| 亚洲操操操无码| 精品免费成人久久| 2017天天拍大香蕉| 操一操摸一摸| 国产大陆天天艹| 久久国产乱子伦精品免费女人| 激情 欧美 亚洲 小说| 亚洲精品影视老司机| 一区在线观看中文字幕| 极品五月天噜噜| 亚洲天堂性爱| 一区中文字幕二区日韩| 精品乱码久久久久| 一二三区视频在线观看| 精品日韩人妻精品一二三区| 亚洲制服欧美另类内射| 国产剧情一区在线观看| 久久久久ab| 日本男人插女人的逼黄色| 九九九精品色乱九九九| 91老司机在线| 操逼视频亚洲| 97色冈| 国产AV人人 夜夜人人澡| 亚洲精品第一| 欧亚综合一卡二卡中文字幕| 熟妇高潮精品一区二区三区下载| 日日骚中文字幕| 明星性猛交ⅹxxx乱大交| 国产精品免费视频不卡| 久日91在线| 天天综合色图| 国产噜噜噜噜噜久久久久久久久| 久久水蜜臀亚洲AV无码精品| 99re这里只有精品2| 无码天堂| 日本操逼视频导航| 欧美色图电影| 亚洲一区二区三区春色| 九九AV| 激情小说亚洲| 亚欧美天堂在线| 午夜理论片在线观看免费| 97超碰天天| 密臀在线一区尤物| 国产精品久久久午夜夜伦鲁鲁| 五十路一区无码| 无码视频一区二区| 大香蕉久久| 乱伦一二三区| 婷婷8月天青娱乐| 久久久久久久久久久人妻| 17c在线成人免费A片观看| 91热| 97碰碰日本乱偷人妻中文的| 丁香六月婷婷久久综合| 视频一区二区三区精品| 男人的天堂视频精品乱在线| 青青欧美| 97人亚洲综合字幕| 久久精彩免费视频| 乱伦Av网| 日韩兔费看黄片| 青青草无码视频| 日韩人妻资源网| 欧美日韩日产免费网站看| 久久久久白虎| 四虎AV无码| 国产一区在线免费播放| 欧美高清18A片| 性高潮久久久久久久久久久| 少妇三P| 久久久婷婷婷| AA特级绝黄| 亚洲日韩人妻中文字幕一区| 色路综合| 亚洲 综合 第一页| 2025亚洲男人天堂| 99色在线观看| 自拍偷拍 高清无码| 操一操摸一摸| 国产白丝网站| 国产九九九九九九| 综合天天网| 不卡在线一区,精品一区二区三区中| 一本精品日本在线视频精品| 97天天日| 青青草中出视频| 亚洲综合码| 成片免费观看视频大全| 欧美成人性爱视频免费观看| 俄罗斯一区二区视频在线观看| 亚洲激情视频| 国产精品97视频| 日本中文字幕一区| 99国内熟女露脸视频| 成人熟女视频一区二区三区| 色婷婷五月天| 熟女乱3伦999| 性综合网| 天天干18禁| 99久在线精品99re8| 操逼999| 久久久久久久九九九九九九| 日韩人妻少妇 一区二区三区| 免费簧片在线观看| 欧美精品日韩久久久九| 性爱综合一区二区| 婷婷超| 易易A毛视频| 自拍第一页| 在线小视频| 乱老熟女一区二区三区| 10000部十八禁看电影| 91丝袜美腿网站| 狠狠色综合网| 十八禁视频网站| 九九精品99| 欧美18 在线观看| 亚洲色阁| 精品69网| 天美传媒婬乱在| 国产成人五月天丁香花| 国产精品午夜福利| 日韩久射综合| 春色综合网| 久久精品区| 亚洲综合色图欧美| 欧美熟妇色| 亚洲综合嫩| 超碰在线综合97| 天天影视之亚洲综合网| 999色欧美中文字幕| 亚洲脚交| 久久精品女同亚洲女同13| 人妻少妇久久中文| 91热色| 亚洲影视第一页| 一二三四区操操Av| 久久久亚洲精品中文字幕人妻| 青青草原伊人网| 一区二区三区在线日韩影院观看| 久久久青草青青国产亚洲免观精品高清完整版_97久久综合区小说区图片区,国精品 | 亚洲人妻精品一区二区| 黄色交缠性感爆操91国产精品免费一区二区三区| 天操天操夜操夜月操月年年操操| 狠狠躁久久躁| 无人区高清电影免费观看一区二区三 www.qmcai2.com | 国产精品成人无码a v毛片| 黄视频免费| 高清一区AV无码| 萌白酱自拍视频| 久久av成人无码免费| 国产一区二区在线电影| 色婷婷影视| 婷婷亚洲综合| 91xingse| 男人的天堂VA在线| 成年人性爱日韩| 五月天婷精品激情| 97自拍视频在线| 亚洲精品男人的天堂| 天天综合色电影| xxx亚洲午夜天堂| 四虎免费看黄| nuu12国产麻豆精品| 大逼色网站| 国产精品诱惑| 国产精品国产自产高清AV| 亚洲 国产 精品一区| 久99热| 久操高青| 91爱看| 精品一级| 成全动漫视频观看免费下载| 欧美少妇性爱网站| www.狠狠| 超碰 另类 欧美 | 又大又白奶子| 欧美大香蕉97| 久久9久9久99久9久9| 午夜后入| 五月天婷婷社区| 三级日本一区二区三区| 国产又大又硬又长又粗| 极品色社| 嫩草黄页| 日本加勒比无码专区| 人人操人人舒服| 中国女人内射6XXXXX| 91精品大奶人妻| 人妻密肉在线观看| 色欧美在线| 欧美人人操人人插| 9999久久久久| 啊啊啊啊操死我了| 久久人妻熟女一区二区| AV污污污污| 日韩人妻操B| 精品视频久久区| 老熟女综合网| 福利操逼| 91黑丝在线播放| 久久女同性恋一二区| 99在线精品视频| 男人天堂黄片| 日韩午夜啪啪视频| 国内97干免费看| 久久久久久久| 國產尤物AV尤物在線觀看| 青青草原人妻| 欧美 日韩第一性色| 久久性爱视频99| 婷婷亚洲综合| 1.igao73.com 加入收藏 免费专区 国产精品 中文字幕 日韩精品 欧美精品 精彩 | 极品少妇久久久| 飘花国产午夜精品不卡| 吻戏激情性巴克| 亚av顶级裸体一区二区三区四区五区| 超碰在线一区二区| 睡产熟女乱伦| 精久久久91| 九月伊人中文字幕| 人看人人摸人人操| 成人天天爽| 欧美激情激情xxxx欧美专区| 996热| 蜜桃久久久久久久久久久久| 蜜臀久久久99久久久久 | 91模特在线观看| 涩涩涩综合| 97人妻色| 日本熟妇人妻一区二区三区| 美中日韩无码| 欧美78| 欧美精品成人一区二区在线观看| 色色五月天婷婷| 天天操狠狠日夜夜干超大胆开放com大香蕉视频在线观看 | 日本黄色精品| 婷婷深爱五月| 亚洲青青草| 午夜福利国产欧美日韩夜夜| 性欧美另类高清| 久久一二三四五六七八九区| 淫荡少妇免费| 91+欧美| 江都AV在线| www欧美91| 99精品久久久久久久婷婷| 97超碰亚洲| 百度百度日本操逼| 久久久99久9| 欧美性暴力| 婷婷丁香五月激情啪啪| 一二三卡欧美日韩人妻免费精品| 亚洲国产成人福利在线观看| 成人五月天色网| TS人妖另类精品视频系列| 岛国片在线观看视频亚洲| 人人摸人人舔一区二区| 黄色性爱网网| 久久久91福利姬| 99国产精品视频尤物| 99re69| 韩国三级一线观看久| 久久久婷婷| 欧美96在线|欧| 国产一级黄色片在线观看| 另类专区加勒比| 377p欧洲日本亚洲大胆| 欧美日韩97在线| 美女尤物人人操| 日韩丝袜高跟制服在线观看| 国产一区自拍欧美日韩| 91天天c| 亚洲精品国产无码高清| 97在线播放| 国产不卡中文字幕免费avi| 中文字幕片| 中文字幕在在线观看网站| 麻豆天美国美国产| 亚洲美女精品| 性夜影院爽黄A爽免费动漫| 精品欧美А∨无码黑人大荫蒂| 国产AV人人 夜夜人人澡| 男插女青青影院| juliaann精品熟女一区| 在线αⅴ| 老司机久久| 国产一级内射无挡观看| 色香在线| 熟女色综合久久| 精品二区三四区五电影 | 国产一区二区在线播放量| 粉嫩国产精品久久久| 精品高清av中文字幕| 一区 欧美 日韩 麻豆| 人人操人人插 - 百度 - 百度| 东京热亚洲一区二区| 欧美日韩传媒| 97 亚洲 日韩 欧美 在线| 97爱亚洲| 欧美日韩黄色片一区二区三区四区人与兽做爱| 一区二区三区黄色片a| 99精品久久久久久| www狠狠| 日韩精品人妻一区二区| 午夜呻吟欧美| 久久黄色性爱视频| 97在线免费公开视频| 色噜噜狠狠色综无码久久合欧美| 91亚洲色图| 黄网站黄视频网站进入口 | 天天天天干| 啊啊啊啊啊啊好多水| 日韩99神马视频播放| 国产51色综合久久免费| 97人人夜| 亚洲一二三精品久久网| 久久亚洲AV无码专区首页| 综合97久久| 亚洲天堂综合AV| 看免费一级在线播放毛片| 精品乱码在线观看| 狠狠狠狠狠干| 在线亚洲 欧美 日本专区| 亚洲涩图欧美| 精品久久久无码| 艹精品| 一本一道久久综合久久| 一二三啪啪专区| 日本操色导航| 久久岛国| 欧亚日韩三区| www.色婷婷| 黄色十八禁网站| 日韩av影片在线观看| 96一区二区| 五月天伊人| 一本一道vs波多野结衣| 999精品久久久久久久| 亚洲精品蜜桃久久久一区二区三区| 影视综合无码少妇| 超碰99re| 蜜屁Av| 亚洲欧美一区二区三区一猛片| 超碰97亚洲| 九九九九九用不成了| 1024日韩| 中国一级操逼视频| 超碰美国| 超碰久久网| 亚洲影视综合网| 日韩人妻制服丝袜av| 亚洲在饯| 日日做夜狠狠爱欧美黑人| 五月婷婷丁香| 中文字幕一区电影在线观看| 激情综合网激情综合| 天堂综合| 口爆综合网| 2019久久久久久久久福利| 欧美色图99| 自拍视频大全亚洲专媒视频/一区二区三区| 国产亚洲精品自在线亚洲情侣| 国产在线综合福利网站| 超碰98综合网| 欧美三级一级| 九九av| 狠狠中文字幕| 中文字幕一区二区视频在线观看 | 久草免费在线一区二区| 久久的免费性爱视频| 亚洲图片视频小说| 久久綜合很很很| 久久精品一区二区三区不卡| 人妻中文字幕日韩电影| 吖在线不卡一区二区国产剧情| 97chaopengongkai| 大香蕉2017| 乱老熟女一区二区三区| 91肏屄网| 9久久精品| 91快色色色色色| 一级性爱视频免费观看| 丰满人妻-区二区三区免费看 | 97 视频在线| 天天日天天操心| 婷婷AV一区二区三区| 人人看人人插| 最新亚洲黄色免费电影| 欧洲人妻视频| 97国产精选| 九九九九免费高| 啊啊啊啊啊啊好湿好爽视频| 亚洲中文字幕97久久精品少妇| 亚洲欧美激情在线视频| 亚洲无码一二三区| 日本狂喷奶水在线播放212| 国产无码成人无码| 97免费在线观看| 限制级中的三级片中的黑粗大屌屌日人妻熟女| 97一区二区三区视频| 中文字幕 一区二区 亚洲无码| 精品一区二区三区蜜桃臀赵总 | 欧美影音在线| 天天综合网91入口| 爱干爱射网啊啊啊| 亚洲天堂女优在线| 高潮内射在线| 蜜桃成人1区2区3区| 日韩欧美字幕亚洲一区二区| 国产操偷| 香蕉热人人精品| 亚洲国产精品无码AV久久久| 操人妻视频| 久久精品28| 校园春色 亚洲| 男人的天堂三级| 日韩淫色网| 天天综合网~91综合网| 素人无码中文字幕| 欧美91精彩| 国产中文福利| 新97国产超碰| 日本蜜桃| 国产久久久久影院老熟女| 亚州综合图片| 97就爱干| 999熟女精品| 国产91专区| 舔舔啊| 大但人体久久久久| 亚州五月| 另类小说欧美激情校园春色| 最新制服中文第一页| 天天干18禁| 啊啊啊啊好爽好舒服一区二区易域| 99re这里只有精品3| 欧美综合站| 嗯嗯,啊啊,国产精品| 炮色五月| 97免费视频网| 天天色怡春院| com 首页 18岁 禁区 女优 免费 精选 同城| 少妇内射视频| 78m啪啪啪| 亚洲天天更新| 9国产超碰| 98人妻精品一区二区色欲| 国产老太乱伦一区| 波多野结衣之双飞调教在线播放 | 无码137片内射在线影院| 亚洲综合影院| 国产精品成人久久一区二区三区 | 色女免费在线观看视频网址| 欧美天天影院| 伊人超碰97| 国产91福利小视频在线观看| 久久精品国产亚洲妲己影视| 综合五月婷婷亚洲一区| 色青青久久影视| 午夜天堂精品久久久久91| 久热69九色熟妇97| 精品久久大胆人体| 亚洲素人综合| 91综合网站| 国产精品成久久久久午夜午夜| 曰韩精品视频一区二区| 欧美日韩国内不卡| 欧美亚涩| 九九九久久久久| 精久久久| 91亚洲网| 国产高清精品一区二区三区毛片 | 99国产精品久久久在线播放| 2020中文字幕在线| 久久久9999| 无码高清少妇久久| 国模吧 一区二区三区| 啊啊啊啊嗯嗯嗯用力好爽| 久久亚洲不卡一区二区三区| 亚洲综合贴图91 | www久久久| 91红杏| 97欧美色综合| 嗯嗯啊啊操我| 欧美激情另类一区二区| 色一情一乱一乱一区91Av| 成人美女av| 国产精品无码久久久久2025| 欧美亚洲日本激情在线| 素人播放一区| 91高跟美女在线播放| 91国精产品| 毛片99-全集电影手机免费观看完整-B029AV| 91麻豆天美国产欧美高潮| 国产激情在线| 97无码视频在线播放| 亚洲男人的天堂在线看| 一二三啪啪专区| 午夜福利在线视频1000| 九九热五区| 国产青青综合伊人| 在线视频 亚洲精品| 日韩性爱再线视频| 亚洲国产精品久久久久婷婷青年| 1.igao73.com 加入收藏 免费专区 国产精品 中文字幕 日韩精品 欧美精品 精彩 | 四虎国产精品永久地址入口| 香蕉婷婷| 亚洲欧美一区二区不卡视频播放 | 丁香激情网| 国产精品欧美激在线| 亚洲一区二区中文字幕| 久久精品人人做人人看| 欧美亚洲日韩人妻在线观看| 欧美猛交黑寡妇中文字幕| 老鸭窝成人免费毛片视频| 美女视频尤物网在线看| 正在播放:深夜激情大战,自带黑丝袜全力输出骚穴 | 日日爽夜夜爽| 小草av不卡亚洲二区| 国产精品诱惑| 久久久久久电影| 色综合久| 亚洲综合小视频小说在线观看| 婷婷人妻激情| 色色福利| 中文字幕在线观看网页| 欧美性夜| 亚洲图片欧洲图片aⅴ| 色第一页| 欧美美女视频| 人妻精品视频一区二区| 天天舔九色婷婷| 青青草毛片| 色噜噜人妻丝袜a∨先锋影| 岛国黄| 大香蕉九九| 99后入| 超碰在线人妻中文字幕| 天天爽爽爽爽| 亚洲综人网| 你懂的在线观看区国产| 婷婷色色五月| 蜜桃臀一区二区三区久久| 精品欧美А∨无码黑人大荫蒂| 综合色播| 亚洲熟妇综合久久久久久| a片久久久久久久久久久久 | 婷婷综合伊人一区| 9久久精品| 加勒比东京热五月天天堂网| 91香蕉视频在线观看免费| 青青草九九九九九| 大香蕉淫人网| 亚洲AV无码成人精品久久| 99精品高潮| 99这里只有精品国产| 男人下部插入女人下部 | 久久精品女同亚洲女同13| 色欲无码人妻日韩欧美精品| 97se综合网| 私人尤物在线精品不卡| 色综合一区二区三巨| 清纯唯美综合| 色婷久久| 91痴汉| 亚洲av淫乱| 狠操91,com| 色欲无码人妻日韩欧美精品| 操b网站亚洲无码| 欧美v日韩v亚洲v最新在线| 97资源超碰| 欧洲精品一级二级精品综合视频综合| 91狠狠色丁香婷婷综合久久精品| 青青草玖玖爱| 欧美午夜一区二区三区| 青青草玖玖爱| 亚洲日韩美国人妻| 91在线/欧洲| 久久亚洲欧美中文字幕国语| 亚洲第91页| 中文人妻av高清一区| 欧美色日本| 欧美日韩免费性爱| 久久一二三四不卡| 久操凹凸视频| 试看福利| 丰满少妇乱子伦精品无| 欧美日韩亚洲电影| 国产欧美亚洲精品a第2页| 国产自偷| 欧美九九九| 中文字幕性感少妇av| 少妇精品久久| 97精品国产手机| 高清在线偷拍自拍视频| 97免费在线视频| 天天操天天日天天干| 九九色逼| 日本操逼aaaaa| 国产二区三区粉嫩在线| 久热9| 亚洲欧美综合网站| 日操粉逼逼| 草久在线| 91日韩网站| 欧美成人精品一区二区男人蜜臀| 伊人五月天激情| 日韩电影免费网站麻豆视频| 717影院理论午夜伦八戒| 最新制服中文第一页| 激情综合五月| yaouchengrenav| 久热久一区二区三区| 中国AV美女| 亚洲综合骚逼| 国产精品一区二区 尿失禁| 欧美成人贴图| 精品视频久久久久九九九九9999| 亚洲乱码精品一区二区| 美欧老女人97| 亚洲最大无码中文字幕网站| 综合亚洲欧美| 欧美少妇大量自拍视频在线观看| 五月天久久综合网| 亚洲色图自拍| 99无码视频| 欧美激情综合| 色大香蕉97N| 日本三级R| 成人性交午夜免费片| 中文字幕视频2区| av一区二区三区四区| 99蜜月精品久久| 五月丁香影视| 国产福利视频精品视频| 人澡逼| 思思热在线| 欧美区亚洲区偷拍区| 人妻黑丝袜电影| 亚洲激情AV| 精品人妻免费观看| 日韩精品影视| 深夜啪啪啪视频免费| 国模无码人体一区二区三| 热热色AV| 日韩亚洲美女一区久久| 久久av一级av少妇av高潮| 91日日夜夜| 美女诱惑1区2区| 久操网视频| 黑白配性爱AV成| 蜜桃精品一区二区三区ww| 岛国毛片在线观看免费| 操一对老熟妇爽上天视频| 亚洲黑丝在线| 成人a级高清视频在线观看| 91亚洲黄色网| 日韩天堂av电影在线观看| 欧美熟女操屄| 伊人天天久久动态图| 91AV天美在线视频| 狠狠 91| 日韩人妻播放| 性猛交| 夜夜操一区二区| 六月丁香网| 欧美一区二区日韩三区| 国产91丝袜 在线播放| 97超碰逼| 免费一级欧美片片线观看| 亚洲巨爆乳一区二区三区四季网| 热久久无毒不卡| 亚洲美女精品| 操逼操逼逼操操逼91 | 在线可观看的黄色网址| 亚洲视频中文一区| 好爽要喷了| 日韩伦理视频| 丰满的三级少妇欧美久久久| 无码人妻一区二区三区色欲aⅴ| 欧美日韩系列| 97久久超碰国产网站| 欧美性爱在线无码| 一级岛国大片| 春色综合网| 欧美大干日韩| 91在线免费观看处女| 抽插无码高清一区| 另类TS人妖一区二区三区| 水滴偷拍| 91碰碰| 五月婷婷hd| 少妇超碰在线| 欧美强奸乱| 另类亚洲一区二区三区| 99999久久精| 亚洲drav色图| 日逼五月天| 久久精品人体| 成人av动漫在线观看| 国产精品盗摄 偷窥盗摄| 亚洲视频精选| 日韩精彩视频| 加勒比海成人视频网| 青青11操操操操操操操操| www久久99| 无码操逼网| 欧美 精品国产制服第一页| 少妇高潮喷水无套久久久久久| 日韩99神马视频播放| 久久久影院| 欧美一级色| 日本高清一区二区在线| se吧提供国产乱老熟视频胖女人| 欧美亚洲中文| 久久久啊啊啊| 青青草国产一区二区三区| 亚洲aw毛茸茸在线| 夜夜爽77777| 亚洲啪啪性视频| 一本色道久久天天射天天干| 99国产精品| 在线视频资源| 久久久三区二区一区| 色阁阁AV综合网| 美国久久一二三四| 打av高清| 熟女丝袜视频| 欧美激情综合色综合啪啪五月| 天天干天天操天天干天天操| 91人妻中文| 九九精品99| 中国AV美女| 亚洲色人| 日韩九九九| 我要色综合网站| 51一区二区三区| 99色骚| 日韩99神马视频片| 欧美亚洲国产自久久| 黄色大片一区二区密桃丝袜| oumeisetu综合| 亚洲人妻一区二区三区| 97色在线| 五月天激情四射| 日韩精品中文字幕二区| 久久久夜夜嗨免费视频| 91 亚洲 欧美 日韩 国产 综合| 国产三级中文有码在线视频| 乱伦a片视频| 狠狠中文字幕| 99在线无码精品秘 入口黑人| 国产精品久久久久无码A√| 天天色黄色影院天天操| 国产一级特黄大片处女| 成人小说视频在线精品欧美| 无码高清少妇久久| 一级二级三级黑人无码| 亚洲 日本 国产 综合| 91深夜夜| 欧美性爱第一区| 91碰超| 四虎影视永久在线免费| 色色福利| 极品白嫩美女白浆成人福利在线看| 亚洲一本大道中文字幕无码在线| www成人啪啪18秘 免费| 乱老女人一区二区视频| 日本久久99| 国产11页| 久久9亚洲| 青青国产在线拍揄自揄拍| 韩日巨乳美女免费视频在线观看| 天堂网 主播 亚洲| 国产视频97| 91四海无码日韩欧美| 亚洲熟女综合一区二区| 国产强奸乱伦第1页| 日韩无码一级黄色av片| 亚洲一区操| 丰满岳乱妇一区二区三区| 3028国产精品| 蜜桃无码AV一区二区| 色色热| 久青草影院| 暖暖精品二区三区观看| 99青青草国产视频| 精品久久九| 激情文学亚洲| 天天射夜夜骑| 中文?日韩?免费?精品| 亚洲图片激情综合另类| 伊人网综合在线视频| 9l视频自拍9l九色成人| 91久久婷婷| 成人AV素股で擦久久| 啊啊啊啊啊啊啊好爽不要| 天天综合网AV91| 囯产精品强| 欧美性少妇| 视频不卡中文字幕| 成人无码在线视频网站| 国产精品久久久无码AV网站| 欧美成人午夜免费福利785| 色久综合| 美日韩一卡二卡三卡免费人妻精品| 男人天堂日日夜夜| 精品少妇人妻| 色色九区| 国产一区自拍欧美日韩| 亚洲一区二区性爱电影| 好吊妞转入那个网| 久久久性爱视频| 久久久久96| 国产精品久久| 色色香蕉| 久久怡红院| 91成人在线| 91爱做| 久热伊人| 成人小说视频在线精品欧美| A片 AV一级在线播放观看免费| 亚洲 欧美都市激情| 日韩9999| 后入合集| 在线观看一级α片刺激高潮视频| 中日韩熟女| 国产精品色色| 丰满少妇高潮无码| 国产搭汕a级片| 国产精品高清2021在线| 图片区小说区| 丁香五月久久| 久久伊人影院| 国产久久久久久| 国产 日韩,欧美 自拍| 377p欧洲日本亚洲大胆| 色噜噜婷婷| 美女十八禁| 久久婷婷亚洲欧| 无卡一区=区| 综合网91| 特级丰满少妇一级AAAA爱毛片| 色九九九九久| 欧美亚洲厕所精品偷拍91| 国产视频第二页| 国产精品 久久久精品一牛| 在线另类| 超碰1997| 无码78| 丝袜剧情| 混色激情av| 岛国不卡超碰护士AV在线播放| 日本一级真人黄色性爱视频| 强奸乱伦av电影| 日韩伦理视频| 欧美久久人体| 国产美女高潮| 日韩免费簧片| 大香蕉综合| 青青草精品| 久久久精精精| 一本一道vs波多野结衣| www.97在线| 亚洲,欧美,综合网| 懂色av色欲av蜜臀av| 亚洲 图片 综合91| 九九九九九九精品| 双插性欧美一二三区| 日韩欧美麻豆大片| 国产97色在线 | 亚洲| 97视频网站| 久久老子无码午夜伦不卡| AV在线资源| 男人的天堂1024| 天天躁日日躁XXXXYY| 日韩钢筋无码高清啾啾啾| 大鸡巴久久| 91操人| 青青草九九九九九| 蜜桃臀久久| 亚洲精品成人动漫在线| 大香蕉伊人色偷偷在线| 亚洲国产精品久久久男人的天堂| 亚洲综合第一页| av资源在线观看少妇| 亚洲欧美日韩电影网站一区 | 操我无码| 国产美女激情| 中文字幕国产在线天堂| 久久国产视频性吧 | 色官网在线| 久久一二三四五六七八九区区| 青娱乐休闲视频在线观看| 99热婷婷| 另类欧美| 秋霞久久亚洲精品成人| 操B久久| 91美女视频| 99热免费| 日本亚洲嫩草影院啪啪| 亚洲黄色网址视频| 神马影院午夜福利久久久| 精品国产乱码| 九九玖玖精品| 97国产超碰| 精品视频久久久久九九九九9999| 国产精品97超碰| 超碰成人公开| 一直超碰| 中文字幕一区二区三区四区在线视频| 亚洲91少妇| 久久久日本电影| 亚洲av无码成人精品国产| 亚洲九九视频在线观看| 日韩人妻中文视频| 亚洲精品蜜桃久久久久久久| 四虎国产精品永久在线囯在线| 中文字幕二区日韩天堂| 久久岛国| 啊灬啊灬啊灬好深灬快高潮了动漫-国产字幕国产在线观看-B049AV | 91n免费处女| 亚洲啪啪视频免费| 2025亚洲男人天堂| 欧美欧美啪啪视频| 天天射,天天操,天天爽-国内精品一区二区三区-成人AV | 国产精品无码AV网站| 久久网亚洲| 国产美女mm131爽爽爽爽| 久久草视频污视频| 中文字幕交换人妻| 中文字幕人乱码中文字的预防方法| 精品美女久久久久| 99中出在线| 大学生美女口爆| 久久色一区| 亚洲福利影院一区久久| 99爱久久视频频| 国产精品人妻一区二区| 天天综合香 ld视频| 日韩成人精品| 欧美天堂第二区| 韩三级a视频在线观看| www.高清无码诱惑一区.com | 男人天堂2019亚洲| 国产一区二区在线播放| 欧美极品女人的天堂| 综合欧美亚洲| 婷婷丁香五月综合| 97手机日韩| 91肏屄网| 日韩成年人性爱视频| 99国产精品人妻人伦| 91久久久亚洲| 天天干天天日天天射黄色| av天堂电影网| 99精品网| 2019天天干| 奸色色 男人天堂 天天射| 中文字幕天堂在线| 亚洲欧美setu| 丝袜美腿制服人妻二区中文字幕| 性色高清..……| 99操逼| 亚州综合| 超碰99热中文字幕| 久久av一级av少妇av高潮| 日韩青久久| 日日狠狠久久偷偷色综合免费| 啊啊啊啊啊在线| 日本日日色视频| 日韩精品黄片免费观看| 土豪酒店各种姿势玩弄极品幼稚| 中文字幕 码精品视频网站| 毛片一区二区| 超碰1997| 97人人模人人爽人人| 曰韩中文人妻视频| 综合97亚洲| 首页中文字幕中文字幕免费| 黄色工厂这里只有精品| 99热精品青草在线| 国产成人亚洲精品无码古代早漏男 | 99热精品青草在线 | 亚洲激情在线观看一区| 97欧美久久久久久久| 人妻少妇久久久| 国产亚洲色停停久久99精品91| 情侣操 逼视频99| 色啪网| 性天堂| 香港日本韩国人妇99www.wccm20| 国产三级日产三级韩国三级| 综合第一页| 少妇人妻无码| 粉嫩绯色AV一区二区在线| 欧美亚洲综合高清在线| 蜜臀99999| 亚洲AV无码国产精品久久久久| 91精品国产综合久久久蜜臀酒店| 亚洲欧洲日产国产综合网| 黑人黄片在线免费观看| 九九综合九九综合| 精品综合久久久久久97| 超碰av人人人| 国产精品蜜臀久久久久无码AV| 中文字幕国产| 亚洲男人的天堂va亚洲男人社| 五月天婷婷色| 色婷婷六月丁香七月婷婷| 中文字幕无码不卡啪啪| 偷拍欧美激情| 亚洲成人一区二区精品| 91爱| 98福利在线视频| 亚洲欧美中文日韩视频中国语| 国产91精品在线免费| 黑人综合色| 夫妻四区五区六区| 中文字幕狠狠玩| 99久久精品国产系列| 久久后入制服| 中文字幕视频一区视频二区| 亚洲黄色网址视频| 翔田千里AV无码秘 三区| Aa东京男人的天堂| 国产天美欧美| 天堂中文资源在线bt| 国产精品人妻无码久久久互動交流| 激情四射婷婷六月天| 调教熟妇 久久久久久| 日韩国产成人自拍视频| 男人天堂电影院| 午夜精品久久久99热蜜桃的功能特点| 麻豆2区1区天美| 色婷婷视频| 97超碰欧美精品| 九区国产| 欧美制服网站美腿丝袜| 国产精品一二三在线看| 国产美女在线精品免费看| 午夜传煤十二区精品| 久久99手机免费视频| 蜜臀少妇一区二区| 综合欧美日韩在线观看| 成人精品久久久午夜福利| 亚洲男人在线观看天堂| 精品一区二区三区蜜桃臀www| 日韩精品人妻中文字幕有码午| 91亚洲色人| 亚洲牲交| AV天堂因数|