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

ARTICLE DETAIL

資訊詳情

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

SpringBoot+Vue+MySQL汽車服務(wù)管理系統(tǒng)畢設(shè)源碼全解析

SpringBoot+Vue+MySQL汽車服務(wù)管理系統(tǒng)畢設(shè)源碼全解析 如果你點進來那大概率和我當(dāng)年一樣——手頭剛拿到一套 SpringBootVueMySQL 的汽車服務(wù)管理系統(tǒng)畢設(shè)源碼有數(shù)據(jù)庫腳本、有論文、還有部署文檔但打開工程的一瞬間整個人是懵的代碼從哪看起MySQL 怎么還原前端怎么跑起來論文里那些功能模塊圖和數(shù)據(jù)表到底怎么畫的答辯時老師問“你的系統(tǒng)有哪些表”該怎么答我當(dāng)年做畢設(shè)的時候就是這么一路踩坑過來的。這套汽車服務(wù)管理系統(tǒng)算是畢設(shè)題目里非常典型的“前后端分離 CRUD 權(quán)限管理 業(yè)務(wù)流程”組合覆蓋了用戶管理、車輛信息、預(yù)約服務(wù)、保養(yǎng)維修工單、配件庫存、會員儲值等一堆常見場景。倒不是說它有多高級而是它夠完整——一套代碼里能同時體現(xiàn) SpringBoot 的后端分層、Vue 的前端組件化、MySQL 的關(guān)系建模剛好踩在絕大多數(shù)本科畢設(shè)的要求上。這篇博文我就按“拿到源碼之后該干什么”的順序把這套系統(tǒng)的架構(gòu)拆解、數(shù)據(jù)庫設(shè)計、前后端實現(xiàn)、本地部署、生產(chǎn)發(fā)布、論文寫作和答辯準備全部捋一遍。不管你是零基礎(chǔ)直接改源碼還是打算自己從頭敲一遍你都能照著操作把它跑起來。這篇內(nèi)容的核心關(guān)鍵詞其實就三個SpringBoot、Vue、MySQL。圍繞它們把工程講透了剩下的全是細節(jié)。1. 系統(tǒng)整體設(shè)計與架構(gòu)思路拆解1.1 汽車服務(wù)管理系統(tǒng)到底要管什么汽車服務(wù)管理說白了就是一家汽車維修保養(yǎng)門店的后臺系統(tǒng)。你可以把它想象成一個簡化版的“4S 店管理后臺”但不需要管那么復(fù)雜的供應(yīng)鏈和財務(wù)核心就管幾件事會員信息誰在我們這兒辦過卡車牌號多少聯(lián)系電話多少車輛是什么型號。車輛信息每輛車綁定到某個會員名下記錄品牌、車型、車牌、里程數(shù)等。預(yù)約/接待客戶打電話或到店預(yù)約洗車、保養(yǎng)、維修項目前臺在系統(tǒng)里登記。服務(wù)工單接待員開單技師接單干活記錄用了什么配件、工時費多少。配件庫存機油、機濾、火花塞、剎車片這些常用配件要有入庫、出庫、庫存量查詢。結(jié)算/儲值會員套餐、余額扣費、常規(guī)收款記錄。明白了業(yè)務(wù)范圍你再看源碼里的模塊劃分就特別容易對號入座。很多同學(xué)拿到代碼之后一頭扎進 controller 包結(jié)果看了半天不知道每個接口是干嘛的就是因為沒先在腦子里建立業(yè)務(wù)地圖。正確的順序是先打開數(shù)據(jù)庫腳本文件一般叫 schema.sql、init.sql 或 xxx.sql把數(shù)據(jù)表看一遍表和表的關(guān)系捋清楚了整個系統(tǒng)大概什么樣你就心里有數(shù)了。1.2 為什么采用 SpringBoot Vue MySQL 這套組合先回答一個你可能困惑的問題畢設(shè)為什么爛大街地用這套組合答案是兩個原因——好找工作、好寫論文。從就業(yè)角度講SpringBoot 是 Java 后端崗位事實上的標配框架Vue 是前端框架里市場占有率最高的那一檔MySQL 是使用量最大的開源關(guān)系型數(shù)據(jù)庫。你把這個項目寫進簡歷面試官不會覺得陌生問的問題基本都不會跳出網(wǎng)上已有的海量面經(jīng)。可以說這是一套既保底又能簡單出效果的組合。從畢設(shè)本身角度講SpringBoot 自動配置特性讓項目搭建成本變得極低你不需要像使用 SSM 那樣寫一大堆 XML 配置。Maven 管理依賴也方便一個 pom.xml 就能把所有第三方庫拉齊。Vue 則天然適合前后端分離的開發(fā)方式頁面組件化、路由管理、Axios 請求庫前端代碼結(jié)構(gòu)一目了然寫論文畫功能模塊圖的時候特別容易切分層次表達。還有一點可能很多同學(xué)沒意識到這套組合本身就是答辯的“護身符”。因為前后端分離架構(gòu)本身就能引出很多問題——跨域怎么處理、登錄鑒權(quán)怎么做、接口怎么約定、部署怎么搞——這些都是老師愛問的。與其選一個冷門技術(shù)棧被問倒不如選這套你能在網(wǎng)上找到大量參考資料的組合。1.3 前后端分離架構(gòu)的核心邏輯所謂前后端分離就是把原本寫在 JSP 或 Thymeleaf 頁面里的 Java 代碼抽離出去前端只負責(zé)頁面展示和用戶交互后端只負責(zé)提供 JSON 數(shù)據(jù)接口。簡單來說Vue 這邊的項目是一個純靜態(tài)資源工程它運行在你電腦的 8080 端口開發(fā)環(huán)境通過 HTTP 請求去訪問 SpringBoot 啟動的 8081 或 8082 端口后端接口服務(wù)。MySQL 數(shù)據(jù)庫跑在 3306 端口只被 SpringBoot 后端通過 JDBC 連接前端永遠不直接碰數(shù)據(jù)庫。這就是經(jīng)典的三層調(diào)用鏈瀏覽器訪問 Vue 頁面Vue 調(diào) SpringBoot 接口SpringBoot 讀寫 MySQL。這里有個概念特別重要Vue 只是一個靜態(tài)網(wǎng)頁工程它本身沒有“后臺”。你 npm run serve 啟動的是 webpack-dev-server 提供的一個開發(fā)服務(wù)器它把 src 目錄下的 .vue 文件編譯成瀏覽器能跑的 JS 文件。等真正要上線了執(zhí)行 npm run build生成的 dist 目錄就是一堆靜態(tài)文件你可以把這堆文件交給 SpringBoot 托管也可以扔到 Nginx 里。明白了這條調(diào)用鏈你調(diào)試的時候就有一個基本判斷頁面崩了不代表后端崩了接口報錯也不代表數(shù)據(jù)庫有問題。你先看請求地址通不通再看返回狀態(tài)碼一層層定位效率會高得多。2. 數(shù)據(jù)庫設(shè)計與核心表結(jié)構(gòu)剖析2.1 數(shù)據(jù)表清單與關(guān)系梳理我見過不少套件的源碼這套表的數(shù)量和命名大同小異。我把最常見的表整理成下面這個清單你對著自己手里的數(shù)據(jù)庫腳本核對一下基本八九不離十表名中文含義核心字段誰關(guān)聯(lián)誰sys_user系統(tǒng)用戶表id, username, password, role, status管理員、員工、會員都在這一張表里用 role 區(qū)分customer / member會員表id, user_id, name, phone, card_no, balanceuser_id 關(guān)聯(lián) sys_uservehicle_info車輛信息表id, customer_id, plate_no, brand, model, mileagecustomer_id 關(guān)聯(lián)會員service_item服務(wù)項目表id, item_name, price, duration, type預(yù)約和訂單里引用的服務(wù)項目appointment預(yù)約表id, customer_id, vehicle_id, item_id, appoint_time, status關(guān)聯(lián)會員、車輛、服務(wù)項目service_order服務(wù)訂單表id, order_no, customer_id, vehicle_id, total_amount, status核心業(yè)務(wù)表service_record服務(wù)工單/記錄表id, order_id, item_id, worker_id, parts_detail, remark一個訂單可能對應(yīng)多個服務(wù)記錄parts_info配件表id, parts_no, parts_name, stock, price被工單引用parts_stock_log配件出入庫記錄表id, parts_id, change_type, quantity, create_time記錄庫存流水payment_record支付/結(jié)算表id, order_id, amount, pay_type, pay_time關(guān)聯(lián)訂單如果你手里的庫表比這個多比如加了公告表、輪播圖表、員工排班表那說明這個源碼功能做得更全在畢業(yè)論文里就能多寫幾個模塊是加分項。如果比這個少比如沒有配件庫存表那你寫論文的時候可以自己補一個畢設(shè)老師很吃“完善庫存流轉(zhuǎn)邏輯”這一套。2.2 幾處容易踩坑的表設(shè)計細節(jié)第一個坑用戶和會員是不是一張表。有的源碼里 sys_user 和 customer 分成兩張表系統(tǒng)登錄者員工/管理員和門店會員是兩個身份。有的則直接共用一個 user 表里面有個字段叫 role靠 0/1/2 區(qū)分管理員、員工、會員。你拿到源碼先看這一處因為它直接關(guān)系到你的登錄邏輯怎么寫、注冊邏輯怎么寫答辯時老師說“會員如何在你的系統(tǒng)里注冊”你就得能答清楚。第二個坑金額字段為什么用 decimal 不用 float/double。這是數(shù)據(jù)庫設(shè)計的經(jīng)典考點也是實務(wù)里最容易出 bug 的地方。float 和 double 是浮點數(shù)在計算機里用二進制近似表示算錢的時候經(jīng)常出現(xiàn) 0.1 0.2 0.30000000000000004 這種問題。所以金額字段必須用 DECIMAL(10,2)整數(shù)部分 8 位、小數(shù) 2 位能夠精確存儲到分?!熬_存儲到分”這句話寫在論文里很加分你實際操作時也會避免很多麻煩。第三個坑外鍵到底要不要建。很多畢設(shè)源碼為了省事表里壓根沒有外鍵約束只有邏輯關(guān)聯(lián)字段比如 service_order 里有個 customer_id但它不建 FOREIGN KEY。這樣做的好處是插入數(shù)據(jù)、刪數(shù)據(jù)時不會因為外鍵約束報錯壞處是可能產(chǎn)生“孤兒數(shù)據(jù)”——比如會員被刪了他的訂單還在。我建議你保留邏輯外鍵但不建物理外鍵把這些關(guān)聯(lián)關(guān)系在 ER 圖里畫出來在 Service 層里做校驗。這樣既符合實際開發(fā)習(xí)慣又能避開很多插入失敗的問題。2.3 索引與常用查詢優(yōu)化表建完之后需要在常用查詢字段上加索引。最典型的場景登錄時用 username 查用戶表列表頁經(jīng)常按 plate_no 查車輛訂單頁面按 order_no 查訂單。這些字段默認是 VARCHAR如果不加索引數(shù)據(jù)量一上來就是全表掃描慢得驚人。建索引的 SQL 很簡單ALTER TABLE sys_user ADD INDEX idx_username (username); ALTER TABLE vehicle_info ADD INDEX idx_plate_no (plate_no); ALTER TABLE service_order ADD INDEX idx_order_no (order_no);另外一個面試官經(jīng)常會問的問題是LIKE %xxx%會不會走索引答案是模糊查詢前置百分號會讓索引失效。比如查訂單號用戶輸入關(guān)鍵字是“2024”但你 SQL 寫的是WHERE order_no LIKE %2024%那即使有索引也用不上。如果業(yè)務(wù)允許盡量用LIKE 2024%這種前綴匹配能走索引。論文里如果寫了“系統(tǒng)優(yōu)化”這一章把這條經(jīng)驗寫進去顯得很有含金量。我在實際操作中還有一個體會每次從 GitHub 上拉下這類畢設(shè)源碼不要直接復(fù)制粘貼 .sql 文件到 Navicat 里執(zhí)行。因為源碼作者用的 MySQL 版本可能和你不一樣字符集配置也不同直接跑很容易報 utf8mb4 或者排序規(guī)則錯誤。正確做法是用 Navicat 新建一個 utf8mb4 字符集的數(shù)據(jù)庫再手動運行 SQL 文件。這里順帶說一句Navicat for MySQL 在企業(yè)里很常用但如果你電腦裝不上或者覺得破解麻煩用免費的 DBeaver、MySQL Workbench 也一樣命令行導(dǎo)入 SQL 也行最終效果沒區(qū)別。3. 后端 SpringBoot 核心實現(xiàn)解析3.1 項目分層與目錄結(jié)構(gòu)后端項目拿到手第一步不是運行而是先看懂包的劃分。一個標準的 SpringBoot 前后端分離項目包結(jié)構(gòu)一般是這樣的com.xxx.car ├── common // 通用結(jié)果返回類、常量、異常處理 │ ├── Result.java │ ├── ResultCode.java │ └── GlobalExceptionHandler.java ├── config // 配置類比如跨域配置、攔截器配置、MyBatis配置 │ ├── CorsConfig.java │ └── WebMvcConfig.java ├── controller // 控制層對外暴露接口 │ ├── UserController.java │ ├── VehicleController.java │ └── OrderController.java ├── service // 業(yè)務(wù)層處理具體業(yè)務(wù)邏輯 │ ├── UserService.java │ └── impl/UserServiceImpl.java ├── mapper // 數(shù)據(jù)訪問層MyBatis 的 Mapper 接口 │ └── UserMapper.java ├── entity // 實體類對應(yīng)數(shù)據(jù)庫表 │ └── User.java └── utils // 工具類比如 JWT 工具、日期工具很多同學(xué)看源碼時喜歡從 controller 開始看看到 RestController 和 RequestMapping 就覺得懂了。這個做法在系統(tǒng)簡單時可行但放到答辯里會很虛因為老師問“你的 service 層寫了什么業(yè)務(wù)邏輯”你就答不上來了。我的習(xí)慣是按照 controller → service → mapper → entity 這個順序逐層往下讀每個接口方法在 Service 里做了什么在 mapper XML 里 SQL 怎么寫讀兩三個模塊之后整個工程的路數(shù)就通了。3.2 登錄認證JWT 方案怎么落地汽車服務(wù)管理系統(tǒng)里有管理員、員工、會員三種角色所以登錄鑒權(quán)是逃不掉的。大部分畢設(shè)源碼現(xiàn)在用的都是 JWTJSON Web Token方案它的核心思想是用戶輸入用戶名密碼 → 后端校驗通過后生成一個 token 字符串返回給前端。前端把 token 存在 localStorage 或 sessionStorage 里。后續(xù)每個請求都在請求頭里帶上Authorization: Bearer token。后端用攔截器攔截受保護的接口解析 token 判斷用戶身份。JWT 工具類在源碼里通常叫 JwtUtil 或 TokenUtils里面的關(guān)鍵方法只有兩個generateToken(userId, role)用來簽發(fā)parseToken(token)用來解析。我在實際項目里還有一個經(jīng)驗token 里只放用戶 ID 和角色不要把密碼等敏感信息放進去因為 JWT 本身只是 Base64 編碼不是加密別人拿到 token 一解碼就能看到里面的內(nèi)容。攔截器的寫法是實現(xiàn)HandlerInterceptor接口在preHandle方法里取出請求頭嘗試解析 token。解析失敗就返回 401前端拿到 401 就跳回登錄頁。我在畢設(shè)里還加了一個細節(jié)放行登錄、注冊、首頁部分接口其他接口統(tǒng)一攔截。放行列表寫到 WebMvcConfig 的addInterceptors方法里這個位置答辯時可以被問到值得你提前看明白。3.3 接口設(shè)計與異常處理的關(guān)鍵細節(jié)接口設(shè)計這塊畢設(shè)里最典型的規(guī)范就是統(tǒng)一返回結(jié)果。也就是說所有接口的返回值都是同一個格式public class ResultT { private Integer code; // 200 成功500 失敗401 未登錄 private String message; private T data; }這樣寫的最大好處是前端處理邏輯統(tǒng)一了。前端 Axios 攔截器里只需要判斷res.data.code是不是 200是就返回 data不是就彈錯誤信息不用每個接口單獨寫一套錯誤處理。全局異常處理用的是 Spring 的RestControllerAdviceExceptionHandler作用是捕獲 Service 層拋出的異常轉(zhuǎn)成標準 Result 返回不讓 Java 的堆棧信息直接暴露給前端。我改代碼時習(xí)慣在 Service 里拋各種業(yè)務(wù)異常比如“庫存不足”“該用戶不存在”“預(yù)約時間沖突”然后由全局異常處理器統(tǒng)一包裝。這套寫法在畢業(yè)設(shè)計答辯里是個亮點因為它體現(xiàn)了你對異常流的思考而不只是寫死返回。后端研發(fā)里還有一個很重要的點不要信任前端傳過來的任何數(shù)據(jù)。比如新增訂單時總金額是從前端算好傳進來的還是后端根據(jù)服務(wù)項目和配件單價自己算的正確做法一定是后端從數(shù)據(jù)庫查出單價自己計算總價。不然有心人把金額改成 0.01 提交過來你就白干了。這個細節(jié)在你的論文里也能寫系統(tǒng)安全性設(shè)計數(shù)據(jù)傳輸完整性與服務(wù)端校驗。4. 前端 Vue 端實現(xiàn)要點4.1 工程結(jié)構(gòu)與路由設(shè)計Vue 工程解壓之后核心目錄長這樣src ├── api // 接口請求模塊按業(yè)務(wù)拆分 │ ├── user.js │ ├── order.js │ └── vehicle.js ├── assets // 靜態(tài)資源圖片、樣式 ├── components // 公共組件比如分頁組件、彈窗組件 ├── layout // 后臺主頁布局包含左側(cè)菜單和頂部導(dǎo)航 ├── router // 路由配置 │ └── index.js ├── store // Vuex管理用戶登錄狀態(tài) ├── views // 頁面組件每個路由對應(yīng)一個頁面 │ ├── Login.vue │ ├── dashboard/Index.vue │ ├── user/UserList.vue │ └── order/OrderList.vue └── utils // 工具類比如 axios 封裝 └── request.js路由配置在 router/index.js 里是所有頁面的“地圖”。每個頁面是一個路由每個路由都有 path 和 component 兩個關(guān)鍵屬性。比如{ path: /order/list, name: OrderList, component: () import(/views/order/OrderList.vue), meta: { requiresAuth: true } }注意這里用的是動態(tài)導(dǎo)入() import(...)意思是這個組件在訪問到這個路由時才加載不用把所有頁面一次性下載到瀏覽器里。這就是所謂的“路由懶加載”寫論文時可以提一句“前端采用路由懶加載策略優(yōu)化首屏加載性能”。另外一個和路由強相關(guān)的問題是刷新 404。如果你把前端工程打包后放到 SpringBoot 里運行、直接訪問某個深層路徑比如 /order/list刷新頁面后會出現(xiàn) 404因為它其實是一個 SPA單頁應(yīng)用服務(wù)器上根本沒有 /order/list 這個物理文件。解決辦法是讓后端把所有非 API 請求都重新轉(zhuǎn)發(fā)到 index.html。在 SpringBoot 里可以寫個最簡單的 ControllerController public class SpaForwardController { RequestMapping(value {/, /order/**, /user/**, /dashboard/**}) public String forward() { return forward:/index.html; } }除了 forward 方案還有一種更推薦的方式用 Nginx 部署時寫上try_files $uri $uri/ /index.html;。這兩種辦法的目的都是一樣的你至少記住一種答辯時被問到前端部署問題就不會卡殼。4.2 Axios 封裝與權(quán)限控制前端調(diào)用后端接口靠的是 Axios幾乎所有畢設(shè)源碼都會在 utils/request.js 里對它封裝一次。核心邏輯包括兩段第一段是請求攔截器每次發(fā)請求前從 localStorage 里取 token然后塞進請求頭service.interceptors.request.use( config { const token localStorage.getItem(token) if (token) { config.headers[Authorization] Bearer token } return config }, error Promise.reject(error) )第二段是響應(yīng)攔截器統(tǒng)一判斷后端返回的狀態(tài)碼。如果返回 401就清空用戶信息強制跳回登錄頁如果業(yè)務(wù) code 不是 200統(tǒng)一提示后端返回的 message。service.interceptors.response.use( response { const res response.data if (res.code 401) { localStorage.clear() window.location.href /login } else if (res.code ! 200) { Message.error(res.message) return Promise.reject(new Error(res.message)) } return res.data }, error { Message.error(網(wǎng)絡(luò)異常請稍后重試) return Promise.reject(error) } )這兩個片段非常經(jīng)典你直接抄到自己的封裝里功能和安全性都有了。需要注意的一點是token 不要存到 cookie 里存到 localStorage 就夠了。Cookie 容易受到 CSRF跨站請求偽造攻擊而 localStorage 里的值不會自動附加到每個請求上相對更安全配合 Bearer Token 的方式也更現(xiàn)代。4.3 幾個核心頁面組件的實現(xiàn)思路前端頁面里登錄頁是最容易改的。它無非是一個表單校驗 調(diào) login 接口 成功后存 token 跳轉(zhuǎn)首頁的流程。你拿到源碼后重點檢查一個點密碼到底有沒有加密傳輸。如果你看到前端直接把明文密碼放進請求體建議稍微改一下加上 MD5 或 SHA-256 再提交雖然網(wǎng)上說 MD5 不夠安全但至少能在論文里寫上一句“用戶口令經(jīng)單向散列處理后傳輸杜絕明文密碼的鏈路暴露”。列表頁是所有后臺系統(tǒng)的標配比如會員列表、車輛列表、訂單列表。它們的共同套路是頁面創(chuàng)建時調(diào)用分頁查詢接口把數(shù)據(jù)渲染到表格里搜索框輸入關(guān)鍵字和下拉條件點搜索重新查詢點擊操作列按鈕打開新增或編輯彈窗。核心代碼就是loadData() { const params { current: this.current, size: this.size, ...this.searchForm } api.getList(params).then(res { this.list res.records this.total res.total }) }我建議你看這些列表頁時不要只看頁面組件本身要結(jié)合 api 目錄下的接口定義一起看。比如 user.js 里可能定義了export function getUserList(data) { return request({ url: /user/list, method: post, data }) }這里面的 URL 要和后端的RequestMapping對應(yīng)上。如果前端請求的是 /user/list 而后端接口寫在 /sysUser/list這倆對不上就肯定報錯。排查這種問題時按 F12 打開瀏覽器開發(fā)者工具看 Network 面板里請求的 URL 和后端接口路徑是否一致是最快的方法。5. 本地部署與生產(chǎn)發(fā)布實操5.1 本地環(huán)境準備JDK Maven Node MySQL要把這套源碼跑起來你本地至少得裝齊下面四樣?xùn)|西軟件版本建議用途JDK1.8 或 11運行 SpringBootMaven3.6 以上后端依賴管理Node.js14 以上前端工程構(gòu)建MySQL5.7 或 8.0數(shù)據(jù)庫先說 JDK?,F(xiàn)在很多新 SpringBoot 版本要求 JDK17但大部分畢設(shè)源碼用的是 SpringBoot 2.x對應(yīng) JDK 1.8 就夠。如果你電腦上裝的是高版本 JDK運行老的 SpringBoot 版本很容易報錯所以打開 IDEA 后先看 pom.xml 里的spring-boot-starter-parent版本。2.7.x 以下老實用 JDK83.x 版本用 JDK17。再說坑最多的 MySQL。Windows 下裝 MySQL 8.0 時網(wǎng)上教程一大堆但有幾個細節(jié)你大概率會踩到一是字符集。安裝時盡量選 utf8mb4不要用默認的 latin1否則中文數(shù)據(jù)存進去查出來全是亂碼。二是認證插件。MySQL 8 默認的認證插件是 caching_sha2_password而某些老版本的驅(qū)動或者圖形化工具連不上。你在 navicat 里連不上本地數(shù)據(jù)庫時第一反應(yīng)先查用戶表里 plugin 字段是不是 caching_sha2_password如果是執(zhí)行這一句把它改成 mysql_native_passwordALTER USER rootlocalhost IDENTIFIED WITH mysql_native_password BY 你的密碼; FLUSH PRIVILEGES;還有一個不得不提的是 application.yml 里的數(shù)據(jù)庫連接串。改三個點url 里的 IP 端口和數(shù)據(jù)庫名、username、password。另外如果你用的是 MySQL 8驅(qū)動連接串要加時區(qū)參數(shù)不然會報The server time zone value ?D1ú±ê×?ê±?? is unrecognizedspring: datasource: url: jdbc:mysql://localhost:3306/car_service?useUnicodetruecharacterEncodingutf8serverTimezoneAsia/Shanghai username: root password: 123456 driver-class-name: com.mysql.cj.jdbc.DriverMaven 和 Node 的安裝現(xiàn)在都比較傻瓜化下載安裝包一路下一步就行。裝完 Node在項目前端目錄下執(zhí)行npm install安裝依賴。如果網(wǎng)絡(luò)慢就把 npm 鏡像源換成國內(nèi)倉庫npm config set registry https://registry.npmmirror.com。這一步能幫你省掉大量等待時間。5.2 把 Vue 打包放進 SpringBoot 的兩種方式前端開發(fā)調(diào)試時是單獨起一個服務(wù)訪問真實部署時不可能讓用戶開著兩個端口。所以最終要把前端打包產(chǎn)物和后端工程合并到一起。這里有兩種常見方案方案一直接拷貝 dist 進 SpringBoot 靜態(tài)目錄執(zhí)行npm run build之后前端工程 dist 目錄里會生成 index.html 和一堆靜態(tài) JS/CSS 文件。把這些文件全部拷到后端工程的 src/main/resources/static 目錄下然后重新啟動 SpringBoot它就能直接托管這些靜態(tài)資源訪問路徑就是http://localhost:8080。這個方案適合畢設(shè)展示因為就一個 Jar 包直接java -jar就能跑起整個系統(tǒng)。但要注意文章前面提到的刷新 404 問題——拷貝完成后一定要多刷新幾個深層路徑測試一下不能只測首頁。方案二前后端分離部署用 Nginx 做反向代理如果你答辯演示的環(huán)境有公網(wǎng)服務(wù)器我推薦用 Nginx。規(guī)劃如下SpringBoot 后端跑在 8080 端口關(guān)掉前端靜態(tài)托管。Vue 靜態(tài)文件放到 Nginx 的 html 目錄里監(jiān)聽 80 端口。Nginx 配置里把/api開頭的請求反向代理到 127.0.0.1:8080。關(guān)鍵配置塊長這樣server { listen 80; server_name your-domain.com; root /usr/share/nginx/html; index index.html; location / { try_files $uri $uri/ /index.html; } location /api/ { proxy_pass http://127.0.0.1:8080; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; } }這里你可能會問前端請求的是 /user/list沒有 /api 前綴怎么辦兩個辦法后端統(tǒng)一加 context-path或者在前端 request.js 里定義 baseURL。我的建議是在 axios 封裝里把 baseURL 設(shè)為/api然后在 Nginx 里把/api前綴轉(zhuǎn)發(fā)到后端時去掉這樣后端代碼不用動location /api/ { proxy_pass http://127.0.0.1:8080/; }記住 proxy_pass 后面帶/表示把/api前綴剝掉再轉(zhuǎn)發(fā)。5.3 生產(chǎn)環(huán)境初始化與常見啟動問題部署到 Linux 服務(wù)器前數(shù)據(jù)庫導(dǎo)入和本地是一樣的新建庫、導(dǎo)入 .sql 文件。唯一要額外留神的是端口。云服務(wù)器默認安全組不開 3306 端口所以生產(chǎn)環(huán)境建議后端不要直接連 3306而是通過應(yīng)用內(nèi)的連接串訪問。這時你把 MySQL 綁定到 127.0.0.1只允許本機應(yīng)用訪問安全性會好很多。后端啟動時如果報端口被占用先查一下# 查看 8080 被誰占用 lsof -i:8080 # 或者 netstat -tunlp | grep 8080如果占了就換端口或者把占用進程停掉。前端訪問后端時如果出現(xiàn)跨域攔截后端在 CorsConfig 里配置允許所有來源和所有請求頭這是畢業(yè)設(shè)計最省事的做法registry.addMapping(/**) .allowedOriginPatterns(*) .allowedMethods(GET, POST, PUT, DELETE, OPTIONS) .allowedHeaders(*) .allowCredentials(true);生產(chǎn)環(huán)境如果怕太開放可以把allowedOriginPatterns改成你自己的前端域名但畢設(shè)階段全放開通關(guān)即可。另外很多同學(xué)忽略的一點前端打包后如果仍然請求 localhost 或后端地址要改 request.js 里的 baseURL。打包文件里的地址是寫死的不是自動變的。6. 常見問題與排查技巧實錄這部分我把這些年帶學(xué)生做畢設(shè)時最常被問的故障整理成一個速查表并按經(jīng)驗給出定位思路。你如果跑不起來先對著這個表一項項排查?,F(xiàn)象可能原因排查與解決npm install 失敗依賴源在國外網(wǎng)絡(luò)超時先執(zhí)行npm config set registry https://registry.npmmirror.com再重試SpringBoot 啟動即退出8080 端口被占用看控制臺提示改 application.yml 的 server.port或殺占用進程數(shù)據(jù)庫連接失敗密碼錯、數(shù)據(jù)庫名錯、時區(qū)參數(shù)缺失對照 5.1 節(jié)檢查 url 和賬號密碼MySQL8 記得加 serverTimezone頁面能開但數(shù)據(jù)空白后端沒啟動或路徑不對F12 打開 Network看請求狀態(tài)碼404 查路徑映射500 看后端日志登錄接口返回 401token 無效或沒帶檢查前端 axios 攔截器是否在請求頭加了 token后端攔截器放行登錄接口刷新任意子頁面 404SPA 路由模式問題用 Nginx 部署時加 try_files或?qū)?forward 到 index.html 的那個 Controller中文數(shù)據(jù)亂碼數(shù)據(jù)庫或連接串字符集不對庫和表建表時保證 utf8mb4url 加 characterEncodingutf8前端改完代碼不生效沒重新 builddevelopment 模式下改完保存自動編譯production 必須重新npm run build再重啟IDEA 里跑源碼一堆紅線JDK 版本不對或依賴沒下載完檢查 project structure 里的 SDK 是否 1.8/11依賴右鍵重新 import這里單獨把 500 錯誤拿出來多說一句。后端控制臺報異常時新手最常見的反應(yīng)是慌。正確的做法是先讀異常信息的前三行它告訴你在哪個類的哪個方法第幾行出了錯。比如NullPointerException at com.xxx.service.impl.OrderServiceImpl.java:58你直接跳轉(zhuǎn)到那行代碼十有八九是調(diào)了某個沒值的方法或字段補個判空就行。還有一個我自己特別想強調(diào)的習(xí)慣任何一次前后端交互出問題先打開瀏覽器開發(fā)者工具看 Network 面板。它可以告訴你請求是否發(fā)出、URL 是什么、狀態(tài)碼是多少、響應(yīng)體返回了啥、過了多少毫秒。這些信息比后端日志更直觀能幫你快速判斷問題在前端、后端還是網(wǎng)絡(luò)。關(guān)于數(shù)據(jù)庫導(dǎo)入報錯的另一個常見來源是 SQL 文件里有建庫語句CREATE DATABASE xxx而你用 Navicat 新建了庫再導(dǎo)入時它又執(zhí)行一遍 CREATE DATABASE。如果庫名沖突或者權(quán)限不對就會報錯。解決辦法是打開 SQL 文件把開頭幾行 CREATE DATABASE 和 USE 語句刪掉再執(zhí)行。這是我當(dāng)年栽過跟頭的真實經(jīng)歷從那以后我導(dǎo)入任何 SQL 之前都會先讀前 50 行。7. 論文寫作與部署文檔配合技巧7.1 論文的章節(jié)結(jié)構(gòu)怎么搭畢設(shè)論文的結(jié)構(gòu)是有套路的雖然每個學(xué)校模板不同但核心章節(jié)基本一致。一個標準的汽車服務(wù)管理系統(tǒng)論文目錄大概長這樣緒論背景、意義、國內(nèi)外現(xiàn)狀、論文結(jié)構(gòu)安排相關(guān)技術(shù)介紹SpringBoot、Vue、MySQL、前后端分離系統(tǒng)分析可行性分析、需求分析、用例分析、功能需求和非功能需求系統(tǒng)設(shè)計總體架構(gòu)、功能模塊設(shè)計、數(shù)據(jù)庫設(shè)計ER 圖 數(shù)據(jù)表結(jié)構(gòu)系統(tǒng)實現(xiàn)登錄模塊、用戶管理、車輛管理、預(yù)約管理、訂單管理、配件管理等核心模塊的截圖和核心代碼說明系統(tǒng)測試功能測試用例表、測試結(jié)果、兼容性分析總結(jié)與展望這里面最容易被老師盯上的是“數(shù)據(jù)庫設(shè)計”這一章。你畫的 ER 圖里實體之間的關(guān)系一定要和代碼里的邏輯關(guān)聯(lián)一致比如會員1——N車輛、訂單N——1會員、訂單1——N服務(wù)記錄。如果畫錯一個關(guān)系老師一眼就能看出來。我在指導(dǎo)畢設(shè)時發(fā)現(xiàn)學(xué)生最敷衍的部分是“系統(tǒng)測試”很多人就貼兩張截圖說“經(jīng)測試系統(tǒng)運行正?!?。這種話在老師眼里等于沒寫。正確寫法是列一個功能測試用例表格測試模塊、前置條件、操作步驟、預(yù)期結(jié)果、實際結(jié)果、是否通過。寫滿十到十五個用例測試章就很扎實了。7.2 部署文檔寫作要點“部署文檔”這四個字看起來簡單但很多同學(xué)拿到的是一個只寫了三行字的 readme裝好 mysql、修改配置文件、npm run build。這種部署文檔在評閱老師眼里是不過關(guān)的因為缺少可驗證性。一份合格的部署文檔至少要包含環(huán)境版本要求表格JDK、Maven、Node、MySQL 各自的最低版本和推薦版本。后端部署步驟導(dǎo)入數(shù)據(jù)庫、修改配置文件、啟動項目的命令和驗證方式。前端部署步驟安裝依賴、修改接口地址、打包、產(chǎn)物位置。常見問題端口占用怎么處理、數(shù)據(jù)庫連不上怎么辦、接口跨域怎么排查。你要是有余力可以把它做成 Shell 自動部署腳本。比如寫一個deploy.sh里面把后端打包、前端打包、文件拷貝這三步串起來。這套腳本放到部署文檔里不僅自己部署省事論文的“系統(tǒng)部署”章節(jié)里還能貼出來當(dāng)亮點。一個我珍藏許久的小技巧部署文檔里的每一步命令都先在干凈的機器上親自跑過一遍然后把復(fù)制粘貼下來的真實輸出寫進文檔不要憑記憶編命令。因為文檔是給別人看的每一步都必須有據(jù)可查。7.3 答辯前值得準備的幾個問題最后說一個很多同學(xué)緊張的問題答辯老師會問什么。我總結(jié)了幾個高頻必問你現(xiàn)在就可以對著源碼練習(xí)你這個系統(tǒng)有哪些角色各自的權(quán)限范圍是什么——你要能說出管理員可以做員工配置和會員查詢普通員工只能做預(yù)約登記和工單錄入會員只有小程序端或客戶端的查詢和預(yù)約功能。表之間是怎么關(guān)聯(lián)的——你選一張核心表比如 service_order講清楚它引用了哪幾張表的哪些字段。JWT 的 token 過期了怎么辦——你要能說出登錄攔截器里解析 token 失敗會返回 401前端收到 401 會重新跳轉(zhuǎn)登錄頁。如果客戶在預(yù)約時間同時被兩個訂單占用了怎么處理——你要能說出在預(yù)約 Service 里根據(jù)顧客 ID 和車輛 ID 去查已有預(yù)約如果沖突就拋異常或者用數(shù)據(jù)庫唯一索引兜底。系統(tǒng)的安全設(shè)計體現(xiàn)在哪些方面——密碼加密存儲、JWT 鑒權(quán)、后端數(shù)據(jù)校驗、統(tǒng)一異常處理、敏感字段不返回到前端。你如果每一問都能結(jié)合自己的代碼說上兩三句答辯想掛都難。我個人在實際操作中的體會是拿到這套汽車服務(wù)管理系統(tǒng)源碼之后先花兩個小時把數(shù)據(jù)庫腳本讀一遍比先折騰運行環(huán)境更重要。因為你只有先看懂?dāng)?shù)據(jù)表和字段你才能真正理解這個系統(tǒng)。拿著它去對照前端頁面、對照后端接口你很快就能把整個項目的脈絡(luò)梳理清楚。代碼不在多在于你能不能在關(guān)鍵處講明白這套思路放到任何畢設(shè)項目上都通用。
返回列表
PREV
查看更多資訊
NEXT
返回資訊列表
亚洲啪AⅤ永久无码| 黄色成人网久久久久久| 欧美伊人电影| 伊人久久在线视频观看| 超碰人人超在线观看| 人妻加勒比东京热| 国产免费一区| 午夜小电影在线插入淫高潮| 大香蕉520| 无码一区二区三区四区五区六区七区八区九区十区视频 | 欧美亚洲丝袜美女电影| 加勒比色综合| 精品国产无码中文| 91人妻丝袜无码| 国产第11页| 亚州性色| 大香蕉九九| 欧美大干日韩| 国产区性爱在线视频秋霞豆| 精品一二三区四视频| 在线毛片片免费观看| 亚州宗合另类| 成人无码电影在线观看网| 久久婷婷视频| 九九九九国产| 国产AV天美| 张柏芝国产一区在线观看| 青青操轻轻| 国产AV线| 毛片电影一区二区三区| 精品999一区二区| AA丁香综合激情| 日日嗨AV一区二区夜夜| 国产精品麻豆视频网站| 国产性感在线观看| 亚洲一级性爱视频免费看| 国产日本熟女顶级一区二区三区视频 | 99热这里都是精品| 男人下部插入女人下部| 久9re热视频这里只有精品| 综合网,亚洲,欧美| 美日韩男女操屄视频| 江都AV在线| 蜜乳视频网站| 久久超碰com| 天天综合在线4| 黑人免费福利视频| 超碰97久久国| 亚洲欧美激情在线视频| 不卡一区二区日本视频| 东京热毛片调教| 激情四射婷婷四五月天| 精品久久久久久中文| 91AV入口| 91性感在线| 超碰午夜| 亚洲少妇色| A一区片| 日韩欧美性吧婷婷乱伦大香蕉 | 日韩精品在线观看观看| 亚洲性网| 亚洲人精品午夜不卡| 欧美综合网在线| 97国产超碰| 久久本道| 亚洲欧美国产日本一区二区三区| 天天视频黄| 久久成人精品| 精品二区久久| 91老妇女| 国产一线二线三线av| 操b网站亚洲无码| 你草精品在线视频| 亚洲AV乱码专区国产噜噜亚洲| www.国产高潮精品| 5278欧美一区二区三区| 五月丁香六月激情| 好湿好紧好爽 视频| 国产强奸超碰AV| 欧美黄色大片在线观看| 青青伊人这里只有精品| 欧美性爱伊人| 国产免费一区二区在线A片视频| 九月丁香综合网| 亚洲精美粉嫩嫩泬在线观看 | 97香蕉碰碰人妻国产欧美| 一区二区你上我| 久久黄色性爱视频| 国产精品剧情| 91色婷婷综合久久中文字幕二区| 熟妇色99| 爱妃国产亚洲视频中文字幕| 国产91会所女技师在线观看| 色噜噜人妻丝袜a∨先锋影 | 久九九九九九九九热| 99www.bibizy香蕉资源国产一区二区三区高清 | 日韩av熟女一区二区三区成人| 日韩偷拍色图| 亚洲第91页| 亚洲人妻久久久| 青娱乐黄色录像| 成人国产二区三区在线,男女精品。| 韩国三级色呦呦| 天天草天天干天天日| 久久国产精品一级二级三级| 亚州色国| 婷婷色综合欧美日韩| 一,爱啪啪,在线免费视频| 99九九精品| 在线洲亚线| 日韩成人人妻网站| 欧美视频一区二区在线| 97爱欧美| 亚洲精品久久久久毛片A片拉屎| 久久丁香久草综合网| 丁香五月天堂| 中文字幕午夜精品久久久| 97干97色| 91美腿丝袜在线观看| 国产精品一区在线播放| 九月丁香综合网| 久久綜合很很很| 人妻一区二区三区视频| av大香蕉网站| 天天看天天日| 伊人激情五月天一区二区| 激情六月天| 久久久久久99AV无码免费网站| 亚洲欧美日韩二区视频| 久9久9精品| 亚洲成人ab| 国产多人在线观看视频| 欧美日韩性爱视屏免费看了| 国产怡红院在线| 少妇高潮一区二区三区在线| 欧美东京热精品A∨| 欧美综合制服在线| 黄色片,com| 久久综合18p| 无遮挡男女激烈动态图| 爆乳免费黄网站| 综合久久2017| 91网站18在线观看| 2021国产成人精品久久| 三级片大波波| 操人人| 久久久男人的天堂| 久操国产在线| 91综合站| 国产吞精a级片激情电影| 97超碰欧美手机| www.色操逼| 色综合20p| 不卡av在线中文字幕| 综合干干干av久久久综合网| 欧美真人抽搐一进一出gif| 色综合五月天| 日本久久超碰| 亚州国产成人精品女人久久| 久久久 国产精品| 青青草一区二区三区四| 2020久久免费视频| 亚洲清纯唯美| 大香樵伊人网| 精品无码久久久久久久杏吧| 9长久久精品| a天堂视频| 欧美一区二区| 性欧美精| 亚洲第一页欧美| 国产精品69人妻无码久久久| 97天天摸天天爽| 污到发麻的视频 国产| 国产精品久久久久久照片| 欧美高清91| 在线视频一区二区传媒| 99久久久99久久91熟女| 久久久精品电影| 亚洲综合九| 亚洲夜夜欢无码一区二区| 精品性爱| 精品国模无码| 校园春色综合网| 日韩专区数据列表-第3230页-精品国产一区二区三区香蕉 久久99熟女人妻中文字 | 97精品综合久久网| 国语对白在线播放视频| 精品999一区二区| 少妇内射www在线观看视频| 九九热AV| 美女丝袜激情小说| 五月天婷婷久久| 操www| 97在线/亚洲| 男生女生啊啊啊啊| 狠狠躁AV| 亚洲天堂另类美腿| 有码免费观看| 人妻无码后入| 亚洲欧美日韩国产丝袜自拍中文| 伊人色综合欧美| 啊啊啊好舒服好爽啊啊啊视频| 九九九久千久久激情蜜桃在线看 | 久7色| 欧美毛片在线网| 极品五月天噜噜| 骚乳在线| 超碰欧美COM| 天天爽入口| 97精品一区二区三区免费| 久久精品国产亚洲av水密被窝| 亚洲清纯综合| 操操操日本的逼| 亚洲伊人久久精品影院| 偷拍欧美综合| 91成人在线| 久久香蕉国产传媒一区剧情天美| 国产一区二区欧美日本| 亚洲一区中文字幕一区| 国产熟女少妇一区| 九九九九九九综合| 久久亚洲欧美中文字幕国语| 色色丁香| 青青草久久| 亚洲无992tv| 午夜.DJ高清在线观看免费7 | 成人无遮挡毛片免费看| 精品免费一区| 99啪| 人人干人人操人人..com| 久久 国产精品 一区| 97久久久精品| www熟女乱伦com| 色婷婷在线视频| 在线电影亚洲色图| 丝袜人妻av一区二区| 在线观看十八禁| 东北老熟女| 欧美精品自慰系列寂寞少妇 | 久久9精品视频| 亚洲成人在线乱码色午夜| 免费精品中文字幕| 色男人色天堂东京热| 啊啊啊在线观看| 99精品无码| 欧美 色 亚洲| 好吊妞转入那个网| 欧美综合天天| 人妻 欧美 中文| 美女十八禁| 婷婷五月花| AⅤ片水多多| 青青11操操操操操操操操| 欧美黄页| 天天操妹子| 色色色五月婷婷| 亚洲久9| 欧美久热| 国产精品久久久久久久久久久久久久| 综合久欧洲| 超碰国产精品久| 九99久久| 天堂av2019| 国产又粗又长又大的视频| 久久婷五月| 欧美97| 97K超碰在线| 色欧美天天| 色黄污美女啪啪啪免费网站| 99999精品| 欧洲精品一二三在线| 色吧五月| 奇米四色影视777久久久| 色吊丝 日日骚 清纯唯美| 草伊人高潮喷水超碰| 亚州AV无码国产精品| 女生91网站| 欧美超碰人妻97| 好舒服视频| 久jiu久神马影院| 国产免费久久久久| 日韩性爱网址| 日本高清一区二区在线| 夜草网站| 日韩97P| 亚洲精品一卡二卡三卡福利视频网站| 9/A片 | 中文字幕av丝袜| 久久精品欧美一区蜜桃| 立川理惠无码一区二区| 日日操丁香五月天| 淫荡少妇免费| 日va操| 思思热久久成人| 韩国一级婬片A片无码天美| 啊啊啊久久久视频| 国产美女精品| 人人妻人人色| #NAME?| 97在线资源| 97超碰资源网| 91久久堂| 999久久芭蕾| 青青草一本道福利视频| 怡红院网站在线视频| 夜夜国自区| 99热这里都是精品| 97国产精品视频| 日本精品一区二区三区四区的功能| 天天肏视频| 一区二区高清视频| 国产精品高清2021在线| 国产精品美女久久久久AⅤ国产馆| 高清成年美女黄网站免费大全 | 日本一区二区三区精品| 好爽免费视频,| 韩国女主播青草在线| 五月婷婷hd| 97在线/亚洲| 国产精品欧美在线观看| 99精品国产户外露出| 一级@啪啪视频| 午夜婷婷| 啊啊啊啊啊啊啊在线| 人伦四五区| 欧美精品宗合| 国产成人网站在线观看| 日本中文字幕一区| 91综合色噜噜| 精品国产肉丝袜在线拍国语| 九九自拍伦理| 久久无码成人| 超碰午夜在线| 精品国产Av无码久久久亚洲| www.五月天| 9久9久9久9久视频网站| 3028国产精品| 夜夜操中文字幕| 青娱乐福利99| 国产极品999| 国产精品点击进入在线影院高清| 色哟哟的毛片| 欲香欲色| 五月天色图| 国产精品不卡少妇白| 久热9| 91久久国产精品| 超碰在线99| 91精品人妻一区二区三区蜜臀| 伊人五月天激情| 啊啊啊不要嗯嗯在线观看| 亚洲精品无码成人久久久99| 国产白丝网站| 无码99| 懂色av色欲av蜜臀av| 女同性恋一区二区三区精品视频| 精品无码久久久久久国产浪潮| 日韩啪啪啪视频| 国产日韩精品人妻久久久久色欲网站 | 99热97| 伊人网青青| 骚女高跟AV在线| 五月婷婷激情网| 97干在线视频| 中国小夫妻勾搭露脸淫荡对白| 亚洲一区二区三区中文字幕| 久久九九久精品国产尤物|国产精品爽黄69天堂A片潘金莲,国产亚洲精品第一综合 | 96久久久精品| 91美女视屏| 国产精品一级片在线看| 国产毛片毛片4p懂色| 性老妇一区二区三区| 一区二区三区黄片免费观看| 97超级久久| 色偷偷色偷偷欧美日韩| 女同在线视频一区| 成人在线视频网| 人妻9117c| 综合亚洲网| 91九九九逼| 色婷婷在线视频| 亚洲欧美自拍偷拍| 国产乱伦视频污| 欧美手机在线综合| 久久精品高清无码一区| 丁香婷婷激情五月天无毒不卡 | 亚洲诱惑天堂| 色爱欲亚洲| 东北夫妻性偷拍| 久久精品99| 欧美伊人久久综合网| 丁香五月色| 另类亚洲一区二区三区| 国产伦精品| 国产精品久久久久久9999| 中文字幕艹艹| 欧美亚洲国产自久久| 色色五月婷| 亚码激情| 老师充足的奶水小说| 亚洲国产精品成人无码久久久| 中国AV美女| 物尤视频一区二区| 四方色播| 蜜桃臀久久| 天天干天天日天天射黄色| 丁香久久| 色哟哟-国产专区| 熟妇人妻精品一区二区视频色欲| 麻豆60秒| 啊啊啊好大好湿| 天天综合网亚洲综合网| 日韩无码第3页| 国语精品av| 日韩av在线精品观看| 人妻少妇被猛烈进入中| 国产成人综合网| 97资源制服丝袜| 亚洲成人色情五月天丁香花| 中国韩国明星一极片一区乱码毛片人妻熟女一区二区三区 | 国产精品不卡一区二区电影| 在线观看精品国产免费| 久久久9品一区二区三区| 99re视频在线播放青草| 97国产精品久久久久| 久久东京热成人| 国产无码高清操逼视频| 九九AV| 免费9 1久久| 男人天堂毛片| 在线一道啪| 五月丁香六月| 91网站18+| 91九色网| 欧美大香蕉在线观看| www.一本大99| 色九久| 人人操人人操人人操人人操人人操人人人11.CM | 黄色视频特级毛片| 成人欧美日超碰| 精品人妻一区二区三区四区不卡在| 国语国产操逼伊人AV网| 婷婷色网| 国产高清26uuu| 国产精品无码AV网站| 日逼五月天| 欧洲精品二区| 欧美日韩m| 9Ⅰ老熟女| 狠狠色婷婷777| 亚洲天天影视综合网| 三级日本一区二区三区| 午夜精品久久久99| 一区二区三| 九九aV| AV99热18这里只有精品| 成人av影院在线观看| 九九玖玖精品| 欧美色图91| 性爱乱伦网址| 一区二区三区无卡视频在线观看| 可以免费观看的日韩av毛片| 91N综合网在线| 情趣丝袜无码操逼视频| 狼人综合婷婷激情四射 | 欧美天堂超碰97| 国产精品久久久无码AV网站| 成人八戒网站| 欧美第五页| 亚洲另类在线观看| 精品丝袜无码一区二区三APP| 伊人久久大香线综合无码| 97精品综合久久| 国产成人亚洲精品无码最新在线| 91天天美女| 国产精品肉丝自拍| 激情五月丁香五月| av最新免费中文字幕| 日韩综合97p| 色女99一级片在线观看| av片在线观看免费播放| 一级毛片电影免费看| 日韩专区久久久| 久久夜嗨| 色噜噜综合在线| 日韩精品黄片免费观看| 欧美综合自拍| 综合 亚洲 欧美| 情色大香蕉| 欧美色图91p| 97AV在线免费观看| 大香网伊人久久综合网eew| 精品久久青青草| 国产精品一区二区 尿失禁| 日韩精品在线观看观看| 亚洲国产一级黄色视频| 亚洲精品中文字幕一区在线视频 | 91搞逼视频| 91一区二区三区蜜桃| 亚洲国产精品久久AV| 老鸭窝成人| 中文字幕在线第二页| 中文在线视频| 色综合1991| 中文字幕综合人妻| 久久久久久九九九九| 人妻出轨一区二区三区| 日本熟妇自慰性高潮一区二区三区| 好爽视频在线观看视频| 日韩欧美丝袜诱惑| 怡红院视频在线| 男人的天堂啪啪| 你操综合| 亚洲网污污污污| 欧美激情一| 97鸡把在线视频| 久久久九九九| 人人乐大香蕉| 大香蕉在线86| 日韩精品系列| 欧美+日产+中文| 色翁荡息又大又硬又粗又爽| av凤凰久久久| 欧美一区二区情色| 九九九九九九九九九九精品视频| 色妇91| 国产成人五月天丁香花| yiqicaoav| 精品偷拍13p欧美dodk视频| 日韩亚洲Av人人夜夜澡人人爽| 99熟女| 精品97精品97| 日韩精品-原创伙伴| 日韩黄片视频试看| 中文字幕五区| 超碰吊日色| 亚洲 欧美 制服 另类 自拍| 精品婷婷| 天躁夜夜躁2021| 91人妻做a观看视频| 国产免费大片| 日日夜夜精品视频| 国产中文字幕在线| 精品国产Av无码久久久亚洲| 大香樵伊人网| 另类图片天天影视| 91亚洲欧美综合高清在线| oumeisetu综合| 大香久久| 久久久不能久久久久| 97Ai亚洲| 亚洲最大黄网| 91久久久久久久| 麻豆天天躁天天揉揉AV| 深夜国产一区二区三区在线看| 日韩欧美俄罗斯A片| 夜夜操美女| 欧美日韩国产三级黄色| 中文字幕一区二区三区蜜臀| 酒色综合网| 激情啪啪拍91| 国产97在线播放| 人人操人人摸人| 少妇精品| 欧美人妻精品| 乱伦日本中文自拍| 九九精品美女高溯喷水| 2019久久久久久久久福利| 亚州综合色图| 天美麻花大全视频| 97免费视频在线| 国产精品一二三免费网站| 国产99热| 无码人妻精品一区二区三区九九| 亚洲综合精品国产一区| 嗯嗯不要视频| 色噜噜狠狠色综无码久久合欧美| 日本不卡五区| 亚洲学生妹高清av| 欧美一二三区四五区| 你想操日本小逼吗| 日韩精品啪啪啪| 午夜免费视频1000| 4虎在线观看| 97日视频| 999日韩中文精品观看视频。| 少妇一级婬片免费放一级a性色.| 99在线精品视频| 91欧美丨精品丨入口| 国产玖玖| 91被操| 超碰97国产欧美| 91AV天堂| 蜜臀AV成人精品蜜臀AV久久| 亚洲综合成人网| 丰满人妻无码一区二区三区 | 大香交| 日本999精品| 久久久久久久极品香蕉视频| 簧片免费看视频| 亚洲国产高清福利视频| 大香蕉久| 国产精品麻豆视频网站| 人妻干天天| 天天干夜夜一操| 无码精品久久| 夜夜草天天| 国产乱码久久久| 黑人粗大V S日韩女优视频| 日本伦理一区二区| 欧美久久久15P| 天天操女人| 99久久久无码| 亚洲欧洲小说图片视频| 五月黑AⅤ| 男人天堂婷婷五月天校园春色| 人妻精品一区二区在线| 国产超碰人人操| 色婷婷丁香五月天| 久久,精品一二三| 一区二区三区四区色图| 伊蕉97蜜桃97狠狠综合干 | 欧美性色欧美| 91在线观看,天天综合| 一本大道青青| 男人天堂2017| 东京热男人的天堂| 日韩综合无码一区久久92| 美日韩男女操屄视频| 国产精品 久久久精品一牛| 免费啪啪一级视频| 91大学精品激情戏| 天天天天做夜夜夜夜做| 激情小说激情视频| 午夜舔阴达高潮视频免费看| 国产亲戚伦亲在线| 亚洲射综合网| 欧美日韩中文字幕人妻| 国产成人亚洲精品无码古代早漏男| 成人福利视频网| 国产精品经典一卡久久久| 加勒比AV天堂| 91精品91久久久久77777俄罗斯老妇姓x| 天天综合91| 精品人妻美妇91job| 精品一区二区三区最新| 夜夜精品视频一区二区| 26UUU欧美日本| 日本亚洲熟女视频| 国产高清不卡视频| 国产97在线视频| 九色婷婷| 视频二区美腿制服人妻欧美| 欧亚乱色熟女一区二区| 久久亚码| 九九九久千久久激情蜜桃在线看| 色97欧美| 欧美综合区| 超碰在线综合97| 日美免费黄片| 日本亚欧爱爱| 色综合婷婷| 中文字幕精品三级久久久| 免费一级a毛片久久久久久鸭绿欲| 1024久久高清视频| 色网色网色网色网色网色| 亚洲精品99| 自拍偷拍第26| 一区二区三区欧美激情| 377p欧洲日本亚洲大胆| 日韩三级av片| 青青草玖玖爱| 白丝少妇一区二区| 97人妻色| 人妻一二三区| 色波多| 91N综合网| 日日日大屁股骚女人精品| 久久9久9久99久9久9| 成人av免费观看| 日本国产欧美高清在线| 日韩欧美成人性爱在线| 中文AV制服乱伦| 91肉片| 91欧美综合| 日日摸日日弄日日拍| 骚货 中文字幕 av| 超碰97亚洲区| 操淫穴亚洲五月丁香 | 中文字幕综合人妻| 综合激情97| 欧美性暴力猛交XXXX| 99热超碰| 用力操死我| 免費人妻夜夜爽天天爽爽一区| 激情自拍 校园春色| 六十路日本| 久9视频| 91狠狠综合久久| 综合婷婷| 鲁鲁色综合网| 国产suv精品一区二区四| 极品尤物在线观看| 国产67194| 久久丁香五月婷婷| 婷婷五月天福利| 熟女人妻av在线资源,黄色的资源 粉嫩国产精品久久粉嫩 | 亚洲熟女乱色一区二区三区| JuliaAnn丝袜熟女系列| 春色综合网| 久久婷婷苹果| 熟妇色99| 亚洲日韩精品久久久久一区壹牛| 蜜乳AV免费观看| 无码 黑人一区二区三区| 色天使亚洲综合在线观看| 狼狼色丁香久久婷婷综合五月| 欧美成人A天堂片在线观看| 亚洲人妻中文高清| 美女自卫慰黄网站免费| 色色热| 蜜臀av中字字幕网站| 伊人久久大香线综合无码| 欧美亚州色的图| 99久在线精品99re8| 日韩欧美天堂| 波多野结衣AV无码一区| 最新日日夜夜天天干干| 嫩草美女久久| 人人干人人操人人..com| 日韩成人精品中文字幕| 日本精品人妻少妇一区二区| 老熟妇一区二区三区啪啪| 欧亚 另类 久| 亚洲日韩精品久久久久一区壹牛| 老熟女乱子伦中文字幕一区二区| 国产原创剧情在线丝袜| 亚洲 中文 女同| 九九九久久久久| 青青草玖玖爱| 97超碰碰| 91精品无码人妻系列| 男人的天堂2010| 欧美精品久久| 99视频自拍区| 久久性生大片免费观看性| 伊人操你| www.天天干| 99re在线精品78| 婷婷爽人人婷婷爽视频| 国产精品久久久久无码A√| 婷婷五月成人| 久久一二三级一一一| 玖玖无码超碰| 中国一级特黄大片护士| 丁香六月婷| 亚洲精品蜜桃久久久久久久| 精…码一二三区| 日本一区二区三区四区免费观看| 亚洲中文制服诱惑| 亚洲日本大香蕉1| 国产亚洲日韩欧| 992这里有精品| 伊人午夜福利视频| 黄色电影在线播放综合网站| 亚洲老熟妇xxx| 日本不卡免费二区| 特级毛片特黄久久免费看 | 欧美精品成人在线播放| 色牛aV| 任你艹| 少好三P| 亚洲啪AⅤ永久无码| 91婷婷伊人狠人| 啊啊啊慢点| 日本精品网站在线中文| 日韩pv中文| 欧美天天综合在线| 天堂种子在线www网资源| 亚洲爱爱视频一区二区| 思思热在线视频免费| 蜜臀久久99精品久久久老,,| 人妻另类| 性爱Av免费| 日本精品国产视频| 美女诱惑久久| 超碰精品人妻狠狠干| 久久久中文| 一区二区激情国产熟女| 都市激情人妻一区二区青青操视频| 国产成人亚洲精品无码最新在线| 91久久国产综合久久| 骚货操死你| 黑人嘿嘿嘿超爽免费视频| 日夜干射色啊| 欧美精品23| 人妻精品一区二区全免费| 亚洲 小说 欧美 激情 另类| 婷婷成人久久久精品| 天天综合91| 色91综合网| 一区二区免费电影久久| 久操九九九九| 蜜臀久久99精品久久久电影| 天天综合网国产| 亚洲色图综合| 天天日日日射| 老子午夜伦不卡影院| 久久久∴| 盗摄女人妻在线| 五月天综合网| 国产精品亚洲一级av第二区| 91欧美丨精品丨入口| 黄片免费久久久久久久| 人妻熟女一区二区| 成人性爱电影网| 97超碰超| 天天爽夜夜欢视| 亚洲国产精品9999在线观看| 久日综合网| 果冻国产精品麻豆成人av| 欧美97se| 亚洲精品一区二区三区新线路| 亚洲码在线中文在线观看| 国产精品直播在线观看直播| 亚洲最大无码中文字幕网站 | 这里只有精品视频在线| 欧美另类精品xxxx| 超碰资源亚洲97| 国产自制av蜜乳| 欧美亚洲美少妇一区二区| 亚洲国产一级黄色视频| 久久99手机免费视频| 免费精品人妻一区二区三| 偷拍亚洲情色| 三级三级三级日本99| 亚洲风情在线观看| 91亚州欧美| 日韩人妻一区二区精品| 啊啊啊啊啊啊啊啊在线观看| 欧美第38页| 亚洲最大AV网| 欧美激情精品| 91欧美美女日韩国产婷婷| 黄色av片三级三级三级免费看| 麻豆av一区二区| 密臀AV在线| 九九色热| 97欧美在线| 超碰天天操| 能看的av| 亚洲乱伦图片视频| 欧美翘臀视频网站一区二区三区| 欧美色图天堂网m| 91精品啪在线观看国产城中村| 天天看片青娱乐| 97操在线| 亚洲 欧美 91| 韩国手机不卡无码三级视频| 天天综合~91| 欧美在线啊啊啊| 青青草日韩无码| 手机在线视频国内精品| 97色干| 国产9 9在线 | 亚洲| 偷拍亚洲情色| 求求你操操我| 91国产精品在线看| 成人性爱美曰韩| 四虎国产精品永久在线囯在线 | 亚洲在线网站| 91色人| 1二区9| 色综合一区二区三巨| www成人啪啪18秘 免费| 国产无码精品无码| 男人的天堂1024| 99re6国产精品99re| 成人AV素股で擦久久| 亚洲丁香花色| 天天插夜夜操| 国产91影院| 欧美激情亚洲| 玖玖爱综合| 丁香六月综合激情| 日韩性爱视频在线免费观看| 伊人操| 日逼97| 好湿好紧视频| 日韩国产九九精品一区二区三区毛片| 97色冈| 99色色| 日本欧美国内在线| 福利伊人玖玖国产| 男女做爰猛烈动高潮A片免费应用 少妇厨房愉情理伦片bd在线观看 不卡中文字幕aⅴ在线 | 性欧美天天| 伊色综合天堂色97| 立川理惠无码一区二区| 人人操人人uiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii | 99超碰网| 亚洲色图 91| 噜噜噜亚洲精| 91麻豆天美国产欧美高潮| 欧美青青草视频| 老熟女区| 热久久九九热| 99黄页网站| 碰超人人在线一区二区三区| 欧美少妇高潮久久91| 亚洲视频二区| 久久九操在线观看| 91女优在线观看| 91偷拍欧美亚洲| 麻豆天美制片厂网站视频| 开心六月色| 中文幕97| 97在线资源| 欧美在线第五页| 日本久久久久久久久久| 天天亚洲| av网站国产主播在线| 96AV久久久| 双插在线| 北野未奈加勒比av| 天天躁日日躁狠狠狠躁| 久久青青草在线视频| 欧美性xxxxx狂欢| 香蕉国产精品麻豆亚洲欧美日韩| 国产成年女人免费视频播放a| av在线观看不卡网站| 亚洲制服欧美另类内射| 99只有精品| 色哟哟-国产专区| 久久久9 9 9精品| 欧美日韩欧美| 91丨国产丨白浆秘 洗澡动漫| 日韩综合成人免费视频| 日韩欧美午夜视频在线| 色婷婷九月| 德国一二三不卡| 亚洲drav色图| 男人的天堂一区| 美女诱惑一区| 欧美日韩黄片精品在线| 超碰人妻天天干| 九九伊人网| 日本大香蕉| 国产精品伦理| 日韩一二三区| 天天干人人干天天日97| 色五月综合| 九一屌逼| 性欧美| 国产v片在线免费观看| 国产又黄又爽又刺激久久久久久| 91干熟女| 中文字幕在线观看丝袜| 99啪啪| 97超级久久| 在线有码中文字幕| 97av在线视频| 欧美性爱一区二区三区四区| 亚洲加勒比色图| 一级性爱视频免费观看| 91粉嫩萝控精品福利网站_精品影音先锋国| 色呦呦、国产精品| 久久r精品| 黑人狂躁日本妞一区二区三区| 69超碰综合| AV久日| 1人人看人人摸人人操| 日韩啪啪啪啪啪| 中出20p| 国产精品无码av在线| 91九久| 清纯唯美激情| 激情抓乳插进去啪啪啪日韩 | 一区二区三区黄色片a| 国产精品久久发布| #NAME?| 另类 日韩 熟女| 亚州春色| 波多野结衣之双飞调教在线播放 | 日韩色女精品| 欧美一二三级精品在线| 中文字幕国产精品1区| 神马久久免费电影观看| 人妻一二三区| 这里只有精品视频| 亚洲精品蜜桃久久久| 色就色综合| 蜜桃久久久久久久| 欧美色网络| 色婷婷综合网站| 亚洲男人天堂2013| 国产美女在线精品免费看| 天天日夜夜| julia国产在线 | 国产精品一区二区手机看片| 中出91| 韩日欧亚a级| 三级三久久线久久99久目本WW| 青青草狠狠撸| 影音先锋视频在线| 亚洲男人的天堂AV| 91被操| 中文字幕亚洲欧美在线不卡| 亚洲一区中文字幕| 午夜男人一级A片7777| 免费99精品国产自在在线| 四虎影视永久在线免费| 亚洲国产欧美日韩人妻日中文| 欧美性性性| 视频二区美腿丝袜制服人妻欧美| 九九九国产| 国产三级多多影院2022国产AA一级毛片无码| 青青操在线亚洲视频观看欧美在线 | 国产成人欧美精品在线| 黄色大片一区二区密桃丝袜| 久久高潮妇女视频| 人妻加勒比东京热| 日本成人在线不卡一区二区三区| 啪啪啪综合网| 久久精品店| 亚洲激情网一二三四区| 无码人妻一区二区三区免费九色| 男人的天堂在线有码| 91东北熟女| 久久伊人大香蕉| 老熟女综合| 暖暖精品二区三区观看| 日本精品中文字幕视频| 99久久com免费视频′| 欧美日韩国产成人高清| 青青草视频导航官网| 国产成人无码啪| 日韩国产九九精品一区二区三区毛片| 久久性爱城| 国产精品一区二区三区在线| 围产精品一区二区三区视频播放| 日日日日做夜夜夜夜做无码97| 亚洲精美粉嫩嫩泬在线观看| 蜜臀久久久| 久久精品国产72国产精品福利| 99日视频在线免费| 六月丁香网| 欧美亚洲系列| 最新三级网址| 国产人妻久久精品一区二区三区| 色妹子A V| 无码丰满熟妇一区二区浪潮AV| 夜夜无码| 久插综合| 一本一道vs波多野结衣| 欧美综合亚洲综合| 日日做夜狠狠爱欧美黑人| 91人妻Pr| 国产美女自拍AV| 91欧美www| 日本精品国产视频| www.狠狠| 黄色区免费观看中文字幕| 日韩久射综合| silk lablo在线观看一区二区| 五月婷婷激情综合| 国产精品一区二区久久精品| 久啪视频| 天天看高清麻豆| 久热免费视频| 成人5码视频| 2018天天日天天日| 欧美色91| 中文字幕在线2| 熟女一区二区| 亚洲熟女一区二区| 天天干夜夜一操| 欧美性综合| 啊啊啊啊啊操我视频| 婷婷五月天av| 国产精品999zyz| 免费AV中文网在线观看| 欧美色爱综合| 日韩9999| 亚洲。日韩。欧美| 深爱激情五月天| 午夜AV人气不卡| 老司机午夜精品视频| 中文不卡视频| 蜜臀av中文字幕| 亚热日本熟女| 亚洲国成人情色好看电影| 丁香五月影院| 日韩黄片视频试看| 天天综合官网| 97se亚洲综合自| 国产精品另类一区大香蕉| 欧美在线啊啊啊 | 日本阿v天堂在线观看| 大鸡巴久久| 亚洲激情色片| 精品国产99| 亚洲欧美爆| 超碰97在线 欧美 国产| 五月婷在线| 99∨VTV| 丁香五月天激情| 亚洲成人福利电影免费| 亚洲色色探花| 久操网视频| 性爱视频无打码在线观看| 中文字幕日韩专区精品系列 | 久久久无码精品人妻二区| 日韩噜噜69| 天天综合网~91入口| 色麻豆AV| 久久女同性恋一二区| 欧美熟妇亚洲版| 很很很很操| 超碰97欧美日韩| 歐美性天天| 9 9无尺码天堂网| 黄站在线免费观看| 在线色资源| 久久久亚洲精品中文字幕人妻| 99re欧美| 超碰人妻久久| 久久久久久网址| 日韩激情电影中文字幕| 天天躁日日躁AAAAXXXX国产| 成人av性爱电影在线观看| 蜜乳AV.COM| 欧美人妻久久精品二区三区| 一区二区三区免费岛国片| 国产 丝袜 欧美中文 另类| 熟女乱伦二区| 国产精品夜夜夜| 啪啪啪综合| 男人的天堂2019| 岛国激情视频在线观看| 园内精品自拍视频在线播放| 亚洲av影院在线观看| 337p大胆噜噜噜噜噜91Av| 色区久久| 欧美日韩理论一区| 97视频在线免费播放| 久久久草草精品| 成人国产二区三区在线,男女精品。| 少妇内射www在线观看视频| 亚欧无码在线| 蜜乳AV色欲AVAV无码| 六月激情网| 国产精品 午夜福利| 超碰这里只有精品| 99热在线只有精品| 韩国一级做a久久久久| 日韩综合成人免费视频| 日本视频在线观看污污污| 日韩人妻资源在线看| 91日日| 五十路熟女,国产欧美精品区一区二区三区 | 香蕉久久国产AV一区二区|