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

ARTICLE DETAIL

資訊詳情

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

SpringBoot+Vue社區(qū)家政預(yù)約平臺(tái):從狀態(tài)機(jī)設(shè)計(jì)到上線交付全解析

SpringBoot+Vue社區(qū)家政預(yù)約平臺(tái):從狀態(tài)機(jī)設(shè)計(jì)到上線交付全解析 前陣子陸續(xù)有幾位讀者來(lái)問同一個(gè)需求想做一個(gè)社區(qū)家政服務(wù)預(yù)約平臺(tái)技術(shù)棧限定springbootvue還要帶源碼、文檔最好能幫忙調(diào)試、改改基礎(chǔ)功能、答疑。我一開始以為只是隨便問問后來(lái)發(fā)現(xiàn)這個(gè)問題背后其實(shí)是完整的一類項(xiàng)目訴求——既要能通過課程設(shè)計(jì)或畢業(yè)設(shè)計(jì)的驗(yàn)收又要真正跑起來(lái)給小區(qū)物業(yè)、中小家政公司內(nèi)部試用。順手把我的經(jīng)驗(yàn)整理成一篇從需求設(shè)計(jì)、數(shù)據(jù)庫(kù)、后端、前端到聯(lián)調(diào)交付盡量說(shuō)全說(shuō)透希望能幫你省下幾周摸坑的時(shí)間。1. 為什么社區(qū)家政預(yù)約平臺(tái)選擇了springbootvue這條技術(shù)路線社區(qū)家政服務(wù)的典型場(chǎng)景大家都不陌生保潔、家電清洗、保姆月嫂、管道維修這類服務(wù)過去靠電話預(yù)約或者微信群接龍漏單、撞單、爽約經(jīng)常發(fā)生想要查某個(gè)訂單的歷史記錄比翻聊天記錄還難。一個(gè)預(yù)約平臺(tái)要做的就是三件事業(yè)主能在線看服務(wù)、選時(shí)間下單家政人員能接單和確認(rèn)完成平臺(tái)方能審核上架和做基本的數(shù)據(jù)統(tǒng)計(jì)。技術(shù)選型上springbootvue幾乎是最穩(wěn)妥的組合甚至可以說(shuō)是這類管理型Web項(xiàng)目的默認(rèn)答案。先說(shuō)后端。SpringBoot把配置簡(jiǎn)化到了極致一個(gè)啟動(dòng)類加一個(gè)application.yml就能跑起來(lái)內(nèi)嵌Tomcat連部署都不用額外裝。配合MyBatis-Plus這類國(guó)產(chǎn)增強(qiáng)框架單表增刪改查基本不用寫SQL代碼量可以壓到很低。對(duì)大多數(shù)學(xué)生項(xiàng)目來(lái)說(shuō)不需要上微服務(wù)、消息隊(duì)列這些重型中間件SpringBoot單體能扛住幾百人的小區(qū)使用量也足夠答辯演示。再說(shuō)前端。Vue的數(shù)據(jù)綁定和組件化思想對(duì)新手來(lái)說(shuō)上手門檻遠(yuǎn)低于React。配合Element Plus組件庫(kù)表單、表格、彈窗、時(shí)間選擇器這些后臺(tái)管理頁(yè)面的常規(guī)組件全都現(xiàn)成一個(gè)上午就能把頁(yè)面框架搭出來(lái)。加上Vue生態(tài)的成長(zhǎng)路線很平滑后面想升級(jí)做小程序端、或改成移動(dòng)端H5核心邏輯都能復(fù)用。還有一個(gè)很現(xiàn)實(shí)的原因遇到問題時(shí)能搜到的資料率很高。SpringBoot的接口如何寫、JWT怎么集成、Element Plus怎么用、Vue路由守衛(wèi)怎么寫幾乎每個(gè)坑都有人踩過、有人寫博客講清楚。對(duì)一個(gè)以完成項(xiàng)目為主要目標(biāo)的開發(fā)者來(lái)說(shuō)這比任何技術(shù)先進(jìn)性都重要。實(shí)際上這幾年我接觸到的家政類、預(yù)約類、社區(qū)服務(wù)類項(xiàng)目超過一半都采用了這套組合跑通率也最高。選它不一定最驚艷但一定最不容易翻車。2. 業(yè)務(wù)閉環(huán)先于代碼訂單狀態(tài)機(jī)的設(shè)計(jì)決定了系統(tǒng)上限很多開發(fā)者拿到項(xiàng)目需求第一件事就是打開數(shù)據(jù)庫(kù)建表恨不得一個(gè)中午把表建完。但如果家政預(yù)約平臺(tái)也這么干后面大概率要做大量返工。原因很簡(jiǎn)單這類系統(tǒng)的核心不是服務(wù)分類的增刪改查而是訂單從創(chuàng)建到完成的整個(gè)生命周期。生命周期里的狀態(tài)怎么流轉(zhuǎn)、每個(gè)狀態(tài)下誰(shuí)能做什么操作、不允許跳轉(zhuǎn)哪些狀態(tài)這些不做清楚接口寫出來(lái)一定前后矛盾。理清業(yè)務(wù)閉環(huán)我建議先守住三張角色圖和一條主流程線。三個(gè)角色分別是客戶下單的人、家政人員接單干活的人、管理員平臺(tái)運(yùn)營(yíng)的人。客戶的操作路徑是注冊(cè)登錄、瀏覽服務(wù)分類、查看服務(wù)詳情、選擇預(yù)約日期時(shí)間、填地址與聯(lián)系人、提交訂單、等待確認(rèn)、服務(wù)完成后評(píng)價(jià)。家政人員的路徑是登錄后查看被分配或者被點(diǎn)單的預(yù)約、確認(rèn)接單、按時(shí)上門、服務(wù)結(jié)束后確認(rèn)完成。管理員路徑是審核服務(wù)項(xiàng)目是否上架、審核家政人員入駐資質(zhì)、查看訂單列表處理異常單、查看基礎(chǔ)數(shù)據(jù)看板。主流程線就是一條訂單狀態(tài)機(jī)。我實(shí)際項(xiàng)目里的狀態(tài)取值是這樣的狀態(tài)值名稱觸發(fā)動(dòng)作0待確認(rèn)客戶提交預(yù)約訂單1已確認(rèn)家政人員接單或管理員后臺(tái)確認(rèn)2服務(wù)中家政人員點(diǎn)擊開始服務(wù)3已完成家政人員點(diǎn)擊完成服務(wù)4已取消客戶取消或管理員取消5售后中客戶發(fā)起投訴或退款申請(qǐng)狀態(tài)機(jī)的核心原則是每次狀態(tài)變更只能從當(dāng)前狀態(tài)跳轉(zhuǎn)到合法狀態(tài)不允許跳級(jí)不允許逆向特殊情況除外比如管理員強(qiáng)制取消。例如待確認(rèn)狀態(tài)可以由客戶自己取消變成已取消但一旦家政人員接單變成已確認(rèn)就不能靜默取消必須走退款或售后流程。這個(gè)規(guī)則在代碼里必須顯式定義而不是靠每個(gè)接口各自做一個(gè)if判斷。為方便講解訂單狀態(tài)機(jī)的設(shè)計(jì)值得前置到建表之前。先畫狀態(tài)轉(zhuǎn)換表再對(duì)著表寫接口邏輯會(huì)清晰很多。通常我建一個(gè)常量類專門管理狀態(tài)值不讓魔法數(shù)字散落在業(yè)務(wù)代碼里。3. 后端落地細(xì)節(jié)分層結(jié)構(gòu)、登錄鑒權(quán)與統(tǒng)一返回格式3.1 三層結(jié)構(gòu)怎么拆才清晰后端代碼結(jié)構(gòu)不必花哨但一定要分層明確。我習(xí)慣拆成這樣controller只接收參數(shù)、調(diào)用服務(wù)、返回統(tǒng)一結(jié)果不在里面寫業(yè)務(wù)邏輯service負(fù)責(zé)業(yè)務(wù)邏輯比如下單校驗(yàn)訂單狀態(tài)、校驗(yàn)服務(wù)時(shí)間沖突mapper繼承BaseMapper負(fù)責(zé)數(shù)據(jù)庫(kù)交互entity與表字段一一對(duì)應(yīng)的實(shí)體類dto / vo入?yún)?duì)象和出參對(duì)象避免把實(shí)體類直接暴露給前端有人圖省事直接在controller里寫一堆業(yè)務(wù)代碼項(xiàng)目小的時(shí)候還能跑但只要加上預(yù)約時(shí)間是否可選工人當(dāng)天是否已經(jīng)被約滿這些判斷controller會(huì)迅速膨脹到幾百行。分層的好處不是代碼好看是后續(xù)排查問題和改需求時(shí)能快速定位。比如面試官或老師問訂單狀態(tài)這個(gè)邏輯在哪里控制你能直接說(shuō)出service.order.status里的checkAndUpdate方法這就是說(shuō)服力。3.2 JWT登錄和角色權(quán)限用一套賬號(hào)表頂三代家政平臺(tái)涉及三種角色的登錄。很多新手會(huì)建三張表user表、worker表、admin表然后分別寫三套登錄接口。這個(gè)設(shè)計(jì)維護(hù)成本很高而且三種角色其實(shí)共享賬號(hào)密碼、手機(jī)號(hào)、頭像這些基礎(chǔ)字段。我更推薦一張account賬號(hào)表加一個(gè)role字段區(qū)分角色值分別為USER、WORKER、ADMIN。家政人員或管理員本質(zhì)上都是account擴(kuò)展一個(gè)worker_info表存他們的專屬資料即可。登錄接口返回JWT令牌前端把令牌存localStorage每次請(qǐng)求帶上Authorization頭。后端寫一個(gè)登錄攔截器對(duì)需要登錄的接口校驗(yàn)令牌并從令牌中解析出用戶id和角色。這里提個(gè)建議如果項(xiàng)目沒有強(qiáng)制要求不必上Spring Security。它雖然功能全但概念多、配置重對(duì)這類系統(tǒng)屬于殺雞用牛刀。用攔截器配合角色判斷代碼簡(jiǎn)單、運(yùn)行效率高講起原理也更容易自圓其說(shuō)。3.3 統(tǒng)一返回與全局異常別讓報(bào)錯(cuò)暴露給用戶前后端聯(lián)調(diào)時(shí)最怕的就是接口返回結(jié)構(gòu)不統(tǒng)一。有的接口返回true有的返回操作成功前端取數(shù)據(jù)時(shí)要針對(duì)每個(gè)接口單獨(dú)處理極容易出bug。建議定義統(tǒng)一返回類Resultpublic class ResultT { private Integer code; private String message; private T data; public static T ResultT success(T data) { ResultT result new Result(); result.code 200; result.message success; result.data data; return result; } public static T ResultT error(Integer code, String message) { ResultT result new Result(); result.code code; result.message message; return result; } }同時(shí)寫一個(gè)全局異常處理器把參數(shù)校驗(yàn)異常、業(yè)務(wù)異常、兜底異常統(tǒng)一轉(zhuǎn)成Result返回這樣即使代碼某個(gè)位置漏了處理前端也只會(huì)看到規(guī)范化的JSON而不是一長(zhǎng)串堆棧信息。配合自定義異常類BizException在service里隨時(shí)拋出業(yè)務(wù)錯(cuò)誤比如該時(shí)間段已被預(yù)約前端直接彈message提示即可。后端接口里訂單相關(guān)的操作我建議刻意取語(yǔ)義清晰的動(dòng)作詞createOrder對(duì)應(yīng)下單confirmOrder對(duì)應(yīng)接單cancelOrder對(duì)應(yīng)取消completeOrder對(duì)應(yīng)完成。動(dòng)詞式接口配合狀態(tài)機(jī)整個(gè)調(diào)用鏈會(huì)非常直觀。4. 數(shù)據(jù)庫(kù)表這樣設(shè)計(jì)后續(xù)改需求才不會(huì)推倒重來(lái)4.1 七張核心表的職責(zé)劃分家政預(yù)約平臺(tái)不算復(fù)雜但至少需要七張核心業(yè)務(wù)表。一張表對(duì)應(yīng)一個(gè)清晰領(lǐng)域概念這能讓后期改造的維護(hù)成本大幅降低。account表賬號(hào)公共信息username、password、phone、role、nickname、avatar、statusaddress表客戶的收貨/服務(wù)地址receiverName、receiverPhone、省市區(qū)、詳細(xì)地址、是否默認(rèn)service_category表服務(wù)分類如保潔、維修、月嫂service_item表服務(wù)項(xiàng)目掛接分類包含名稱、價(jià)格、計(jì)價(jià)單位、預(yù)計(jì)耗時(shí)、封面圖worker_info表家政人員資料關(guān)聯(lián)account包含真名、電話、可服務(wù)項(xiàng)目、接單狀態(tài)、審核狀態(tài)order_info表預(yù)約訂單主表comment表服務(wù)評(píng)價(jià)關(guān)聯(lián)訂單、用戶和家政人員分開來(lái)看只是普通的“增刪改查表”但合理拆分的價(jià)值在于新增一個(gè)服務(wù)維度字段只要改service_item表不影響訂單家政人員入駐審核功能只需擴(kuò)展worker_info字段未來(lái)想給不同服務(wù)加不同計(jì)價(jià)規(guī)則也只要在service_item里加字段。表職責(zé)清晰意味著需求變更的沖擊被隔離在局部而不是一路波及所有表。4.2 訂單表字段設(shè)計(jì)的幾個(gè)關(guān)鍵決策order_info是整個(gè)系統(tǒng)的心臟它的設(shè)計(jì)質(zhì)量直接決定開發(fā)體驗(yàn)。核心字段我建議這樣安排id BIGINT PRIMARY KEY AUTO_INCREMENT COMMENT 自增ID, order_no VARCHAR(32) UNIQUE COMMENT 訂單號(hào)給用戶看的編號(hào), user_id BIGINT COMMENT 下單用戶ID, worker_id BIGINT COMMENT 接單家政人員ID, service_item_id BIGINT COMMENT 服務(wù)項(xiàng)目ID, address_id BIGINT COMMENT 服務(wù)地址ID, service_time_start DATETIME COMMENT 預(yù)約開始時(shí)間, service_time_end DATETIME COMMENT 預(yù)約結(jié)束時(shí)間, status TINYINT COMMENT 訂單狀態(tài) 0待確認(rèn) 1已確認(rèn) 2服務(wù)中 3已完成 4已取消 5售后中, order_amount DECIMAL(10,2) COMMENT 訂單金額, pay_type TINYINT COMMENT 支付方式, remark VARCHAR(255) COMMENT 客戶備注, create_time DATETIME COMMENT 創(chuàng)建時(shí)間, pay_time DATETIME COMMENT 支付時(shí)間這里有幾個(gè)決策值得展開。第一為什么訂單號(hào)order_no要單獨(dú)存在而不是直接用自增id因?yàn)橛脩艉秃笈_(tái)溝通時(shí)會(huì)說(shuō)我那個(gè)訂單號(hào)是多少自增id位數(shù)少且連續(xù)容易被試探和猜測(cè)也不利于分段檢索。訂單號(hào)通常用時(shí)間戳加隨機(jī)數(shù)生成長(zhǎng)度16到20位之間即可。第二為什么預(yù)留service_time_end而不是只存service_time_start因?yàn)榧艺?wù)普遍按時(shí)長(zhǎng)計(jì)費(fèi)。保潔按小時(shí)、維修按上門時(shí)長(zhǎng)預(yù)留結(jié)束時(shí)間后訂單列表頁(yè)可以展示預(yù)計(jì)服務(wù)時(shí)長(zhǎng)統(tǒng)計(jì)家政人員每天的總工作量也要用到這個(gè)值。哪怕MVP階段用不到也應(yīng)該先占住這個(gè)位置后面補(bǔ)上比改表結(jié)構(gòu)容易得多。第三物理外鍵要不要加我的建議是不加。數(shù)據(jù)庫(kù)級(jí)的外鍵約束刪除分類或服務(wù)時(shí)會(huì)受到各種限制維護(hù)成本高。業(yè)務(wù)層面通過service_item_id關(guān)聯(lián)在service代碼里做存在性校驗(yàn)即可。這個(gè)做法在真實(shí)企業(yè)項(xiàng)目里很常見面試時(shí)也能講出理由。第四關(guān)于時(shí)間的坑。這類系統(tǒng)任何時(shí)間字段都要統(tǒng)一用datetime或者timestamp且后端接收前端傳來(lái)的時(shí)間參數(shù)時(shí)一定要用JsonFormat標(biāo)注格式或者全局配置Jackson序列化規(guī)則否則前端傳2025-06-01 09:00:00后端解析失敗直接報(bào)400錯(cuò)誤。我甚至遇到過前后端顯示時(shí)區(qū)不一致數(shù)據(jù)庫(kù)存的時(shí)間比實(shí)際早了8小時(shí)的情況排查到最后發(fā)現(xiàn)是MySQL時(shí)區(qū)配置問題。這些內(nèi)容在后端配置階段就應(yīng)該處理掉而不是等到聯(lián)調(diào)再救火。5. 前端從0到能點(diǎn)通全流程路由、組件與預(yù)約表單的體驗(yàn)5.1 前后臺(tái)同工程路由和布局家政平臺(tái)的前端我建議把用戶前臺(tái)和管理員后臺(tái)放在同一個(gè)Vue工程里。很多教程喜歡拆成兩個(gè)前端項(xiàng)目說(shuō)是職責(zé)分離但實(shí)際上兩人份的登錄態(tài)維護(hù)、兩套打包配置、兩處部署對(duì)單人開發(fā)是負(fù)擔(dān)。用路由前綴區(qū)分即可普通頁(yè)面放在 / 下面后臺(tái)管理頁(yè)面統(tǒng)一掛在 /admin 下。路由層面簡(jiǎn)單的劃分公共頁(yè)面登錄頁(yè)、注冊(cè)頁(yè)、首頁(yè)、服務(wù)列表、服務(wù)詳情用戶頁(yè)面預(yù)約下單、訂單列表、訂單詳情、服務(wù)地址管理、個(gè)人中心管理頁(yè)面數(shù)據(jù)看板、訂單管理、服務(wù)分類管理、服務(wù)項(xiàng)目管理、家政人員管理、評(píng)價(jià)管理這樣劃分后權(quán)限控制也方便普通用戶登錄后能訪問用戶頁(yè)面管理員進(jìn)入后臺(tái)路由守衛(wèi)按角色過濾。5.2 登錄態(tài)與權(quán)限路由守衛(wèi)必須做前端路由守衛(wèi)是這個(gè)系統(tǒng)不能省的部分。用Vue Router的beforeEach鉤子做統(tǒng)一攔截邏輯也不復(fù)雜判斷目標(biāo)路由是否需要登錄需要?jiǎng)t檢查本地有token沒有有token還要判斷訪問的是不是管理員頁(yè)面是則校驗(yàn)角色是否ADMIN不滿足條件就跳回登錄頁(yè)。有人覺得后臺(tái)的某些頁(yè)面反正接口也會(huì)校驗(yàn)權(quán)限前端路由守衛(wèi)是多余的。實(shí)際上不是這樣。前端守衛(wèi)的價(jià)值在于體驗(yàn)未登錄用戶點(diǎn)擊我的訂單時(shí)能及時(shí)被帶到登錄頁(yè)而不是等接口報(bào)401再?gòu)楀e(cuò)誤。權(quán)限錯(cuò)誤和未登錄錯(cuò)誤的提示文案也應(yīng)該區(qū)分否則用戶完全不知道為什么點(diǎn)按鈕沒反應(yīng)。5.3 預(yù)約表單的體驗(yàn)細(xì)節(jié)時(shí)間選擇、防重復(fù)提交預(yù)約下單頁(yè)是整個(gè)前端交互的難點(diǎn)問題集中在三個(gè)地方。第一個(gè)是時(shí)間選擇。Element Plus的date-picker和time-picker支持禁用過去時(shí)間設(shè)置disabled-date為今天之前的日期不可選即可。如果業(yè)務(wù)上要求同一天內(nèi)上午的時(shí)間也禁掉可以用time-picker的disabled-hours把當(dāng)前時(shí)分之前的時(shí)間禁用。這塊很容易被忽略等測(cè)試人員發(fā)現(xiàn)為什么能預(yù)約昨天的時(shí)間時(shí)再改又要多一輪聯(lián)調(diào)。第二個(gè)是地址聯(lián)動(dòng)。選擇省市區(qū)用級(jí)聯(lián)選擇器最后一行填詳細(xì)地址。地址保存后要支持設(shè)為默認(rèn)地址這個(gè)字段在account里用is_default標(biāo)記下單頁(yè)默認(rèn)選中默認(rèn)地址即可。注意切換地址時(shí)表單校驗(yàn)要更新防止用戶改了地址但提交時(shí)仍是舊數(shù)據(jù)。第三個(gè)是防重復(fù)提交。用戶點(diǎn)擊提交預(yù)約后如果接口響應(yīng)慢他會(huì)習(xí)慣性再點(diǎn)一次導(dǎo)致同一個(gè)訂單創(chuàng)建兩份。前端解決方案是提交后按鈕立刻loading并禁用等待接口返回后再恢復(fù)。但這只是體驗(yàn)層面的兜底真正的安全防線在后端的防重復(fù)創(chuàng)建邏輯這一點(diǎn)下一章詳細(xì)講。用戶端預(yù)約成功后的引導(dǎo)也很重要。下單成功后不要直接清空頁(yè)面而是跳轉(zhuǎn)到一個(gè)支付成功或下單成功提示頁(yè)并顯示查看訂單按鈕讓用戶看到下一步的等待確認(rèn)狀態(tài)。這能大幅減少我的訂單到底提交了沒有這類反饋。6. 預(yù)約沖突與訂單狀態(tài)流轉(zhuǎn)聯(lián)調(diào)時(shí)最容易翻車的地方6.1 并發(fā)預(yù)約沖突數(shù)據(jù)庫(kù)唯一索引 vs 事務(wù)查詢下面聊兩個(gè)真正會(huì)在聯(lián)調(diào)階段炸掉的點(diǎn)。第一個(gè)是預(yù)約沖突。場(chǎng)景是這樣用戶A預(yù)約了某保潔阿姨周六上午9點(diǎn)到11點(diǎn)用戶B在同一時(shí)間也要約同一個(gè)阿姨。如果后端只做普通的查詢發(fā)現(xiàn)9點(diǎn)到11點(diǎn)沒記錄就允許下單在高并發(fā)或用戶雙擊的場(chǎng)景下可能兩個(gè)請(qǐng)求同時(shí)查到空閑然后同時(shí)插入成功阿姨就被約重了。網(wǎng)上常見的防御手段有兩種。第一種是前端把時(shí)間按鈕置灰看起來(lái)能解決問題但同一個(gè)用戶開兩個(gè)瀏覽器標(biāo)簽頁(yè)、或者手速夠快連點(diǎn)兩次照樣繞過去。第二種是數(shù)據(jù)庫(kù)加唯一索引比如對(duì)(worker_id, service_time_start)加唯一約束能擋住同一開始時(shí)間的重復(fù)預(yù)約但如果用戶A約9點(diǎn)到11點(diǎn)用戶B約10點(diǎn)到12點(diǎn)兩個(gè)記錄的開始時(shí)間不同唯一索引也攔不住。真正可靠的做法是用事務(wù)加鎖。在創(chuàng)建訂單時(shí)開一個(gè)事務(wù)先查該家政人員在目標(biāo)時(shí)間段是否存在重疊訂單Transactional public Long createOrder(OrderCreateDTO dto) { // 加行鎖或區(qū)間鎖防止并發(fā) Long conflictId orderMapper.selectConflictOrder(workerId, startTime, endTime); if (conflictId ! null) { throw new BizException(該家政人員在此時(shí)段已被預(yù)約請(qǐng)更換時(shí)間); } // 插入訂單 ... }對(duì)應(yīng)SQL查詢重疊訂單的邏輯是SELECT id FROM order_info WHERE worker_id #{workerId} AND status IN (0, 1, 2) AND service_time_start #{endTime} AND service_time_end #{startTime} LIMIT 1這個(gè)條件判斷的是時(shí)間區(qū)間是否有交集覆蓋率比單純查startTime準(zhǔn)確得多。配合數(shù)據(jù)庫(kù)里的worker_id和service_time_start唯一索引雙保險(xiǎn)下來(lái)基本可以杜絕撞單。對(duì)課程設(shè)計(jì)而言事務(wù)加重疊查詢已經(jīng)十分夠用不需要上分布式鎖。6.2 狀態(tài)轉(zhuǎn)換不寫保護(hù)后臺(tái)一定會(huì)把已取消訂單接單第二個(gè)坑是狀態(tài)轉(zhuǎn)換的原子性。我見過不少代碼這么寫接單接口先查訂單拿到訂單后判斷status是不是0如果是0就update成1。問題在于網(wǎng)絡(luò)延遲、用戶取消請(qǐng)求先到、管理員并發(fā)操作時(shí)兩步操作之間狀態(tài)可能已經(jīng)被改了但第二步拿著舊數(shù)據(jù)照樣更新成功。要避免這個(gè)問題最好的辦法是把校驗(yàn)和更新合成一條帶狀態(tài)條件的SQLint rows orderMapper.updateStatusIfMatch(orderId, targetStatus, expectStatus); if (rows 0) { throw new BizException(訂單狀態(tài)已變化請(qǐng)刷新后重試); }對(duì)應(yīng)的更新SQLUPDATE order_info SET status #{targetStatus}, update_time NOW() WHERE id #{orderId} AND status #{expectStatus}這里影響行數(shù)rows為0說(shuō)明狀態(tài)不是預(yù)期狀態(tài)直接拋異常讓前端刷新。這一招在電商、庫(kù)存類系統(tǒng)里是常客叫作樂觀鎖。好處是簡(jiǎn)單、無(wú)額外依賴、天然防并發(fā)。像取消訂單這些操作也一樣統(tǒng)一走帶狀態(tài)校驗(yàn)的更新方法訂單狀態(tài)就不會(huì)被用戶反復(fù)橫跳搞亂。如果服務(wù)層能保證所有狀態(tài)變更都收斂到同一個(gè)方法里比如changeOrderStatus(orderId, expectedStatus, targetStatus)后面加一個(gè)待支付狀態(tài)或者退款中狀態(tài)都只要在這個(gè)方法里補(bǔ)充規(guī)則而不是滿項(xiàng)目找散落的update語(yǔ)句這也是前面說(shuō)狀態(tài)機(jī)設(shè)計(jì)重要的落地體現(xiàn)。7. 從本機(jī)跑通到交付驗(yàn)收源碼交付階段的調(diào)試、修改與答疑7.1 本機(jī)把項(xiàng)目跑起來(lái)的順序無(wú)論你是學(xué)這套項(xiàng)目還是準(zhǔn)備交付給他人先保證自己能按干凈步驟跑起來(lái)。順序一般是這樣新建數(shù)據(jù)庫(kù)導(dǎo)入項(xiàng)目根目錄下sql文件確認(rèn)初始化數(shù)據(jù)存在修改后端application.yml里的數(shù)據(jù)源配置數(shù)據(jù)庫(kù)名、用戶名、密碼按本地環(huán)境調(diào)整啟動(dòng)后端確認(rèn)控制臺(tái)無(wú)報(bào)錯(cuò)接口文檔頁(yè)或測(cè)試接口能通前端目錄執(zhí)行npm install然后npm run dev等待頁(yè)面自動(dòng)打開用初始化給的默認(rèn)賬號(hào)登錄跑一遍下單、接單、完成的完整流程強(qiáng)調(diào)一個(gè)容易被卡住的細(xì)節(jié)很多項(xiàng)目的sql文件是有人用MySQL舊版本導(dǎo)出的字符集可能是utf8mb4也可能不是。導(dǎo)入之前先確認(rèn)排序規(guī)則如果是utf8mb4_general_ci統(tǒng)一在數(shù)據(jù)庫(kù)配置里也設(shè)置成utf8mb4否則中文數(shù)據(jù)可能顯示亂碼。另外前后端數(shù)字端口要分開后端常見8080前端Vite開發(fā)端口常是5173或8081不要讓兩個(gè)端口撞在一起。7.2 跨域問題的三種處理方式前后端分離必然遇到跨域。報(bào)錯(cuò)信息通常是Access-Control-Allow-Origin之類新手一看見就慌其實(shí)就三類解法。第一種在后端寫CORS配置類允許指定來(lái)源跨域。這種方式代碼最少但如果前端端口改了要回頭改后端配置稍微麻煩。第二種在前端開發(fā)服務(wù)器配代理比如Vue CLI的vue.config.js里配置devServer.proxy把/api轉(zhuǎn)發(fā)到后端地址。這種方式最推薦在開發(fā)階段使用前端代碼里所有請(qǐng)求都走相對(duì)路徑/api/xxx跟部署后的nginx代理行為一致遷移到生產(chǎn)環(huán)境時(shí)前端代碼一行不用改。第三種在上線后用nginx反向代理把 / 指向前端dist靜態(tài)文件/api/ 轉(zhuǎn)發(fā)到后端jar的端口徹底進(jìn)站同一域名從根上消滅跨域。實(shí)際開發(fā)時(shí)我一般開發(fā)用第二種、上線用第三種。后端不寫跨域代碼框架層面干干凈凈。7.3 文檔、基礎(chǔ)修改與答疑的邊界交付階段的文檔和答疑比很多人想的重要。落地說(shuō)就是三份東西數(shù)據(jù)庫(kù)腳本、環(huán)境啟動(dòng)說(shuō)明、功能清單表。環(huán)境說(shuō)明里至少寫清JDK版本、Maven或Gradle版本、Node版本、MySQL版本這些不一致是跑不起來(lái)的頭號(hào)原因。功能清單表按角色列清楚每個(gè)頁(yè)面和接口的對(duì)應(yīng)關(guān)系驗(yàn)收時(shí)照著表格走一遍雙方都省心。所謂基礎(chǔ)修改在裝修服務(wù)預(yù)約平臺(tái)里通常指換logo和站點(diǎn)名稱、改首頁(yè)輪播圖、調(diào)整服務(wù)項(xiàng)目?jī)r(jià)格、修改聯(lián)系方式。這些改動(dòng)的共同特點(diǎn)是不涉及表結(jié)構(gòu)變化。做這類改動(dòng)時(shí)建議把靜態(tài)資源統(tǒng)一放在assets目錄文案盡量集中在配置項(xiàng)里而不是散落在幾十個(gè)vue文件內(nèi)部。我甚至?xí)颜军c(diǎn)名稱做成一個(gè)公共常量文件改一行全局生效答疑時(shí)只需要告訴對(duì)方這個(gè)文件第二行就是站點(diǎn)名。答疑階段最常被問的技術(shù)問題其實(shí)大半都不是業(yè)務(wù)代碼的問題而是環(huán)境問題端口占用、npm install失敗、MySQL密碼加密導(dǎo)致連接失敗、Node版本過高導(dǎo)致依賴不兼容。準(zhǔn)備一份常見環(huán)境問題排查清單比反復(fù)遠(yuǎn)程看屏幕要高效得多。Node版本過高導(dǎo)致安裝依賴失敗這個(gè)尤其常見遇到時(shí)優(yōu)先建議降級(jí)到16或18版本再試能解決七成相關(guān)報(bào)錯(cuò)。8. 接手一套源碼時(shí)最快讀懂項(xiàng)目的方式最后分享一個(gè)我自己屢試不爽的經(jīng)驗(yàn)?zāi)玫揭惶啄吧创a不要從頭一行一行讀代碼。那是圖書館式閱讀法效率極低。正確順序是先把項(xiàng)目跑起來(lái)注冊(cè)賬號(hào)走一遍完整業(yè)務(wù)流程對(duì)系統(tǒng)能做什么建立體感然后打開數(shù)據(jù)庫(kù)看表對(duì)著訂單狀態(tài)流轉(zhuǎn)圖理解數(shù)據(jù)怎么變化最后再回到代碼里重點(diǎn)看service層的事務(wù)和狀態(tài)更新邏輯。三步下來(lái)你基本就知道改哪個(gè)文件能改什么功能了。這套方式對(duì)家政預(yù)約平臺(tái)的源碼同樣適用。如果要改預(yù)約時(shí)間粒度從小時(shí)變成半小時(shí)先改前端時(shí)間選擇器的format和step再改后端的service_time字段校驗(yàn)最后檢查重疊查詢邏輯里的時(shí)間比較方式三處改完就對(duì)齊了。很多人覺得基礎(chǔ)修改很難其實(shí)難在不敢動(dòng)、沒有定位問題的思路而不是改動(dòng)本身。我實(shí)際操作中還有個(gè)小習(xí)慣每拿到一個(gè)系統(tǒng)先在本地開一個(gè)分支或者備份一份sql任何改動(dòng)前都能一鍵還原。對(duì)待交付項(xiàng)目這能避免改壞了又不好意思問原作者的尷尬。希望這篇能把家政預(yù)約平臺(tái)的骨架和容易踩的坑講清楚接下來(lái)你可以動(dòng)手打開代碼了跑通第一個(gè)訂單的時(shí)候會(huì)特別有成就感。
返回列表
PREV
查看更多資訊
NEXT
返回資訊列表
国产成人综合在线播放| 欧美Ⅴ性爱| 香蕉人人操tv| 一起草视频在线| 欧美日韩人妻精品一区二区三区| 最近的最新的中文字幕视频| 久日91在线| 操一区| 一二三四日本视频高清| 亚洲成熟国产精品美女| 青青草一区二区高清无码视频| 精品超碰中文在线| 成人综合久久精品色婷婷| 熟妇色99| 欲色综合| 男人天堂导航| 天天操福利视频综合网站| 青青操97| 国产精品久久久视频| 97久久久| 五月大香蕉| 日韩不卡a级视频专区| 欧美片第一页| 欧美BT 亚洲色图| 亚洲日韩久久精品一区| 婷婷五月天av| 久久香蕉网| 亚洲色图亚洲无码强奸乱伦| 国产精品自拍欧美在线| 国产三级中文有码在线视频| 日韩一级二级| 中日高清无码操逼视频| 夜夜一区二区| 国产精品九9| 久久久久久久少妇| 日韩精品人妻中文字幕久久久| 日韩人妻精品久久久久| 人妻天天操天天爽视频免费| 国产精品一二三区福利| 九九精品美女高溯喷水| 国产熟女精品区| 久久日本熟妇熟色高清| 久久精品中文字幕女同| 9ⅰ久久久天天| 亚洲高清91| 成人性交免费视频| 操操操五月天婷婷丁香影院| 国产亚洲女v在线观看| 操逼逼中文字幕| www黄片免费看com| 九月丁香婷婷| 久久精品国产99久久,亚洲日韩久久日本一区一区三区 | 第四色色综合91| 色大师网站www永久网站视频| 欧美色图天堂网m| 国产成人精品午夜福利| 亚洲天堂男人网| 99久久久久| 丁香五月久久| 亚洲色图 综合| 国产精品一区二区三区四区五区| 影音先锋新男人| 国产久久久久久久久一区二区 | 热99这里有精品综合久久 | 久久五月天婷婷丁香中文字幕| 在线可观看的黄色网址| 久久这里精品国产99丫e6| 亚洲精品一区二区免费在线观看| 91人妻少妇| 日韩一区二区三区四区五区| 91久久18禁| 青青草国产欧美非洲黑人| 韩国一级AAA| 大香蕉AV丝袜| 78久久| 婷婷五月天激情小说| 国产在线精品电影观看| 干日本人少妇午夜寂寞影院| 国产精品网站www| 一起草三级AV电影在线观看| 天天做天天爱天天爽| 亚洲丝袜二区在线| 成片免费观看视频大全| 天美av在线| 神马久久啊啊| 亚洲AV成人无码一二三久久| 国产女同性恋视频| 午夜一级免费毛片| 综合情欲网| 成人性爱电影一区二区| 国产精品国产| 97伦综合| 精品v日韩欧美国产| 天天操夜夜操| 中文字幕乱妇免费视频| 色99视频| 四虎免费在线播放| 在线观看日韩av不卡| 日韩AV熟女乱伦| 五月天精品| 人人摸人人入| 秋霞午夜视频一区二区| 91激情| 999久久久久久久精| 成 人 A V免费视频在线观看| 日韩精品人妻中文字幕有码午| 99精品国产户外露出| 中文字幕日韩人妻视频一区二区三区交换夫妻| 中文字幕,人妻,日韩| 99只有精品| 日本在线视频导航| 毛片久久| 高潮毛片无遮挡高清免费| 中文字幕精品人妻丝袜| 丁香婷婷久久 | 麻花传媒免费网站在线观看| 91麻豆天美国产欧美高潮| av九九| 欧美精品一二三| 天天干天天日天天射黄色片| 色五月激情网| 每日更新AV| 内射小黄片| 97亚洲色图| 加勒比综合a∨| 美女黄页| 欧美日韩999| HEYZO高无码国产精品227| 亚洲情色综合| 97干在线| 久久久久久综合久久伊人蜜月| 黑人精品久久97| 99在线观看无大码| 日韩中文字幕av在线播放| 日本精品88888888| 青青草视频久久久久| 久悠悠av| 熟妇精品juliaannAV| 日韩丝袜人妻AV| 日本不卡码黄色| nuu12国产麻豆精品| 艳尻美人妻| 国产九区| 亚洲色图 91| 一本色道人妻久久| 18禁看网站一区| 国产综合在线视频网站| 久久久久久久亚洲Av无码| 人人摸人人添人人操| 操高情无码| 91GD.COM| 色月天AV导航| 中文字幕色AV| 国产一区二区二区按摩精品啪视频| 亚洲综合在线第一页| 中文字幕在线观| 免费av在线播放二区| 美女淫穴| 久久99久久99精品天美传媒棢·纸:. | 欧美 亚洲 综合 制服| 亚洲AV无码成人精品久久| 国产综合永久精品日韩鬼片| 亚洲日韩狠狠撸视频| 淫乱图区 | 国产精品成人午夜福利| 中字幕人妻一区二区三区| 国产乱伦亚洲| 日韩亚洲97| 97精品网站| 啊啊啊爽爽| 黄色激情电影在线观看| 亚洲熟妇丝袜在线观看| 人妻大香蕉| 乱欲视频| 欧美极品女人的天堂| 欧洲一级性爱视频在线观看| 激情av| 日韩成人高清一区二区| 性爱乱伦视频免费| 精品久久97观看在线视频| 天天插夜夜操| 人妻色情天天操| 五月天婷婷基地| 18禁中文字幕| 国产精品探花视频| 91露脸熟女专区| 另类图片五月| 午夜激情成人在线观看| 午夜高清成人在线视频| 亚洲自拍一区夜夜操| 搡老女人老熟女91老熟女综合网| a一区二区三区乱码在线| 久久九九网| 97干天天| 久久狠狠色噜噜狠狠狠狠97| 任你艹| 日本免费一区二区不卡| 欧美福利视频啊啊啊啊| 欧美午夜精品久久久久久超碰| 秋霞鲁丝午夜无码一区二区三| 日韩欧美日韩| 伊人AAA| 国产蜜臀精品一区二区尤物| 国产极品美女高潮无套在线观看| 青青草吊丝| 欧美在线天堂| 国产无遮挡| 亚洲欧美清纯| 十八禁的黄污污免费网站| 人妻精品一区二区全免费| 亚洲综合网91| 9久综合网| 亚洲色图欧美色18直播在线| 99re久久| 91人妻人人澡人人爽人人精品| 黄色欧美性爱视频| 精品国产一区二区三区久久久蜜臀| 九九九九九九九九九国产精品| 成年人一级黄色毛片大全在线观看| 男生女生啊啊啊啊| 成人a级高清视频在线观看| 射欧美综合| 亚洲成人精品在线一区| 中日无幕一二三四区| 搡老女人911熟妇老熟女| 六月丁香啪啪啪| 蜜臀久久久99久久久久| 亚洲精品 大香蕉| 激情久久日韩精品中文字幕麻豆| 国产综合操逼高清| 天堂成人网| 五月丁香六月婷| 久久精品视频在线观看| 日韩AC| 4tube欧美女厕所| 欧美日韩国产在线| 欧美激情久操网| 熟啊v色欧美热| 欧美日韩国产一区二区小黄片大全| 有码人妻系列| 26uuu国产成人综合| 欧亚揄拍偷拍精品视频| 91丨九色丨43老版熟女| 国产强奸AV在线| 人妻出轨一区二区三区| 日韩乱伦影音先锋| 天天夜夜rb| 荡小穴在线观看| 在线有码中文字幕| 亚洲欧美日韩不卡人妻| 第45页一区二区| 国产精品直播在线观看直播| 亚洲91大片| 丁香成人五月天| 亚洲性爱成人| 亚洲综合骚逼| 国产乱码久久| www.91逼逼.com| 日本三级精品| 欧美色天堂网在线视频| 爽爽淫人网| 久久少妇| 欧美线天码中字| 偷拍欧美综合| 中文字幕精品区先锋资源| 91精片| 久久精品中文| 少妇500双飞99| 思思热在线视频精品| 欧美日韩黄片精品在线| 久婷婷一区| 探花激情视频| 亚洲天堂中文字| 97超碰欧美精品| 97视频900| 日日夜夜干| av黄图片在线观看| 亚洲男人的天堂网| 荡小穴在线观看| 九九综合久久| 翔田千里AⅤHD无码| 亚洲AV在线资源| 天天日日舔舔| 精品熟女一区=区三区| 久久久久久AV无码免费网站| 亚洲欧洲日本精品中文a∨| 亚洲天堂日本| 99re69| 97超级久久强资源| 99色在线视频| 97摸视频| 亚洲av无码成电影在线播放| 4tube欧美女厕所| 久久AV色| 亚州久久9| 920日本午夜免费| 亚洲AV成人无码一区二区三区在线观看| 国产AAAAAABBBBB| 91综合天天看| 国产尤物在线三区| 青青草影视蜜久久| 日韩BBN| 久久精品国产97欧美精品亚洲| 精品国产99| 日韩在线AB| 曰韩精品九九无码| 免费综合亚洲中文| 亚洲欧美日韩夜夜| 久久久久9| 亚洲一区日韩| 婷婷久久五月| 九九碰九九爱97| 免费a在线播放v| 久久精品国产亚洲AV无码电影| 国产东北女人在线视频| 中文字幕一区二区三区高清| www.色吧5.com| 97网色| 欧美日韩欧美| 九九九九热| 啊啊啊啊免费视频| 精品午夜福利| 四虎精品永久在线播放| 看免费的黄片| 强奸乱伦 亚洲一区| 激情熟女12P| 91观看 国产白丝| 国产精品一二三| 99超碰网| 久久AV无码AV| 一起草日韩| 伊人天天久久动态图| 少妇精品| 欧美A片中文字幕| 午夜福利无毒不卡| 色综合V| 日韩欧美tv一区二区在线观看| yellow网站免费观看日韩高清无码| 久操视频资源站公开| 图片区小说区| 97在线免费看| 亚洲青青草| 亚洲激情欧美色图 | 五月婷婷啪啪| 校园春色综合| 欧美91精彩| 欧美草草高清日韩视频| 老熟妇乱轮| 18禁免费视频| 日韩一区二区三区四区五区| 青娱乐av在线| 国产精品动态一区二区三区四四| 日韩一级二级三级| 中文字幕,人妻,日韩| 日韩黄片视频试看| 国产版a级片直播在线| 亚洲 图片 综合91| 国内一区二区三区| 成年人黄色| 天天摸夜夜添无码小视频| 久9视频| 综合网欧美在线| 欧美A√综合网| 九t超碰| 1人人看人人摸人人操| 国内三级自拍小视频在线观看| 六六久久日韩不卡| 91激情国产| dy888午夜老子影视达达兔| www.伪伪| 丁香六月激情| 欧洲与亚洲欧美精品中文字幕| 大香蕉线| 青青伊人这里只有精品| 67194无码不卡| 尤物AV免费网站| 国产成人拍国产亚洲精品| 99超级碰免费视频| 日韩三级在线观看mp4| 亚洲日本大香蕉1| 情趣丝袜无码操逼视频| 99re9在线| 道久久五香丁月婷婷激情综合| 怡春院久久| 26uuu性| 日本有码影片下载| 高清无码学生妹高潮| 亚洲精品国语在线播放| 99热只有| 春色91| 成人八戒网站| 亚洲熟女一区| 家庭乱伦性爱av| 国产日韩精品一区二区三区| 国产精品香蕉| 欧洲熟妇xxXx欧美老妇裸体| 国产一| 久久精品国产AV一区二区三区| 91黑人无码激情在线| www.91欧美| 狼人狠干| 97超碰国产精品| 国产精品久久久久久久久久久久久久吹| 色呦呦呦在线观看视频| 精品人妻一区二区三区夜夜| 久久一区无码| 欧美综合第一页| 精品人妻伦一二三区久久| 久久久三区二区一区| JIZZJIZZ国产精品喷水| 精彩久久中文| 国产综合操逼高清| 熟女熟妇一区二区三四区| 久久天天艹| 91草草草| 亚洲欧美日韩精品久| 综合色久欲| 欧亚性爱视频免费看| 亚洲熟女乱综合一区二区三区 | 国产三区免费在线观看| 欧美性暴力猛交XXXX | 大香蕉av在线| 九九九九九精品| 97干色天堂| 91成人高清在线观看| 99re69综合| 成 人片 黄色大片| 狠久久| 亚洲第一页色| 国语对白露脸XXXXXX| 国产熟妇一区二区| 97摸视频| 久久精品国产99久久,亚洲日韩久久日本一区一区三区 | 91在线/欧洲| 国模无码一区二区三区在线| 变态综合色| 丝袜美腿诱惑亚洲欧美视频在线观看| 12一15性XXXX粉嫩国产| 欧美第二页午夜| 天堂种子在线www网资源| 天天欧美| 天天摸夜夜操视频| 午夜精品久久久久久久99蜜桃一| 精品免费一区| 日韩天天本| 在线只有精品| 日韩肏逼视频| 欧美色爱综合| 九九热超碰97亚洲最新香蕉| 中文字幕一区二区免费在线| 东京热AV男人的天堂| 伊人青青一区成人视频在线观看区| 天堂а√在线最新版在线| 丝袜加勒比| 91丝袜美女| 黄色一级视| 欧美姓爱综合网| 国产无遮挡| 尤物视频视频官网| 女人香蕉久久毛毛片精品| 91jk色拍| AV天堂丝袜| 国产女人9999| 色诱avtt| 精品国产乱码久久久久久影片| 亚洲天堂中文字| 天天插网| 亚洲成人ab| 97超碰影音| 国产精品视频| 看黑人AV不卡| 69超碰综合| 久久精视频美日韩在线视频| 天天综合网日韩7799| 亚州一区二区| 日本不卡一二区| 亚洲日韩东京热一区| 久久发布国产伦子伦精品| 任你爽视频| 强奸乱伦av电影| 91看黄片| 翔田千里A片一区二区| 欧美美女视频| 亚洲牲交| 男人在线天堂| 酒色综合网| 欧美啪啪天堂| 97色欧洲| 久久久女人| 亚洲色图第一页| 免费亚洲国产精品久久一区| 操亚州| 亚洲天堂日本| 98超碰日本| 久久综合久色欧美综合狠狠| 日韩精品电影| 日韩人人精品| 欲色啪| 91亚洲欧美综合高清在线| 欧美激情久久久久| 夜夜免费视频| 97久久超碰日韩精品| 色噜噜人妻av中文字幕| 中文字幕av一区二区三区人妻少妇 | 国产一级高跟丝袜| 大香网站| 国产又色又爽又舒服的三级视频| 亚洲图片偷拍视频区| 亚洲精品啪视频| 秋霞曰韩R级| 欧美国产日韩清纯唯美| 水澄无码AV| 东京太热久久久| 欧美熟妇精品黑人巨大一二三区| 国产人妻精品久久久一区二区三区 | 久思思热视频在线观看| 黄色网址在线免费观看| 丁香五月婷婷啪啪| 爱干爱射网啊啊啊| 97碰碰日本乱偷人妻中文的| 精品女同一区| 精品无码秘 人妻一区二区 | 久超碰这里只有精品| 国产精品久久泡妞网站| 香蕉欧美| 国产美女高潮叫床视频| 吻戏激情性巴克| 五月天色电影| 揉揉揉夜夜| 免费试看60秒| 成人麻豆av电影网站| 翔田千里AⅤHD无码| 国产精品成人无码av无码免费| 国模精品一区二区三区苹果色戒| 天堂九九九九九九九九九| 色九月综合| 亚洲脚交| 人人操人人干xxx| 乱伦av国产| 色婷婷六月| 久久久久久夜夜夜夜夜| 国产成人啪一区二区| 91丝袜| 操逼天美3区| 日本3级一区二区免费| 色91综合网| 国产精品对白自产拍| 亚洲欧美日韩免费观看| 国产亚州精品美女久久久免费| 思思热免费视频观看| 91视频观看网站| 欧美九一精品久久久熟妇| av激情亚洲五月天| 欧美日韩性爱视屏免费看了| 国产地址二三| 91中出| 不卡免费av在线播放| 99啪| 欧美色性情| 欧美大香蕉同搞| 老女人爆菊| 国产黑白丝在线| 为用户提供免费看黄网址在线观看| 色婷婷五月天| 熟女熟妇伦久久影院毛片一区二区| 成人五月天丁香激情综合| 日韩一级片在线看| 99re在线视频| 一本精品日本在线视频精品| 好淫网一二三视区| juliaann丝袜| 男人的天堂一区三区| 一区二区视频你懂的| 18禁看网站一区| 激情文学网伊人| 色欧美色交综合| 你懂的在线观看区国产| 精品91摸| 久久老女人| 99久热| 蜜臀一二三区| 综合网色| 国产熟女一区二区| 在线观看国产黄色| 欧美亚洲第一页| 天天看片天天爽| 中文字幕一二三| 天天插天天干| 国产精品夜夜| 热久久91婷婷| 夜夜草天天| 亚洲色图加勒比| 农村女一级毛卡片| 欧美A√综合网 | 加勒比久久av| 凸凹视频在线观看| 爱爱久久| 熟妇操花| 91色夜| 久久免费精彩视频| 人妖欧美一区二区| 亚洲色图超碰在线| 欧美性爱一区二区| 不卡人妻少妇精品毛片一区23区视频 | 制服乱伦| 少妇久久久久久久| 人妻精品一区二区全免费| 亚洲A曰本VA欧美VA视频| 婷婷另类小说| 天天搞在线综合网| 欧美丝袜中文字幕07在线| 99热精品在线观看| 亚洲欧洲自拍图片专区满春格| 97色色色综合网站| 一区二区三区四区免费视频| 伊人宅男大香蕉| 嗯嗯嗯好爽| 国产三级资源在线观看| 亚洲精品黑丝| 日本天天操| 亚洲高清无毛一区二区| 色天堂在线观看| av资源在线观看少妇| 9久9久9久9久视频网站| 99热超碰| 欧美性爱中文字幕无线码| 欧美日韩国产色五月综合在线| 综合网欧美在线| 乱抡国产91| 亚洲偷拍欧美激情| 欧美拳交在线播放| 中国大陆国产高清AⅤ毛片| 国产夫妻性生活视频| 久久精品女同亚洲女同13| 国产精品色哟哟| 国产亚州精品美女久久久免费| av亚欧| 久久97超碰香蕉| 国产超碰在线一区| 日本熟人妻中文字幕在线|...久久国产精品-国产精品_日本一区二区三区中文字幕 | 欧美东京热精品A∨| 国产无吗在线播放| 在线观看成人性爱免费小视频| 超碰538| 亚洲色图殴美色图激情乱伦| 色色97爱| 午夜男人天堂| 神马久久久久久伦理片| 91天天综合| yiqicaoav| 久久久久人妻二区精品叶可怜| 欧美精品三级黄片| 女欧美一区二三区| 免费啪啪一级视频| 丁香五月久久| 色噜噜精品一区二区三| 亚洲双插| 亚洲日韩欧美一区二区| 国产精品久久久视频| 天天看天天在线精品| 午夜精品久久一区二区| 好吊色在线观看| 懂色av中文字幕一区二区三区天美| 熟女少妇视频| 极品尤物女神在线观看| 欧美综合站| 国厂麻豆77q4| 91精品人妻| 日韩无码精品综合久久| 久久久久亚洲精品| 99啪啪| 天天综合网亚洲综合网| 亚洲国产精品成人综合| 97综合网| 试看60秒 爽| 久久亚洲天堂| 果冻传媒一区二区三区| 99热亚洲天堂| 婷婷五月天伊人| 免费A V在线播放| 国产亚洲欧美每日在线| 蜜臀久久99精品久久久| 91精品人妻一区二区三区蜜桃| 91国精产品| 曰韩av中文字幕专区| 久久九七| 91性色| 99热在线播放| 国产超碰97| 色综91| 久草婷婷| 国产日本顶级一区二区三区| 性色av网站| 久热大香蕉网站| 精品久久无码午夜福利| 夜夜嗨AV蜜臀av| 婷婷五月天激情四射| 淮穴色AV| 超碰午夜| 亚洲天堂日本| 欧美一级特黄淫片在线观看| 亚洲揄拍网| 亚洲综合另类小说色区亚洲成av人片在www | 91丨九色丨国产打屁股| 中文字幕av一区二区三区人妻少妇 | 9久精品视频在线观看| 五十路六十路七十路熟婆| 久操网在线| 美女操逼A A| 亚洲精品97中文字幕| 亚洲欧美一区二区三区一猛片| 午夜九九| 久久国产精品91| AV和黑人在线播放| 97亚洲国产| 久久精品午夜国产亚洲AV无码| 久久同城AV| 日本污ww视频网站| 插入逼91| 国产免费小视频| xxx亚洲午夜天堂| 国产精品成人蜜臀AV在线| 日韩熟女精一区二区三区不卡| 久操精品网| 国产性爱在线视频一区二区| 欧美亚洲清纯| av天堂影视中文在字幕在线中文 | 欧美日韩亚洲少妇寂寞影院正在播放 | 日韩欧美性吧婷婷乱伦大香蕉 | 丝袜熟女一区二区三区| 素人伊尹大香蕉免费下载视频| 超碰人妻中文在线| 99自拍B亚洲 | 玖玖综合色| 色五月av| 97中文字幕一区| 5252色欧美在线男人的天堂| 成人日本片久久久蜜桃| 亚洲天堂男人网| 久久九九国产精品| 9 9无尺码天堂网| 亚洲电影91| 欧美激情久| 精品亚洲成人免费在线| 欧美激情五月天| 96精品久久| 久/久精品99看9| 久久在肏| 99亚亚热| 黄片视频观看| 伊人伊人LD| 亚洲av综合色区图片亚洲| 日本 免费 一区二区三区 久久香蕉| 走光一区92下载| 青青草成人视频在线观看二区| 亚洲欧美一区二区三区在钱蜜桃| 欧美黄色手机在线观看| 91国产大片| 亚洲天堂区| 极品丝袜无码| 和协影院中文字幕三区| 欧美色道啊| 伊人九九| 精品国产乱码| 黄片在线免费在线观看| 一区二区影院| 99自拍视频| 操操操操操操| 九9精品| 蜜臀99久久精品久久久懂爱| 中国少妇XXXX做受| 欧美性爱在线无码| 性欧美体内射精| 精品97精品97| 91M一社| 欧美一级美片在线观看免费| 最新日产中文在线麻豆| 91扒丝袜综合在线| 99综合自拍| 青青在线视频免费| 日韩免费大片一级播放| 色精品极品| 欧美色老汉| 377p欧洲日本亚洲大胆| 国产天天骚| 人妻在线中出视频| 易易A毛视频| 国产懂色精品国产av| 97精品国产97久久久久久户外免费| 欧洲小说色图视频另类| 国产又黄又爽| 中文字幕在线播放2中文字幕在线观看2| baiduhicn.com。| AAAA欧美日韩| 亚洲欧洲偷拍一区| …亚洲黄色厕厕女女在线播…| 成人三一级一片aaa| 夜夜国产一区| 色就色综合| 91高跟美女在线播放| 亚洲欧洲av影音| 欧美久久婷婷| 热久久国产| 97干天天| 日本大香蕉综合网红本杳社区| 操屄不卡视频| 激情第四色| 久久久久久亚洲中文| 青青青国产手线观看视频2| 免费av在线播放二区| 草莓精品视频在线免费观看| 成人性爱av| 色狠狠色| 一级特级aaaa毛片免费观看| 久久久偷拍| 亚洲人在线| 在线观看中文av字幕| 94色色电影网| 国产精品3| 日韩专区数据列表-第3230页-精品国产一区二区三区香蕉 久久99熟女人妻中文字 | 欧美韩日精品99综合| 国产无码久久高清| www.久久超碰| 殴美牲| 日本二三四区| 久久伊人五月天| 欧美日本不卡在线| 加勒比AV网| 久久久久久久伊人精品| 天天操人人操骚逼网站| 精品久久人妻成人网| 日本亚欧爱爱| 少妇国产不卡| 欧美性爱三区二区| 九九五月天| 男人天堂.AB| 国产亚洲中文不卡二区| 欧洲一区二区| 久久久久国产亚洲一区欧美色图日韩| 久96热在线观看视频| 很很很很操| 日韩中文字幕宗合在线| 日韩 欧美 校园一区| {男男暴菊gay无套网站| 熟女人妻一区二区三区| 亚洲激情片| 精品中文字幕一区二区| 91久久久久久| 1二区9| 婷婷激情四射| 91干熟女| 久久久18禁| 午夜亚洲| 女人精品内射国产99| 中国国产精品一区视频| 天天综合91在线| 丝袜美女诱惑 91 视频| a级免费在线观看| 日本午夜久久电影| 久久精品一区| 大香蕉伊人网| 北约熟女超碰| 色波多| 97日韩欧美亚洲| 91新在线欧美| 884t在线| 亚洲成人精品久久久| 天天干,天天日| 亚洲精品a人片在线观看视| 18禁止看精品中文字幕| 日韩九九九| 97国产综合欧美| 操学生天天| 素人美腿视频网站| 免费在线看黄片av| 欧美亚洲综合色| 2017天天插| 日韩中文欧美| 久久久久久久精| 91女网站| 亚洲成人在线高清| 久操九九九九九九九九九九九九九九九九九九九九九九九九九九九九 | 69国产对白刺激| 亚洲综合有玛| 亚洲第一狼人丝袜美女另类| 亚洲人码13| 熟女人妻一区二区三区| 中文乱码字幕观看视频| 最新欧洲欧美日本激情网站| 亚洲中字慕不卡| 免费操逼视频下载| 综合色好色| 99久在线精品99re8a| 温婉少妇玩3p| 黑人精品欧美一区二区蜜桃| 狠狠久久亚洲欧美专区| 国产午夜在线观看| 少妇熟女视频一二三区| 1956日韩精品| 亚洲古典另类欧美在线| 色综合91好| 久久本道| 天干天干天干天天做| 亚洲AV成人无码一二三久久 | 日韩欧视频| 亚洲国产av中文字幕久久 | 91操熟女视频 | a在线视频免费观看| 欧美综合色综合| 国产精品无码论坛| 亚洲欧美中日韩| 日B操| 久久夜夜夜夜| 中文字幕人妻资源在线| 18精品一区| 粉嫩av平台| 日本黄色裸日本黄色裸体| 白嫩妹子国产骚| 天天摸夜夜添无码小视频| 亚洲熟妇图片| 17c嫩草51久久91嫩草| 久悠悠av| 中文字幕av亚洲精品| 91在线欧色| 久久尹人大香焦视| 操逼网站地址| 啊啊啊慢点| 丁香五月影院| 亚洲黄色AV电影| 偷拍伦理视频| 国产欧美成人第一页在线观看| 久久蜜色情在线视频xxx免费观看| 三级激情网站| 9999亚洲精品| 日韩精品在线观看网站| 台湾佬中文娱乐网久久久久久久久久com| 午夜视频好爽啊| 亚洲精品欧美专业| 久草免费福利在线播放| 久久精品女同亚洲女同13| 国产久久久久久久久一区二区| 九久久九九久视频| 亚洲欧美setu| 丰满的三级少妇欧美久久久| 国产剧情在线| 日本三级韩国三级美三级91| 亚洲五月丁香花狠狠干一区二区三区| 啪啪啪综合网| 一区二区不卡免费| 亚洲区限制级 99| 亚洲高清欧美总合| 自拍偷拍 日韩欧美| 亚洲春色一区二区三区| 韩日性爱av| www99热| 97亚洲资源| 啊啊啊不要嗯嗯在线观看| 国产又爽又黄| 超碰精品国产无码| 欧美亚洲综合高清在线| 欧美精品欧美精品系列| 青青草精品| 秋霞曰韩R级| 秋霞午夜视频一区二区| 男女激烈网站最新| 亚洲人精品久久久| 青青草成人视频在线观看二区| 欧美亚洲日本激情在线| 强奸国产精品视频| 亚洲第一页第二页激情| 九九热精品| 一区二区三区高清| 91中文字幕在线观看| 国产91专区| 欧美黑人168页欧美黑人167| 亚洲精品成人动漫在线| 欧美巨大性舒爽顶到了| 天天综合网在线91| 色网亚洲人| 97超碰精品| 国产JDAV无码视频在线观看| 色在线视频导航| 欧美人与动性人交a| 99久久亚洲精品无码毛片潘甜甜 | 亚洲欧洲综合视频在线| 伊欧美综合视频| 久久免费精彩视频| 天天综合精品| 99久在线精品99re8a| 欧美激情内射| www.大香| 一区二区 韩日AV| 天天躁狠狠躁av| 国产综合在线视频网站| 欧美v日韩欧亚洲电影天堂色诱,国产传媒| 91碰碰碰| 欧美综合色站| 麻豆亚洲AV成人无码久久精品| 九九精品99| 日本免费一区二| 九九九久久久W精品| www.av在线视频| 超碰在线97国产| 东北操逼| 久久超碰国产一区二区三区| 国产福利影视| 久操大香蕉超碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰 | 亚洲综合另类小说色区亚洲成av人片在www| 99久久婷婷丁香| 伊人大香蕉在线| 久久久涩| 久久精品高清无码一区| 97超碰色屌| 天啪| 久久婷婷五月综合| 中亚黄色三级大片 | 欧美探花网| 久jiu久神马影院| 亚州一区二区| 激情综合五月| 东京热毛片调教| 乳欲人妻办公室奶水| 青青草大香蕉在线视频| 91亚州| 欧美乱色| 日韩性爱长视频免费| 狠狠爱综合| 亚洲精品蜜桃久久久| 人妻少妇被猛烈进入中| 丝袜美腿射精91| 1024人妻熟女一区二区三区| 中日韩久久久免费看| 能看的av| 收看日本人日bb| 加勒比伊人综合| 另类专区在线观看| 日韩性色| 欧美性区| 亚洲蜜桃V妇女| 超碰碰97资源站| 欧美大香蕉在线观看| 精品传媒在线一区| 麻豆性爱视频在线播放| 亚欧性爱ab| 插插综合网天天影视网| 欧美久久草熟女| 日本精品无码三级网站| 啊灬啊灬啊灬啊灬高潮奶出了免费视| 欧美一区二区亚洲天堂| A级国产欧美激情在线| 99久久免费看精品国产一区| 国产精品乱人伊人网| 少妇干B| 丝袜人妻av一区二区| 欧日韩一二三f区| 97干在线看| 久热婷婷| 久久久久国产精品片区无码直播| 91丨人妻丨国产丨丝袜| 精品无码人妻一区二区免费蜜桃| 色色国产| 丁香六月婷婷| 久久精品国产亚洲AV无码电影| 欧美人与动性人交a| 91精品婷婷国产综合久久| 久久亚洲天天做| 日韩免费人妻色情网站| 天天干人妇| 美女操逼福利视频| 成人麻豆av电影网站| 国产午夜福利电影免费在线观看| 日夜伊人网| 九九九九AV| 凌辱美少妇久久aV| 欧美一级欧美三级在线观看| 夜夜天天噜狠狠爱2021| 国产精品爱欲| 伊人丁香五月婷婷| 亚洲国产一级黄色视频| 黑人娇小av在线播放| 91丝袜美女视频| 久久久久久久六六 | 黄色成人网久久久久久| 韩国三级色呦呦| 国产精品一二三区18| 国产无码成人无码| 亚洲日本激情| 欧美大香蕉同搞| 懂色AV蜜臀无码精品APP| 秋霞影音一区二区三区| HEYZO高无码国产精品227| 色色婷婷五月天| 日韩一级二级| 亚洲日韩青青草色月| 国产精品午夜福利视频| 97chaopenrihan| 9999亚洲精品| 亚州黄站| 日本黄色精品专区网站| 亚洲熟女性高潮久久久| 色情婷婷| 亚洲综合情色| 精品人妻一区二区三区鲁大师| 新亚洲无码| 国产乱人伦AVA麻豆软件.| av一区二区三区 中文| 亚爽爽爽爽爽爽爽爽| 亚洲自拍另类丝袜综合| 青青久久久| 午夜福利免费福利视频| 高潮嗯啊性感美女久久久| 精品人妻一二三| 中文字幕在线免费观看视频| 97一区二区三区视频| 99婷婷一区二区| 7月婷婷综合| 视频在线97| 女人被添高潮免费视频| 天天内射| 全球成人中文在线| 久9综合在线| 免费a级毛片av无码久久精品中文字幕| 五月黑AⅤ| 欧洲黄色网| 日日黄色三级网站| 日本操逼无码| 久久久不能久久久久| 妇女性内射冈站HDWWWCOM| 国产精品在线网站| 久久肏大逼| 久久久久久久| 国产性刺激| 欧美十八禁网站| 国产精品乱码久久久久| 无码人妻一区二区一牛影视| 日韩免费中文字幕视频| 亚洲色悠悠久久88| 国产视频一区二区免费| 欧美性高潮| 日韩情色AV| 丁香九月激情啪| 久久av无码| 少妇淫妇久久久久久久| 国产久久视频| 婷婷五月天福利| 日韩操p| 欧美成人贴图| 自拍视频大全亚洲专媒视频/一区二区三区 | 视频一区二区三区精品| 9999久久久久| 国产精品久久久久久夜夜夜| 91人妻中文| 韩三级a视频在线观看| 99re综合伊人| 精品人妻一区二区蜜桃视频| 精品高清牛人盗摄一区二区三区中文字幕A片免费在线观看 | 亚洲少妇中文字幕网址| 国产精品不卡av免费在线观看| 久久禁| 欧美激情色婷婷花野真衣一区二区|