久久亚洲成a人片熟女精品色一区二区三区|国产精品视频第一精品视频|av天堂热无码手机版|亚洲?v无码久久无遮挡|国产精品偷伦视频免费观看国产|麻豆国产自产精品丰满熟妇|av无码av不卡一区二区|久久亚洲精品中文字

ARTICLE DETAIL

資訊詳情

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

Spring Boot + Vue全??Х葟d管理系統(tǒng):從需求到上線(xiàn)踩坑復(fù)盤(pán)

Spring Boot + Vue全??Х葟d管理系統(tǒng):從需求到上線(xiàn)踩坑復(fù)盤(pán) “舊時(shí)光”這三個(gè)字聽(tīng)起來(lái)就很適合做項(xiàng)目背景——一家主打懷舊復(fù)古風(fēng)的咖啡廳既有堂食、外帶也有會(huì)員儲(chǔ)值、積分兌換這些餐飲老玩法。技術(shù)棧選了Java Spring Boot做后端前端用Vue這套組合在學(xué)校畢設(shè)、個(gè)人全棧作品、甚至小型創(chuàng)業(yè)項(xiàng)目里都非常成熟資料多、社區(qū)活躍遇到問(wèn)題基本搜得到答案。這篇文章我不會(huì)給你貼一層皮式的“項(xiàng)目展示”而是按我實(shí)際做這類(lèi)點(diǎn)餐收銀系統(tǒng)的思路從需求分析、表結(jié)構(gòu)、后端接口、前端頁(yè)面、懷舊主題落地到上線(xiàn)前容易踩的坑完整走一遍。適合正準(zhǔn)備做類(lèi)似管理系統(tǒng)的同學(xué)參考也適合已經(jīng)寫(xiě)完業(yè)務(wù)、想優(yōu)化代碼細(xì)節(jié)的朋友當(dāng)個(gè)檢查清單。1. 動(dòng)手之前先給咖啡廳管理系統(tǒng)“畫(huà)像”很多人做管理系統(tǒng)有個(gè)通病拿到需求就建表表建完就寫(xiě)增刪改查結(jié)果做到一半發(fā)現(xiàn)業(yè)務(wù)流程對(duì)不上返工成本極高?!芭f時(shí)光咖啡廳”這種項(xiàng)目核心是運(yùn)營(yíng)閉環(huán)第一步應(yīng)該先把角色、場(chǎng)景和流程定死。1.1 角色與使用場(chǎng)景咖啡廳管理系統(tǒng)絕不是只有管理員一個(gè)角色的“單機(jī)軟件”我按照現(xiàn)場(chǎng)動(dòng)線(xiàn)設(shè)計(jì)了四類(lèi)使用者分別對(duì)應(yīng)不同的終端和界面角色主要終端職責(zé)核心操作管理員PC后臺(tái)門(mén)店全局管理商品上下架、訂單查詢(xún)、數(shù)據(jù)報(bào)表、員工賬號(hào)管理收銀員PC收銀臺(tái)/平板堂食點(diǎn)單、結(jié)賬、退款快速開(kāi)單、折扣、接單、打印小票吧臺(tái)/后廚后廚顯示屏制作出品查看待制作訂單、標(biāo)記完成顧客手機(jī)瀏覽器掃碼自助點(diǎn)餐掃碼看菜單、下單、查看訂單進(jìn)度這里有個(gè)特別容易忽略的點(diǎn)顧客端必須移動(dòng)端優(yōu)先收銀臺(tái)要適應(yīng)平板觸屏操作而后廚屏是大屏展示。一套 Vue 響應(yīng)式布局在桌面上做“寬度斷點(diǎn) 觸控按鈕加大”就能覆蓋沒(méi)必要像有些項(xiàng)目一樣拆好幾個(gè)獨(dú)立前端工程。1.2 核心業(yè)務(wù)流程梳理我從“顧客進(jìn)店到離店”這條主線(xiàn)倒推系統(tǒng)功能顧客到店掃描桌臺(tái)二維碼手機(jī)端瀏覽菜單、加購(gòu)、提交訂單訂單進(jìn)入后臺(tái)待支付狀態(tài)顧客在線(xiàn)支付或到收銀臺(tái)結(jié)賬后廚屏顯示新訂單按順序制作點(diǎn)擊完成收銀臺(tái)打印小票顧客取餐或服務(wù)員送餐結(jié)賬后會(huì)員積分自動(dòng)累計(jì)餐后顧客可查看歷史訂單。這一套流程對(duì)應(yīng)到后端就是桌臺(tái)模塊、菜品模塊、購(gòu)物車(chē)模塊、訂單模塊、支付模塊、后廚狀態(tài)流轉(zhuǎn)模塊、會(huì)員模塊。你的“管理后臺(tái)”其實(shí)只服務(wù)其中三分之一的需求另外三分之二都在給顧客和后廚做工具。當(dāng)時(shí)我畫(huà)完流程有個(gè)很關(guān)鍵的體會(huì)不要把一個(gè)需求的每一步都做成頁(yè)面。比如“后廚屏”根本沒(méi)有復(fù)雜表單就是一張輪詢(xún)更新的列表加一個(gè)完成按鈕真正重的邏輯都在訂單狀態(tài)的流轉(zhuǎn)和并發(fā)控制上。2. 數(shù)據(jù)庫(kù)設(shè)計(jì)“舊時(shí)光”的家底怎么盤(pán)表結(jié)構(gòu)設(shè)計(jì)是這類(lèi)系統(tǒng)的地基。地基歪了后端的業(yè)務(wù)代碼寫(xiě)得再漂亮也是空中樓閣。2.1 核心表清單我按業(yè)務(wù)域拆成六大模塊自認(rèn)為這是咖啡廳管理系統(tǒng)性?xún)r(jià)比最高的建模方式用戶(hù)與權(quán)限user員工/管理員、role、permission或者直接用更簡(jiǎn)單的 user role 兩張表 前端按鈕級(jí)權(quán)限判斷。多數(shù)校園項(xiàng)目用 JWT 攔截器判斷角色就夠不需要引入復(fù)雜的權(quán)限框架。菜品域category菜品分類(lèi)、product菜品、product_spec規(guī)格比如大杯/中杯、常溫/加冰還有 product_image 處理多圖切換。桌臺(tái)域table包含桌號(hào)、座位數(shù)、當(dāng)前狀態(tài)空閑/占用/待清理、綁定的二維碼。訂單域orders主表、order_item明細(xì)表、order_status_log狀態(tài)流轉(zhuǎn)記錄。會(huì)員域member會(huì)員檔案、member_balance_log儲(chǔ)值流水、member_points_log積分流水、coupon優(yōu)惠券和 user_coupon領(lǐng)券記錄。倉(cāng)儲(chǔ)域material原材料、purchase進(jìn)貨單、stock_record庫(kù)存流水。咖啡廳也是要算物料成本的這一塊做好了管報(bào)表時(shí)才有東西可看。有些同學(xué)對(duì)“狀態(tài)機(jī)日志表”不重視覺(jué)得多寫(xiě)一張表很麻煩。真上線(xiàn)后你會(huì)發(fā)現(xiàn)顧客說(shuō)“我明明支付了但顯示未支付”或者后廚說(shuō)“這單怎么重復(fù)出現(xiàn)了”查訂單狀態(tài)歷史時(shí)沒(méi)有日志你只能跟用戶(hù)來(lái)回拉扯。加一張 status_log每次狀態(tài)變更記一下誰(shuí)改的、從哪改到哪、為什么改排查問(wèn)題效率翻倍。2.2 建表時(shí)的幾個(gè)細(xì)節(jié)訂單主表我建議長(zhǎng)這樣省略部分字段CREATE TABLE orders ( id BIGINT PRIMARY KEY AUTO_INCREMENT, order_no VARCHAR(32) NOT NULL COMMENT 訂單號(hào), table_id BIGINT COMMENT 桌臺(tái)ID自取可空, member_id BIGINT COMMENT 會(huì)員ID非會(huì)員可空, total_amount DECIMAL(10,2) NOT NULL COMMENT 應(yīng)收金額, discount_amount DECIMAL(10,2) DEFAULT 0.00 COMMENT 優(yōu)惠金額, pay_amount DECIMAL(10,2) NOT NULL COMMENT 實(shí)付金額, pay_type TINYINT COMMENT 1微信 2支付寶 3現(xiàn)金 4儲(chǔ)值卡, status TINYINT NOT NULL COMMENT 訂單狀態(tài), remark VARCHAR(255) COMMENT 顧客備注, create_time DATETIME NOT NULL, update_time DATETIME NOT NULL, KEY idx_order_no (order_no), KEY idx_table_status (table_id, status), KEY idx_create_time (create_time) ) ENGINEInnoDB DEFAULT CHARSETutf8mb4 COMMENT訂單主表;幾個(gè)容易踩的點(diǎn)金額一律DECIMAL(10,2)Java 里對(duì)應(yīng)BigDecimal絕不用double??Х葐蝺r(jià)看似是 18 元、28 元這種整數(shù)但折扣、滿(mǎn)減、積分抵扣算下來(lái)浮點(diǎn)數(shù)誤差積累幾萬(wàn)單之后會(huì)很惡心。訂單號(hào)order_no我習(xí)慣由后端生成用時(shí)間戳 隨機(jī)序列 門(mén)店前綴比如2025031215301001。不要用自增 ID 當(dāng)訂單號(hào)漏給顧客既不安全也難辨識(shí)。所有跟“狀態(tài)”有關(guān)的字段建議用TINYINT數(shù)字而不是字符串表里注釋寫(xiě)明每個(gè)數(shù)字的含義。Java 側(cè)用枚舉類(lèi)映射前后端統(tǒng)一狀態(tài)碼字典。凡是需要列表查詢(xún)的表都給 create_time 和狀態(tài)字段建索引。管理端“查今天的訂單”“查某桌待支付訂單”是最常見(jiàn)的高頻查詢(xún)沒(méi)索引的話(huà)數(shù)據(jù)量過(guò)萬(wàn)就會(huì)開(kāi)始卡。2.3 索引與查詢(xún)優(yōu)化后臺(tái)報(bào)表頁(yè)經(jīng)常出現(xiàn)“時(shí)間范圍 狀態(tài) 門(mén)店”組合查詢(xún)這種場(chǎng)景別想著一個(gè)復(fù)合索引通吃。我當(dāng)時(shí)的做法是訂單主表給(status, create_time)建聯(lián)合索引因?yàn)樽畛3霈F(xiàn)的篩選是“某狀態(tài) 最近時(shí)間”桌臺(tái)表按(store_id, status)走訂單明細(xì)表則完全靠order_id查詢(xún)只建單列索引。運(yùn)行時(shí)如果發(fā)現(xiàn)某個(gè)報(bào)表接口慢用EXPLAIN看一下是否走了索引別盲目加索引——咖啡廳系統(tǒng)寫(xiě)入頻率遠(yuǎn)高于讀取索引過(guò)多會(huì)導(dǎo)致插入和更新變慢得不償失。3. Spring Boot 后端把“重復(fù)勞動(dòng)”砍到最低后端我用的版本組合是 Spring Boot 3.2.x JDK 17 MyBatis-Plus MySQL 8。選這個(gè)組合的理由很簡(jiǎn)單Spring Boot 3 已經(jīng)非常穩(wěn)定JDK 17 是長(zhǎng)期支持版MyBatis-Plus 做單表 CRUD 幾乎不用寫(xiě) SQL可以把精力集中在真正復(fù)雜的訂單流轉(zhuǎn)和報(bào)表聚合上。3.1 工程結(jié)構(gòu)不要過(guò)度設(shè)計(jì)現(xiàn)在網(wǎng)上很多項(xiàng)目一上來(lái)就拆 Maven 多模塊common、system、order、member……對(duì)于一個(gè)單體就能扛住的咖啡廳管理系統(tǒng)我強(qiáng)烈建議用單模塊按包名分域目錄長(zhǎng)這樣com.oldtime.cafe ├── config # 全局配置CORS、MyBatisPlus、Jackson ├── common # 統(tǒng)一返回體、異常、工具類(lèi) ├── security # JWT 認(rèn)證與攔截器 ├── controller # 接口層 ├── service # 業(yè)務(wù)層 ├── mapper # MyBatis-Plus Mapper ├── entity # 數(shù)據(jù)庫(kù)實(shí)體 ├── dto # 請(qǐng)求/響應(yīng)對(duì)象 └── vo # 前端視圖對(duì)象只要你的代碼不是爛到完全不可維護(hù)這種包結(jié)構(gòu)足夠支撐到幾千家門(mén)店的規(guī)模。多模塊真正的收益是在團(tuán)隊(duì)協(xié)作和強(qiáng)制依賴(lài)邊界上一個(gè)人開(kāi)發(fā)的項(xiàng)目用多模塊純屬給自己找編譯麻煩。3.2 認(rèn)證方案JWT 攔截器咖啡廳的角色不多用 Spring Security 也綽綽有余但我實(shí)際用的是輕量方案登錄接口發(fā)放 JWT前端每次請(qǐng)求帶上 Token后端寫(xiě)一個(gè)攔截器解析 Token、校驗(yàn)角色、放行請(qǐng)求。JWT 的“無(wú)狀態(tài)”特性在這個(gè)場(chǎng)景很合適顧客手機(jī)端、收銀臺(tái) PC、后廚屏三個(gè)終端共享同一套認(rèn)證不需要服務(wù)端維護(hù) Session。但要注意 JWT 過(guò)期時(shí)間的設(shè)置——顧客點(diǎn)餐可能長(zhǎng)時(shí)間不退出我設(shè)置的是 7 天員工后臺(tái)則設(shè)置 2 小時(shí)過(guò)期后重新登錄。登錄接口的核心邏輯大致如下Override public LoginResult login(String username, String password) { User user userMapper.selectOne( new LambdaQueryWrapperUser() .eq(User::getUsername, username) ); if (user null) { throw new BusinessException(用戶(hù)名或密碼錯(cuò)誤); } if (!passwordEncoder.matches(password, user.getPassword())) { throw new BusinessException(用戶(hù)名或密碼錯(cuò)誤); } if (user.getStatus() ! 1) { throw new BusinessException(賬號(hào)已被禁用); } String token jwtUtil.generateToken(user.getId(), user.getRole(), user.getNickname()); return new LoginResult(token, user.getRole(), user.getNickname()); }有一件事必須單獨(dú)提醒顧客掃碼點(diǎn)餐本質(zhì)上也是登錄。不要讓顧客去注冊(cè)賬號(hào)注冊(cè)門(mén)檻會(huì)把手機(jī)點(diǎn)餐轉(zhuǎn)化率砍掉一半。顧客端用“微信授權(quán) 手機(jī)號(hào)”方式或者干脆生成一個(gè)臨時(shí)游客身份結(jié)賬時(shí)才引導(dǎo)綁定會(huì)員。我在表設(shè)計(jì)里的 member 就是可空字段原因就在這里。3.3 訂單提交接口與并發(fā)思考點(diǎn)餐系統(tǒng)最容易出事故的就是“提交訂單”這個(gè)動(dòng)作。顧客瞬間提交、多次點(diǎn)擊、庫(kù)存修改、余額扣減任何一個(gè)環(huán)節(jié)不加控制都會(huì)出問(wèn)題。我的訂單提交流程分四步冪等校驗(yàn)前端生成“請(qǐng)求唯一標(biāo)識(shí)”比如 UUID提交時(shí)帶上。后端用 Redis 的 SETNX 緩存這個(gè)標(biāo)識(shí)如果 3 秒內(nèi)重復(fù)提交直接返回“訂單處理中”。這一步能擋住 90% 的重復(fù)點(diǎn)擊問(wèn)題。庫(kù)存預(yù)扣讀取商品庫(kù)存預(yù)扣除購(gòu)買(mǎi)數(shù)量而不是等到支付完成才扣。如果顧客 15 分鐘未支付庫(kù)存自動(dòng)回補(bǔ)。計(jì)算金額加購(gòu)項(xiàng)單價(jià) × 數(shù)量減去優(yōu)惠券金額再算會(huì)員折扣全程用BigDecimal。事務(wù)落庫(kù)在事務(wù)里寫(xiě)入訂單主表、明細(xì)表、庫(kù)存流水、優(yōu)惠券核銷(xiāo)記錄。用Transactional(rollbackFor Exception.class)明確指定回滾條件。我當(dāng)時(shí)踩過(guò)一個(gè)大坑訂單超時(shí)未支付回補(bǔ)庫(kù)存用的是定時(shí)任務(wù)掃表結(jié)果高峰期定時(shí)任務(wù) 3 分鐘跑一次顧客看到“還有 5 件”點(diǎn)進(jìn)去卻發(fā)現(xiàn)沒(méi)有了。后來(lái)改成 Redis 延遲隊(duì)列 訂單狀態(tài)掃描雙保險(xiǎn)體驗(yàn)才真正達(dá)標(biāo)。3.4 后端基建統(tǒng)一返回、全局異常、日志接口返回格式一定要統(tǒng)一這是前后端協(xié)作的底線(xiàn){ code: 200, message: success, data: {} }為了少寫(xiě)重復(fù)代碼我做了一個(gè)ApiResponseT泛型工具類(lèi)配合全局異常處理器RestControllerAdvice這樣業(yè)務(wù)里想報(bào)錯(cuò)時(shí)直接throw new BusinessException(庫(kù)存不足)前端拿到的永遠(yuǎn)是同一個(gè)結(jié)構(gòu)。日志方面用 Slf4j 在關(guān)鍵節(jié)點(diǎn)打日志登錄、下單、支付回調(diào)、退款、庫(kù)存變更。上線(xiàn)后顧客來(lái)反饋問(wèn)題你只需要搜訂單號(hào)就能串起整個(gè)過(guò)程。4. Vue 前端從路由守衛(wèi)到掃碼點(diǎn)餐前端我用的是 Vue 3 Vite Element Plus Pinia Axios這套組合是目前 Vue 生態(tài)的主流答案。Vite 比 Webpack 快的不是一點(diǎn)點(diǎn)開(kāi)發(fā)體驗(yàn)舒服太多了。4.1 工程目錄與 API 封裝Vue 前端單倉(cāng)庫(kù)多頁(yè)面即可按“后臺(tái)管理”和“顧客端 H5”拆成兩個(gè)路由空間但共用一套請(qǐng)求封裝和組件src ├── api # 所有接口定義按模塊拆分 ├── assets # 靜態(tài)資源、懷舊主題圖片 ├── components # 通用組件 ├── layout # 后臺(tái)布局 ├── router # 路由配置 ├── store # Pinia 狀態(tài) ├── views │ ├── admin # 管理后臺(tái)頁(yè)面 │ └── mobile # 顧客掃碼點(diǎn)餐頁(yè)面 └── utils # axios、工具函數(shù)Axios 封裝里最核心的是攔截器。請(qǐng)求攔截器從 Pinia 的 token 狀態(tài)里取 JWT 塞進(jìn) Header響應(yīng)攔截器統(tǒng)一處理業(yè)務(wù)錯(cuò)誤碼401 跳登錄500 彈出錯(cuò)誤提示。這段代碼每個(gè)項(xiàng)目都得寫(xiě)一遍但寫(xiě)好之后所有頁(yè)面調(diào)用接口就是一行await api.order.submit(params)干凈利落。4.2 路由守衛(wèi)與角色控制管理后臺(tái)的訪(fǎng)問(wèn)控制說(shuō)復(fù)雜也復(fù)雜說(shuō)簡(jiǎn)單也簡(jiǎn)單。我用的是“路由 meta 全局前置守衛(wèi)”router.beforeEach((to, from, next) { const store useUserStore(); if (to.meta.public) { next(); return; } if (!store.token) { next(/login); return; } if (to.meta.roles !to.meta.roles.includes(store.role)) { next(/403); return; } next(); });把“哪些頁(yè)面哪些角色能進(jìn)”寫(xiě)在路由表的 meta 里加頁(yè)面時(shí)順手聲明權(quán)限維護(hù)成本非常低。管理員能看到報(bào)表和員工管理收銀員看不到這些入口后廚屏甚至不需要登錄——它是獨(dú)立路由走的是店內(nèi)局域網(wǎng)接口。4.3 掃碼點(diǎn)餐的實(shí)現(xiàn)思路顧客端最核心的交互是“掃碼 → 看菜單 → 加購(gòu) → 下單”。二維碼不是技術(shù)難點(diǎn)但有幾個(gè)體驗(yàn)細(xì)節(jié)值得說(shuō)二維碼內(nèi)容用一個(gè)短標(biāo)識(shí)符比如cafe://table/12而不是完整 URL。這樣換個(gè)域名二維碼不用重新生成。掃碼后先調(diào)接口查詢(xún)桌臺(tái)狀態(tài)如果已占用則提示“本桌已開(kāi)臺(tái)”避免重復(fù)開(kāi)臺(tái)。加購(gòu)按鈕要大觸控區(qū)域不小于 44px菜單分類(lèi)左右布局右側(cè)菜品列表可滾動(dòng)。購(gòu)物車(chē)做成懸浮底部欄點(diǎn)擊展開(kāi)明細(xì)整個(gè)交互參考外賣(mài) App 但比外賣(mài)更簡(jiǎn)單——不需要配送地址省掉一大塊表單。購(gòu)物車(chē)狀態(tài)我用 Pinia 管理刷新頁(yè)面會(huì)丟失所以下單前用戶(hù)看到的購(gòu)物車(chē)是前端本地狀態(tài)。這里有個(gè)小優(yōu)化把未提交的購(gòu)物車(chē)持久化到 localStorage顧客手滑刷新頁(yè)面購(gòu)物車(chē)還在體驗(yàn)會(huì)好很多。4.4 后廚屏最簡(jiǎn)單的界面最需要注意的刷新策略后廚屏不是一個(gè) CRUD 頁(yè)面而是一個(gè)“實(shí)時(shí)看板”。我用了兩種刷新方式組合頁(yè)面加載時(shí)拉一次全量待制作訂單之后通過(guò) WebSocket 推送新訂單事件收到事件后再拉增量列表。用原生 WebSocket 就行不需要引入 Socket.IO。這里有個(gè)小坑如果咖啡館網(wǎng)絡(luò)不穩(wěn)定WebSocket 掉線(xiàn)期間新訂單會(huì)堆積。解決方案是前端加一個(gè) 30 秒的輪詢(xún)兜底發(fā)現(xiàn) WebSocket 狀態(tài)異常就自動(dòng)切換到輪詢(xún)模式頁(yè)面頂部顯示“連接已降級(jí)每 30 秒自動(dòng)刷新”。5. “舊時(shí)光”視覺(jué)主題懷舊不是放幾張老照片這個(gè)項(xiàng)目的名字本身就是最大賣(mài)點(diǎn)界面風(fēng)格如果做成默認(rèn)藍(lán)白后臺(tái)那“舊時(shí)光”三個(gè)字就白起了。5.1 設(shè)計(jì)關(guān)鍵詞拆解我把“舊時(shí)光”拆成三個(gè)視覺(jué)關(guān)鍵詞暖木色、紙張質(zhì)感、復(fù)古字體。主色調(diào)不用多定一個(gè)深咖色#4A3426作為品牌主色輔以奶油底色#F5EFE0和點(diǎn)綴的懷舊紅#A65B3C。Element Plus 的主題變量可以自定義把這個(gè)幾個(gè)顏色替換進(jìn)去整個(gè)后臺(tái)的按鈕、輸入框、卡片會(huì)自動(dòng)全部換膚比手工改 CSS 劃算得多。5.2 幾個(gè)低成本高質(zhì)感的落地技巧菜單卡片模擬老菜單紙張背景用奶油色漸變加極淡的噪點(diǎn)紋理字體用手寫(xiě)風(fēng)格的標(biāo)題字體中文可以找免費(fèi)商用字庫(kù)價(jià)格用等寬數(shù)字字體。收銀臺(tái)界面做“膠片感”頁(yè)面切換用平滑淡入而不是生硬的跳轉(zhuǎn)小圖標(biāo)統(tǒng)一使用線(xiàn)性風(fēng)格整體降低飽和度和對(duì)比度。首頁(yè)放“記憶墻”顧客端 H5 的首頁(yè)不是上來(lái)就逼你下單而是先放一組品牌故事照片和新品海報(bào)往下滑才是菜單。這個(gè)設(shè)計(jì)讓顧客愿意在頁(yè)面上多停留一會(huì)兒間接提升點(diǎn)單概率。小票樣式復(fù)古化訂單完成后的“電子小票”做成帶鋸齒邊緣的卡片字體用像素感和圓角感兼顧的中文字體顧客截圖分享本身就是免費(fèi)宣傳。懷舊不等于放棄現(xiàn)代體驗(yàn)。所有按鈕至少 44px 高字號(hào)不小于 14px關(guān)鍵操作有明確的按下反饋。視覺(jué)風(fēng)格再舊交互邏輯必須新。5.3 響應(yīng)式打印適配收銀小票是 Java Vue 項(xiàng)目里容易被忽略的環(huán)節(jié)。小票打印一般走瀏覽器打印但頁(yè)面寬度、字體大小要單獨(dú)適配 58mm/80mm 熱敏紙。我的方案是專(zhuān)門(mén)做一個(gè)打印組件生成純表格樣式的小票頁(yè)面再用media print隱藏導(dǎo)航和按鈕只保留小票區(qū)域。這里有個(gè)實(shí)用技巧小票寬度設(shè)成 58mmpage { size: 58mm auto; margin: 0; }打印時(shí)選擇“實(shí)際大小”不要“適應(yīng)頁(yè)面”否則字體會(huì)被壓縮到看不清。6. 從開(kāi)發(fā)到上線(xiàn)實(shí)測(cè)中我反復(fù)踩的坑功能寫(xiě)完只是第一步能穩(wěn)定跑起來(lái)才是真本事。整理幾個(gè)我在這個(gè)項(xiàng)目里反復(fù)踩、也幫別人排查過(guò)的問(wèn)題。6.1 金額和時(shí)間兩個(gè)“差之毫厘謬以千里”的細(xì)節(jié)金額精度問(wèn)題前面提過(guò)這里再說(shuō)一個(gè)隱蔽場(chǎng)景訂單金額在數(shù)據(jù)庫(kù)是DECIMAL(10,2)MyBatis-Plus 映射到 Java 會(huì)給你BigDecimal沒(méi)問(wèn)題。但前端 JavaScript 計(jì)算金額時(shí)0.1 0.2 這種浮點(diǎn)誤差會(huì)直接爆出來(lái)。前端只負(fù)責(zé)展示金額計(jì)算一律以后端返回為準(zhǔn)前端不要做任何加減乘除。購(gòu)物車(chē)頁(yè)面的“合計(jì)”必須是后端在加購(gòu)時(shí)就算好返回的而不是前端把單價(jià)相加。時(shí)間問(wèn)題則是時(shí)區(qū)加格式的組合拳。后端用LocalDateTime統(tǒng)一存數(shù)據(jù)庫(kù)接口返回格式統(tǒng)一成yyyy-MM-dd HH:mm:ss。Jackson 配置里要顯式設(shè)置日期格式spring: jackson: date-format: yyyy-MM-dd HH:mm:ss time-zone: GMT8不然前端拿到的是數(shù)組或者帶 T 的 ISO 格式解析起來(lái)一臉懵。另外數(shù)據(jù)庫(kù)連接串記得加serverTimezoneAsia/Shanghai這個(gè)坑在部署到云服務(wù)器后最容易出現(xiàn)——本地好好的服務(wù)器一跑時(shí)間全錯(cuò)。6.2 商品圖片上傳本地存儲(chǔ)還是對(duì)象存儲(chǔ)如果只是校園項(xiàng)目或者單店部署最穩(wěn)妥的方案是本機(jī)磁盤(pán)存儲(chǔ) Nginx 映射靜態(tài)資源。圖片上傳接口把文件存到服務(wù)器某個(gè)目錄返回給前端一個(gè)/images/products/xxx.jpg路徑由 Nginx 直接服務(wù)后端完全不用管讀取。但如果你打算做成可商用、支持多門(mén)店的系統(tǒng)就得上 MinIO——它是一種兼容 S3 協(xié)議的開(kāi)源對(duì)象存儲(chǔ)。商品圖片、品牌素材全部打到 MinIO 桶里加個(gè)桶權(quán)限策略圖片鏈接走 Nginx 代理緩存會(huì)比自己管理磁盤(pán)干凈很多。不管是本機(jī)存儲(chǔ)還是 MinIO上傳接口統(tǒng)一返回相對(duì)路徑不要返回完整 URL這樣以后換域名、換 HTTPS 都不用改數(shù)據(jù)庫(kù)里的舊數(shù)據(jù)。6.3 商品上下架與緩存一致性菜單是高頻讀取、低頻修改的數(shù)據(jù)。顧客端每次打開(kāi)都查 MySQL 顯然不劃算我在 Redis 里存了一份“在售商品列表”key 為menu:store:{storeId}30 分鐘過(guò)期。這里真正要注意的是緩存更新時(shí)機(jī)商品上架/下架、改價(jià)格、改庫(kù)存這些操作發(fā)生時(shí)必須主動(dòng)刪除緩存而不是依賴(lài)過(guò)期。因?yàn)槲矣玫氖恰氨粍?dòng)失效 主動(dòng)刪除”策略管理員修改商品后立刻刪緩存下一次查詢(xún)重新從數(shù)據(jù)庫(kù)加載。極端情況下緩存和數(shù)據(jù)庫(kù)最多有幾秒不一致這點(diǎn)延遲對(duì)咖啡廳場(chǎng)景完全可接受。6.4 報(bào)表導(dǎo)出Java POI 的真實(shí)邊際管理后臺(tái)通常會(huì)有“營(yíng)業(yè)報(bào)表導(dǎo)出”需求常見(jiàn)實(shí)現(xiàn)是 Apache POI 生成 Excel。很多同學(xué)一聽(tīng)說(shuō) POI 就頭疼其實(shí)餐廳報(bào)表用最基本的XSSFWorkbook就夠了做一個(gè)訂單匯總表try (XSSFWorkbook workbook new XSSFWorkbook()) { Sheet sheet workbook.createSheet(營(yíng)業(yè)報(bào)表); Row header sheet.createRow(0); header.createCell(0).setCellValue(日期); header.createCell(1).setCellValue(訂單數(shù)); header.createCell(2).setCellValue(營(yíng)業(yè)額); // 遍歷訂單數(shù)據(jù)填充... ByteArrayOutputStream out new ByteArrayOutputStream(); workbook.write(out); return out.toByteArray(); }POI 完全支持在 Excel 里生成圖表比如月度營(yíng)業(yè)額柱狀圖。如果你只是導(dǎo)出報(bào)表不需要整那些花活老老實(shí)實(shí)把數(shù)據(jù)鋪出來(lái)就行圖表展示交給前端用 ECharts 渲染性能和美觀(guān)度都遠(yuǎn)超 Excel 自帶圖。6.5 Spring Boot 版本與依賴(lài)沖突用 Spring Boot 3 記得 JDK 必須是 17 及以上MyBatis-Plus 也要用適配 Spring Boot 3 的版本mybatis-plus-spring-boot3-starter。很多同學(xué)項(xiàng)目啟動(dòng)報(bào)一堆錯(cuò)十有八九是 Spring Boot 2 的依賴(lài)習(xí)慣性復(fù)制到了 3 里。還有 Lombok 插件版本也要同步升級(jí)舊版 Lombok 和 JDK 17 組合經(jīng)常出現(xiàn)java.lang.ClassFormatError。我的建議是新項(xiàng)目直接 Spring Boot 3 JDK 17不要猶豫。網(wǎng)上雖然 Spring Boot 2 教程多但類(lèi)名和方法基本一致遇到差異時(shí)翻官方文檔比查舊博客靠譜得多。7. 我想額外說(shuō)給“做畢設(shè)”的人聽(tīng)的幾句話(huà)這套系統(tǒng)作為畢業(yè)設(shè)計(jì)技術(shù)棧非常合適因?yàn)樗募夹g(shù)覆蓋面廣Spring Boot 的接口開(kāi)發(fā)、MyBatis-Plus 的數(shù)據(jù)操作、JWT 認(rèn)證、Vue 的組件化和路由權(quán)限、數(shù)據(jù)庫(kù)設(shè)計(jì)、甚至桌臺(tái)二維碼這種 IoT 邊緣場(chǎng)景都能講出東西來(lái)。但切記——不要堆砌沒(méi)有業(yè)務(wù)邏輯的 CRUD 頁(yè)面。提升項(xiàng)目含金量的方向不是增加頁(yè)面數(shù)量而是把幾個(gè)核心場(chǎng)景做深訂單并發(fā)控制做了沒(méi)有金額計(jì)算是否全程可靠狀態(tài)機(jī)流轉(zhuǎn)是否清晰可追蹤前端交互是否有思考過(guò)真實(shí)用戶(hù)的使用感受有沒(méi)有報(bào)表分析、緩存優(yōu)化這些“非必選但加分”的能力答辯時(shí)能把這幾個(gè)問(wèn)題說(shuō)到位比列十個(gè)“增刪改查模塊”管用得多??Х葟d管理系統(tǒng)這類(lèi)項(xiàng)目最迷人的地方在于它離真實(shí)生活很近。你把代碼寫(xiě)完、部署上線(xiàn)看著顧客用手機(jī)掃碼下單、收銀臺(tái)打出復(fù)古小票、后廚屏彈出新訂單那種“技術(shù)真的在服務(wù)具體的人”的感覺(jué)會(huì)讓人覺(jué)得這段代碼寫(xiě)得值。如果這個(gè)項(xiàng)目能幫到你哪怕只是其中一個(gè)建表思路、一個(gè)排查方向我就覺(jué)得這篇分享沒(méi)白寫(xiě)。祝你開(kāi)發(fā)順利記得給自己留一杯咖啡的時(shí)間。
返回列表
PREV
查看更多資訊
NEXT
返回資訊列表
欧美顶级黄片AAAAA在线免费看| 特级特黄一级毛片免费| 中日韩免费看男女操逼大全| 日韩亚洲欧美中文字幕| 亚洲 欧美 中文 日韩超碰| 精品78| 天天看,天天做| JIZZJIZZ亚洲女人被躁| 中文字幕久久精视频久久大全| a片久久久久久久久久久久 | 97人人操人人干| 亚洲资源吧| 欧美色色色| 91亚洲人| 熟妇高潮精品一区二区三区下载| 特级丰满少妇一级AAAA爱毛片| 少好三P| 啪啪啪精品| 乱理日韩中文| 成人午夜视频免费播放| 日日夜夜精品视频| 男同专区一区二区三区在线| 91国产美女丝袜足交精品视频 | 这里只有精品久久| 91九色蝌蚪在线观看| 鸥美插入视频| 婷婷香蕉欧美在线一区二区三区| 熟女这里只有精品6| 先锋女优在线观看视频| 久久久精品久久| 免费中文在线| 中文字幕国产| 中国国产精品一区视频| 91亚洲图片| 国产午夜福利合集| 久久国99999| 欧美色图片91| 伊人五月天| av片在线观看免费播放| 啊视频在线| 亚洲图片日本AⅤ欧美在线| 91天天综合在线| 91女优在线观看 | 亚洲天在线| 日韩中文字幕精品一二三事国产精品| 欧美在线大香999| 黄色一区三区| 97神马久久| 夜夜骑操视频| 99久久综合| 综合色图亚洲欧美| 久久午夜伦| 青娱乐国产盛宴视频| 国产精品美女久久久久久网站| 水多多映视AV| 91岛国动作片| 欧美呦呦性爱| 五月丁香狠狠爱| 久碰视频| 熟女中出视频| 久久亚洲人妻| 曰本特级特黄特色黄色A级网站高清在线免费看| 麻豆a'v电影| 久久机热| 成人草草视频| nuu12国产麻豆精品| 久草新在线| 在线中文字幕| 91看黄片| 日本久久久久久久久| 九九aV| 五月黑AⅤ| 亚洲污污网站| 三级激情网站| 亚洲黑丝在线| 十八禁网站在线| 欧美成人性爱视频大全| 天天干一区二区| 国内精品999| 91九九九小逼| 色九久| 人妻中文字幕精品无码| 亭亭在线资源| 思思热er精品视频| 国产精品久久久久久久毛片1| 免费人成?大片在线播放| 综合久久欧美| 亚洲日韩东京热一区| 97极品无码| 久久av一级av少妇av高潮| 99热成人| 哈哈操电影AV| 丝袜足交视频| 岛国片在线观看视频亚洲| 日韩精彩免费| 精品国产乱码久久久| 一区二区三区黄色片a| 99精品在线| 日本一级不卡一二区| dy888午夜老子影视达达兔| 色综合av男人天堂| 欧美极品| 日本操色导航| GVH-003 母子姦 青木玲-麻豆视频,麻豆视传媒短视频网站入口,麻豆视传媒官网直 | 清纯唯美亚洲| 国产一区96在线| 亚洲精品97中文字幕| 1769一区| 天天影视射综合网| 亚洲精品乱码线路中文字幕| 97在线国产精品| 91爱剪切久久| 亚洲五月婷婷| 欧美亚洲涩涩| 大香蕉伊人网| 日韩人妻少妇 一区二区三区| 国产日韩中文字幕欧美| 国产AV高清AV无码| 超碰97久| 欧美日韩国产高清在线一二三区 | 欧美成人综合| 久久婷婷一区| 欧美性爱另类综合| 亚洲蜜臀精品视频久久| 五月天婷婷基地| 91性情| 五月婷婷激情综合| 亚洲性天堂| 夜夜肏2021| 欧美日韩传媒| 精品国产乱码久久久久久口爆网站 | 色综和网| 日本高清有码网址视频| 夜夜嗨一区二区三区三州加勒比| 国产精品久久久久无码A√| 中文字幕精品丝袜| 日韩精品在线观看观看| 亚洲 欧美 色图| 91亚洲黑人| 暖暖精品二区三区观看| 日夜啪电影| 97亚洲在线| 亚洲五月丁香花狠狠干一区二区三区 | 久久久精选| 激情五月综合网| 国产精品乱码久久| 传媒免费一区二区三区| 亚洲精品一区中文字幕乱码| 欧美精品23| 亚洲女毛多水多21P| 中文字幕亚洲欧美在线不卡| 欧美在线91| 亚洲天堂另类小说男人| 国产熟女免费观看久久| 亚洲毛片久久| 久久国产对白激情浪潮| 五月丁香综合激情| 青娱乐福利99| 久久久不能久久久久| 久久性生大片免费观看性| 国产丰满少妇久久久精品影院| 玖玖爱免费观看视频| 91N综合网| 污到发麻的视频 国产| 特级毛片特黄久久免费看| 99热一区二区三区四区| 97视频在线观看网站| 中文字幕五区| 亚洲国产麻豆一区二区三区| 沈阳熟女高潮对白视频| 亚洲天天综合| 精品97久久| 91 亚洲情侣偷拍 久久| 又黄又粗又硬又长又大| 色噜噜狠狠色综合日日| 国产日韩精品人妻久久久久色欲网站| 亚洲AV无码乱码| 亚洲天堂,男人| 碰人碰碰人人开房人肉| 中文字幕在线观看网页| 日韩精品大香蕉伊人在线| 爱我干综合| 久久久久久久久久9| 色欲色香天天天综合网www-亚洲综合国| 中文字幕123| 久久久人体| 澳门特级毛片免费观看| 亚州一区二区| 麻豆激情综合| 色哟哟-国产专区| 成人欧美一区二区三区黑人一| a v网站在线播放| 欧美日韩国产成人高清| 97干在线| 一区二区中文| 亚洲天堂精品日韩电影| 久草在线| 大学生美女口爆| 超碰97伊人| 在线播放中文字幕| 精品少妇一区二区| 久久久人妻| 97在线观| 99精品国产户外露出| 亚洲色阁| 校园春色综合网| 啊啊啊免费| 亚洲久9| 床戏久久久av一区二区麻豆| 一卡二卡三卡| 丁香色狠狠色综合久久小说| 欧美日韩制服| 热热热热日日漂亮永久永久国产日| 东京热激情视频一二三区| 激情深爱五月天| 激情五月天社区| av资源在线播放天堂| 日本在线视频导航| 婷婷五月天基地| 欧美性爱97超碰| 江都AV在线| 天天综合网91入口| 国产精品久久久久久久久久久久久久久| 自拍盗摄一区| 九九九九免费高| 欲色啪| 青青草华人在线欧美在线| av影院十区| 色吧91| 国产精品精品系列在线观看| 国产精品美女在线一区| 九月婷婷| 男女激情中文字幕| av日韩中文字幕| 中文字幕乱码在线观看| 国产亚洲中文不卡二区| 殴美在线AⅤ| 亚洲古典另类欧美在线| 91麻豆天美国产欧美日| 国产精品久久久777| 果冻传媒一区二区三区| 一级片视频啪啪| 久草网站免费在线观看| 亚洲AV乱码专区国产噜噜亚洲| 99蜜桃臀久久久欧美精品网站| 欧美96交| 国产隔壁老王影院在线| 99婷婷| 久操大香蕉超碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰 | 素人无码中文字幕| 欧美97色| 99碰碰| 青青草男人天堂| 78精品| 成人av在线播放| AV综合中文字幕干| 亚洲熟女一区| 日本视频在线中文字幕| 牛黄色久午久| 老鸭窝黄色视频网站| 欧美性爱超碰97| 欧 美 自 拍 偷 拍| 国内外色色色色色成人视频| 视频在线观看青青99国产| 成人精品在线免费视频| 91丨九色丨43老版熟女| 亚洲宗合网| 任你干在线视频| 狠狠操狠狠操操| 超碰人人超在线观看| 亚洲 欧美 另类 综合 偷拍| 九九九九九九九九九国产精品| 91精品久久久久五月天精品| 精品射1999| 日韩91网| 日本福利二区视频| 国产精品国产| 五月婷网站| 蜜桃精品一区二区三区ww | 亚洲最大AV网| 色网综合网| 日本成人A片网站| 日本有码影片下载| 久久精品无码专区| 激情综合五月天| 中文字幕第95页| 东北丰满熟女国产一区| 国产视频大全| 艹少妇网站| 91丝袜美腿片| 国产麻豆福利av在线播放| 成人黄页| 人人爱人人操人人性| 日韩精品人妻中文字有码在线 | 男人的天堂2018东京热啪啪啪| 天天综合网亚洲综合网| 国产午夜无码片在线观看影视| 性生活无遮挡纯毛片在线看| 国产精品宅男免费| 久久久久久无码人妻中文字幕| 性色av蜜臀av色欲aV| 97精品久久久久中文字幕| 中文人妻av高清一区| 超碰人妻中文在线| 深夜国产一区二区三区在线看| 久草在| 欧美成人性爱视频免费观看 | 91成人精品在线播放| 国产乱子伦一区二区三区免看| 日韩综合成人免费视频| 日韩人妻精品| 影音先锋国产精品| 一区二三区四区视频大全套| 国产亲戚伦亲在线| 九七超碰人人乐| 又黄又爽在线观看视频| 加勒比综合| 996热| 天天综合欧美| 天天干天天日天天射黄色片| 92人人操人人| 九九碰九九爱97超| 日韩成人午夜精品久久高潮| 日本性交操一区二区不卡系列| 天天综合网在线| 亚洲激情在线| 99自拍视频| 色欲天天综合久久久无码网中文| 中文字幕视频免费| 97久精品| 中文字幕精品区先锋资源| 97chaopengongkai| 色香伊人| 乱色视频中文字幕| 国产女同在线观看视频| 高清孕妇孕交 交孕妇| 人人弄人人摸| 欧美精品激情| 九九国产热| 亚洲色图91欧美日韩| 日韩性爱1级片视频| 999色欧美中文字幕| 日本天堂网| 午夜高清成人在线视频| 国产精品一区二区久久精品| 久久久天堂| 日韩精品99久久久久久中文字幕| 欧美性爱另类综合| 女性91网站| 亚洲熟妇综合久久久久久| 日韩人妻精品久久久久| 国内自拍 日韩激情 99| 亚洲综合另类小说色区亚洲成av人片在www| 色噜噜狠狠色综无码久久| 亚洲中文字幕有码视频一区二区三区| www.99热| 国产一区二区三区精品观看啪| 无码137片内射在线影院| 男人的天堂在线2| 黄页视频网站野外| 日韩偷拍一区二区三区| 国产高清自拍视频| 日韩精品午夜操呦呦不卡影院| 久久日本熟妇熟色高清| 嗯嗯嗯啊啊啊在线免费观看| 国产女人高潮嗷嗷嗷叫小说| 精品蜜乳AV免费观看| 青青草原伊人网| 免费超碰97久久| 亚洲精品骚逼| 日本美女性生活久久久久久久| 日本成人电影资源网| 熟女激情综合网| 啊啊啊好想要| 男人久久天堂| 97日韩超碰超碰中文字幕| 黑人天8A∨高清网站| 97久久久久久久精| 狼天天狼天天大香蕉| 中文字幕亚洲在线一区| 能直接看AV的网站| 黄色小视频日本txt| 色屁屁影院www国产| 91精片| 上特色A在线| 国产欧美另类久久久精品课程| 蜜臀va69| 91美女小视频| 秋霞午夜成人福利片片| 九九九精品成人免费视频小说| 欧美极品| 国产对白刺激视频| 女人 A一级| 亚洲αv一区二区三区| 人妻中文字幕日韩电影| 婷婷丁香五月综合| 欧美有码亚洲中文字幕一区二区三区四区 | 婷婷色网| 日韩伦理视频| 97久久免费| 天天日美女的B| 毛片99-全集电影手机免费观看完整-B029AV | 91熟女视频网| 热热色中文无码| 九九碰九九爱97超碰| 色色色日本| 成人av影院在线观看| av网页一区二区三区| 国产 丝袜 欧美中文 另类| 国产福利精品最新在线| 亚洲少妇诱惑| 欧美黑人168页欧美黑人167| 一区AV| 亚洲古典另类欧美在线| 情侣开房子拍 日韩无码 女的很漂亮| 亚洲欧洲精品成人| 91久久久久| 亚洲欧美成人网站AAA| 欧美日韩日产免费网站看| 激情五月天社区| 久久精品欧美一区蜜桃| 老鸭窝日丰县女人| 国产女同在线观看视频| 日本午夜久久电影| 麻豆性爱视频在线播放| 超碰97男女| 五月婷婷六月丁香网址| 亚州精品一区二区三区香中文字幕在线| 春色校园综合网| rivers-china.com| 日本操嫩b网| 内射白嫩美女| 美女t无毒不卡不卡| 2023天天操夜夜操| 五月天婷婷色| 色婷婷一区二区三区久久午夜| 三级色影综合网| 亚洲无码免费看| 91人人爽人人爽人人人,gav福利视频导航,日韩欧美亚洲国产字幕四区 | 日本熟女不卡视频| 国产精品大香蕉| 91老熟女老女人国产老太| 丝袜AV一区二区三区| 人人操人人uiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii | 国产在线观看91精品一区| 欧美刺激色黄片免费看| 狠狠躁天天躁日日躁| 日韩色| 99久久e免费热视| 欧美熟爽综合| 国内精品久久久久影院亚洲| 蜜桃久久久久久久久久久久| 亚洲一区二区在线观看91| 97人妻免费中文字幕| 蜜桃传媒一区二区亚洲| 亚洲欧美清纯| 丁香五月久久| 91熟女视频网| 97国产成人精品免费视频| 欧美日韩婷婷中文| 亚洲无码超碰免费| 人妻在线臀日韩| 五十路三区在线| 久久婷婷色| 亚洲蜜臀精品视频久久| 在线精品福利免费播放| 久久9精品网站| 亚洲精品啪视频| 欧洲亚洲天堂精品 | 中文久久爆乳| 精品视频一区二区| 中文字幕成人| 69天堂| 97久久久久久久精| 国产拍偷精品网站| 1二区9| 曰韩操B| 久久久禁| 亚洲欧美日韩夜夜| 久久国产精品m码| AA丁香综合激情| 蜜桃久久一区二区| 嫩草伊人久久精品| 亚洲性爱无码乱伦av| 精品国产综合久久福利,热99这里有精品综合久久,99热这里只有免费国产精品,精 | 成人资源中文字幕在线观看天天| 不卡在线观看视频| 国产白嫩精品久久| 中文字幕奈奈美被公侵犯| 另类视频在线| 九久9精品| 青草成人免费视频一COm| 99热97| 韩三级a视频在线观看 | 每日更新AV| 99精品九九九九九九| 亚州精人品大香蕉| 国产在线激情视频| 97久久超碰国产精品| 97九色人妻| 亚洲成人性爱网站在线播放| 精品免费成人久久| 丝袜性亚洲| 美国一区二区免费视频| 91香蕉国产尤物视频| laoshunv91| 爱射综合| 三级特黄60分钟播放| 欧美色91| 歐美性天天| 九九无码| 精品一区二区综合熟妇| 国产一级高清免费观看| 96精品一区| 天天操天天射青青草| 自拍偷拍 高清无码| 国产精品乱码久久久| 亚洲91网站| 天天舔天天 | 亚洲熟女乱综合一区二区在线-...亚洲国产日韩欧美一区二区三区,久久久久久精 | 超碰97久久国| 青娱乐亚洲热| 五月丁香影院| 国产97视频免费观看| 国产精品美女视频诱惑| 天美久久久久| 中文字幕久久亚州无码| 人妻出轨一区二区三区| 大香樵伊人网| 午夜福利成人免费视频| 97人妻免费中文字幕| 秋霞Av理论一级在线| 老熟女阿 国产91| 日韩少妇无吗| 天天摸夜夜摸| 天美传媒av 在线| 亚洲国产一区二区三区四区国产| 91午夜无码| 伊人热综合| 国产精品操| 91热| 桑老女人九区| 九色 蝌蚪 熟女自| 国产AV天美传媒一区二区三区| 久久久婷婷| 日本熟人妻中文字幕在线|...久久国产精品-国产精品_日本一区二区三区中文字幕 | 日韩青久久| 在线情色电影 91大 | 天美一二三在线观看Av| 91人妻视频在线| 大香樵伊人网| 国产丝袜视频| 黄污污污污| 俺去也婷婷| 亚洲激情四射| 亚洲欧美精品91| 五月开心网| 97色婷婷| 天天操女人| 亚洲不卡不卡中文字幕不卡 | 男人的天堂va在线| 9Ⅰ老熟女| 97在线观看| 国产精品点击进入在线影院高清 | 欧美在线官网| 躁躁躁日日躁2020| 八戒无码国产午夜福利| 另类综合另类| 视频二区美腿制服人妻欧美| 天天弄欧美| 99re在线| 最新亚洲黄色免费电影| 久久久久久久久久久97| 人人妻人人爽人人精品| 中美日韩毛片| 神马久久网| 91天天综合网| 日本亚洲嫩草影院啪啪| 自拍六区| 亚洲无码精品AV久久久| 九九精品无码专区免费| 亚洲精品天堂久久A∨51成人漫| 日韩丰满熟妇| 综合网色| 歐美一級亂黃99在綫精品| 操b网站亚洲无码| 欧美一级专区免费大片 | 色臀AV| 成·人免费午夜在线观看| 操操操五月天婷婷丁香影院| 91久久精品中文字幕| 日本九九九九| 91国产大片| 国产AB视频| 啪啪啪综合网| 在线人人人人人人精品超| 裸体美女免费看网站青草| 99操| 天啪| 国产美女高潮叫床视频| 91 国产丝袜在线放观看| 欧美在线中M| 91日韩国产欧美亚洲另类精盘州至城都| 国模无码人体一区二区三| 国产成人精品日本视频| 天操天操夜操夜月操月年年操| 操死我了啊啊啊| 91无码西班牙视频在线| 免费看久久久性性| 日韩美女,国产传媒,视频一区| 欧美热图99| 黑人狂躁日本妞一区二区三区| 六六久久日韩不卡| 亚洲图片偷拍欧美| 日韩中文字幕精品一区在线| 婷婷五月天补不补| 蜜桃午夜视频一区二区 | 色天堂在线观看| 蜜臀久久99精品久久久电影| 我要看免费韩日黄片| 色九九九综合| 日韩福利电影网| 色婷婷丁香五月| 熟女91网| 人人摸人人添人人操| 青青草国产亚洲精品久久| 96超碰网| 欧美成人午夜免费福利785| 国产精品欧美激在线| 天天综合网网欲色| 婷婷五月影院| 久久精品区| 无码自拍SM| 九七毛片九九毛片| 日本免费专区| 美女干逼2| 一级性爱啪啪视频| 人妻社区男人天堂| 激情小说日韩无码| 欧色综合| 国产精品高清2021在线| 久久国产精品,久久国产| 色欧美亚洲| 亚洲欧美大| 91色狼| 人妻久热在线| 人妻少妇久久中文字幕一区二区 麻豆| 免费视频无码| 97超碰欧美| 国产青一二三| 国语对白露脸XXXXXX| 亚洲色欲一区二区三区| 秋霞操逼片| 久久免费精品96| 中文字幕一区二区三区高清| 97爱碰| 婷婷AV一区二区三区| 97超碰影音| www色婷婷| 天天干18禁| 中文字幕在线观看第二页| 永久免费av无码网站国产app| 国产性感在线观看| 性爱乱伦视频免费| 久久久久人| 久久曰曰| 亚洲欧洲av影音| 亚洲欧洲色情高清| 久久精品美女一区| 国产剧情在线| 亚洲激情天堂网| 国产亚洲禁久一区二区 | 婷婷综合激情| 欧美日韩大香蕉| 大香蕉青青9| 在线另类| 99久久久无码精品国产人| 久久久精品中文字幕麻豆| 婷婷色综合| 操逼A∨| 中文字幕诱惑制服人妻丝袜美丝袜美 | 亚洲美女自拍偷拍视频| 2020中文字幕在线观看| 五十路熟女工口 | 熟妇高潮精品一区二区三区下载| 亚洲精品成人激情在线| 84YTCOM性无码| 超碰久久精品| 亚洲18禁| wwwcaobibi| 欧美激情久操网| 热久久无毒不卡| 97国产超湿| 国产美女mm131爽爽爽爽| 亚州男人天堂| 日韩八十路老熟女| 日韩紧密久久| 日韩啪啪视频| 国产人妖视频一区在线观看| 久久精品熟妇丰满人妻99| 五毛骚逼极品美女怕怕| 在线观看AV不卡| 国产高清成人传媒影视| 日本成熟少妇A∨网站| 欧美啪啪天堂| 美女干逼2| 欧美成人亚洲精品| 欧日韩不卡视.频| 精品国产www久久| 国产精品免费1区2区视频| 东北女人高潮视频| 久久亚洲日韩国产欧| 男人久久精品| 蜜桃臀 后入 一区 二区 三区 在线| 亚洲AV无码成人精品久久| 99这里只有精品国产| 97在线免费| 五月天婷婷社区| 日韩欧美蜜桃精品久久中文字幕久久| 久久久不卡区一区二区三区久久久| 人人摸人人干| 激情五月天视频| 午夜福利免费精品视频| 日本三级一区二区 在线| 亚洲国产另类在线中文| 日本506070| 男女啊啊啊| 亚洲图片视频小说| 日韩熟女视频二区| 日日日色色色色色| 久久 久久国内精品亚洲| 97干综合网| 久久久久网站-538在线视频-欧美永久乱码| 精品一区二区三区最新| 色av中文字| 蜜桃视频精品一区二区| 亚洲熟妇极品| 欧美日韩99精品麻豆传媒| 男人的天堂2010| 蜜臀少妇一区二区| 亚洲91少妇| 96久久科窝| 91亚洲不卡一区| 欧美专区在线| 蜜桃久久久久久久| 欧美一二三区四五区| 日韩一级二级在线| 人妻天天爽天天爽三区| 国产精品视频电影| 国产精品久久久久综合| 青青免费在线视频一区 | 自拍偷拍 高清无码| 日本免费中文字幕在线| 97人人操人人摸| 亚洲色 国产 欧美 日韩| 秋霞蝌科网日本一区| 91操人| 亚洲精品精品一区二区| 色婷婷综合网站| 少妇超碰在线| 国产精品亚洲四五区在线观看| 上床不卡网站| 国产青青综合伊人| 神马午夜久久| 日韩在线一区高清在线| 国产精选三级在线观看| 日韩成人午夜精品久久高潮| 亚洲在线91| 国产一区二区成人av在线播放| 无码免费在线观看黄色片| 日本激情免费大片| 99性爱视频| 宗合情欲网| 久久华人网| 91欧美在线| 中文字幕奈奈美被公侵犯| 综合久久中文字幕综合日韩精品| 婷婷中文字幕| 五十路熟女工口 | 99啪啪| 日本 情色 1区2区3区| 欧美亚洲高清| 最新国产亚洲精品精品国产亚洲综合| 乱精品一区字幕二区| 亚洲精品一卡二卡三卡福利视频网站| 国产人妻久久精品一区二区三区| 色视频蜜乳| 色情综合| 91久久国产综合精品| 亚洲毛片久久| 中日韩久久久| 久久久精久久久| 五月天人妻综合| 亚洲人妻中文在线视频| 九久9精品| 青青草成人视频在线观看二区| av影院十区| 欧美一级黄片视频在线| 天天干天天爽| 天操天操夜操夜月月年年操操| 中文字幕丰满人妻日本| 色爱国产| 久久宗合亚洲| 嫩草美女久久| 久久久久精| 啊啊啊啊免费视频| 日韩成人精品视频自拍| 97免费视频网| 97色碰| 五月大香蕉| 精品乱码在线观看| 欧美日韩色综合网| 日韩/97| 爱逼综合| 91美女丝袜诱惑视频| 97欧美色| 久久国内| 欧美精品三区| 成人a大片在线观看| 午夜性| 综合久久久久久久久91| 99国内精品| 午夜精品久久久久久久久久久久久| 亚洲国产一级精品毛一级精品看免费视频| 亚洲最大的黄色电影网站。| 婷婷丁香激情| 日韩pv中文| 91超碰在线| 色穴精品| 东京热一区二区中文字幕| 夜夜操二区| 中文字幕99999| 六月色婷婷| 91 丝袜在线播放| 久久午夜伦| 超碰欧美97| 青娱乐亚洲热| 亚洲一区在线观看欧洲 | 九九热九九| 天天看天天综合成人网| 97干在线| 久久国产视频专区一二三| 日韩特级毛片免费观看全集| 婷婷色香| 亚洲欧美在线观看免费| 天天干1区2区在线| www色色com| 亚洲在线欧美| 99re69综合| 久草免费福利在线播放| 蜜臀一二三区| 五月丁香色婷婷| 国产捆绑一区| 日韩午夜国产| 婷婷中文网| 91网站18禁| 中文字幕乱碼在线| 日本精品性生活久久久| 一级性爱视频免费观看| 青青草密桃在线播放| 亚洲欧美高清无码| 久久同城AV| 日本3级一区二区免费| 中文字幕在线免费观看 | 亚洲无码AV九九九| 久久久久久久久久久久色网| 91大神电影天堂| 精品国产人成在线| 91bbbbbb| 国产成人主播| 成人av免费观看| 波多野结衣之双飞调教在线播放| 欧美日韩人妻婷婷一区| 91超级碰碰碰| 亚洲国产91精品一区二区久久| 欧美91久久久久| 亚洲日韩AV视色| 欧美黑人精品在线播放| 日日干日日摸| 动漫区日韩区欧美区| 超碰九色| 亚洲国产ⅴ高清在线观看| 欧美热图99| 神马久久网| 五月开心网| 国产理论视频在线播放| 国产精品第一页国产大屁股视频免费区| 美女97超碰| www超碰| 国产日韩色综合| 香蕉99秘 一区精品蜜桃臀| 综合天天网| 日韩亚洲美女一区久久| 乱伦日本色图AⅤ| 日韩精品中文字幕人妻| 综合五月天| 欧洲自拍色图gif在线| 久久理论字幕视频| 婷婷激情综合网| 国产福利在线视频网站| 中文字幕蜜乳av| 亚洲欧美变态| 麻豆精品三区视频| 91色黑人少妇| 嗯嗯啊在线视频| 天天干人妇| 逼逼逼逼操操操操操操操操操午夜剧场| 张柏芝国产一区在线观看| 青青草公开在线免费不卡视频| 色哟哟1区2区| 伊人久久大香线蕉亚洲五月天,青草青草欧美日本一区二区,欧美日产欧美日产国产 | 啊啊啊好湿久久| 亚洲中文字幕97久久精品少妇| 国产成人免费观看在线视频| 综合国产影视三级| 久久超碰国产一区二区三区| 91精品国产综合久久久蜜臀酒店| 插插综合网天天影视网| 久久是精品| 91强在线播放| 中文字幕精品久久久久人妻红杏ⅰ| 国产怡红院| 日本韩国一本产品小视频日本韩国一本产品久久久产品小视频日本韩国一本产品久 | 免费观看国产不卡av| 乱伦一二三区| 中文?日韩?免费?精品| 精品久| 老女人综合网| 亚洲天天在线| 97在线观看免费视频| 婷婷色香伊人| 欧美亚洲综合高清在线| 亚洲狠| 亚洲综合在线第一页| 色香av| 色网色网色网色网色网色| 日本加勒比无码专区| 超碰美国| 97爱爱| 亚洲无无码αⅴ每日更新| 精品国产Av无码久久久亚洲| 97超碰人人模人人拍人人| 99久久无码| 国产精品分类在线观看| 热久久国产| 蜜桃视频成a人v在线| 欧美性巨大╳╳╳╳╳高跟鞋| 亚洲黄色网址视频| 色综合尤物| 这里只有精品久久| 色呦呦、国产精品| 又摸又舔在线观看网站| 嗯嗯啊啊啊啊轻点视频| 婷婷九月丁香| 超碰在线一区二区| AVE乱伦| 约操熟妇| 九九Av| 中美日韩毛片| 亚洲诱惑天堂| 久久精品国产亚洲av水密被窝| 97视频在线免费观看| 亚洲精品一区二区精华| 操高情无码| 一块操欧美| 日韩欧美亚洲国产日韩| 日本蜜桃| 超碰久超碰久| 性色av大全| 中文字幕av乱伦| 日韩99神马视频播放片在线播放| av操操不卡| 99热日| 亚洲无 码A片在线观看麻豆| 日韩在线性爱免费视频| 国产在线精品偷| 大鸡吧尹人在线| 91N综合网在线| 五十路熟女人妻一区二区在线观看 | 欧美亚洲综合色| 97国产色图| 久久久日本电影| 色综合久久av| 欧美精品四区| 久久久成人精品| 欧美色涩| 多乙久久久久久| 78p欧美| 中国韩国明星一极片一区乱码毛片人妻熟女一区二区三区 | 污污污8888| 四虎精品一区二区| 中文字幕交换人妻| 毛片视频白嫩| 色偷偷2020免费视频播放| 乱伦一二三区| 99热这里只有精品9| 欧美中文狠| 97在线观看| 色9999日韩国产| 久久九精品| 秋霞网无码| 五月天婷婷综合| 久久久精品一区二区| 国产精品成久久久久午夜午夜| 九九RE视频在线精品| 欧美日韩青操| 天天影视色香欲综合网小说| 91一起操| asc国产精品| 亚洲精品一二区| 精品人妻夜夜草| 97干97色| 欧美亚性天堂| 亚洲欧美综合图片| 国人欧美精品一区二区| 在线黄色污污网站| 思思热在线视频免费| 亚洲色鬼| 精品午夜福利| 久久丁香| 加勒比综合在线| 91free福利| 性高潮久久久| 97任你吞精| 激情四射婷婷六月天| 日韩精品免费高清视频在线| 草久久久| 影音先锋日本乱伦| 宗合情欲网| a男人的天堂久久一级A毛片| 国产精品乱人伊人网| 青青草久草| 97国产色综合| 国产强奸乱伦第1页| 日韩美一区| 84YTCOM性无码| 大香蕉免| 欧美v亚洲v综合v国产v妖精| 韩国轻伦国内自拍一区| 黄色无码高清黄色无码网站| 久久人人妻| 国产精品成久久久久午夜午夜| 日韩精品人妻中文字幕有码午| 成人五月天丁香激情综合| 嗯嗯嗯啊啊啊操的我好爽| 国产精品不卡一区二区电影| 97超碰天天爱天天爱| 人妻献身系列第54部| 秋霞一区二区三区四区五区六区七区| 亚洲视频1区| 在线观看午夜婷婷久久久久清性观看| 操逼片中文| 国产黑白丝在线| 99热综合| av亚欧| 牛牛久久国产精品视频一二三| 亚洲精品官网在线观看| 精品人妻一区二区三区蜜桃视频| 五月丁香影院| 69精品| 欧美日韩一干二干| 女人双腿搬开让男人桶| 精品熟妇视频一区二区| 97资源制服丝袜| 亚洲日韩精品久久久久一区壹牛| oumeizonghese,www| 欧美性爱伊人| 国产精品诱惑| 久久最新视频免费观看| 久久久久成人亚洲国产| 亚洲三级。日韩三级| 91人妻丝袜无码| 欧美性巨大╳╳╳╳╳高跟鞋| 97操B| 国产精品网站www| 新版天堂中文资源8在线| 久久激情婷婷| 九九国产热| 综合久久99| 91被操| 97操碰| 99青青草国产视频| 色色色色综合网| 久久精品 六十路 熟女 欧美| 九九av| 丝袜狠狠草尤物人妻av91| 国产亚州高清国产拍精| 97爱综合| 97欧美色| 二对二中文字幕。| 五月天色色网站| 成人免费看吃奶视频网站| 少妇三p| 久久99草| 久久久久久久少妇| 日本韩欧美在线播放a| 黑人精品XXX一区一二区| 极品出轨视频网站| 97干天天| 亚洲最大91网| www.色操逼| 亚洲色系另类精品国产| 美女诱惑1区2区| 日本不卡二三区| 99久久久| 欧美日韩 强奸乱伦| 免费成人自拍视频在线| 婷婷探花久久精品一区| 亚洲天堂另类小说男人| 婷婷综合五月| 欧美aaaaaaa| 男女猛烈无遮掩视频免费软件| 女生看匆91网站| 97亚洲国产| 玖玖爱一区在线| 18一区二区三区| 色色五月天婷婷| 一区二区视频在线播放| 日韩操逼性鲍| 国产精品午夜AV完会免费| 久久风骚城市人| 色臀aV| 大香蕉宅男伊人| 久久综合18p| 国产欧美伊人| 九九九九久久久| 午夜丁香| 日韩九区| 99精品久久久久久久婷婷蜜桃| 人人摸人人添人人操| 日本精品网站在线中文| 国产亚洲精品一区二区三区| 极品白嫩美少妇在地板上位骑射淫水泛滥| 嗯嗯嗯啊啊在线观看| 免费男人的天堂| 欧美色图自拍| 亚洲骚男同com| 久久9精品网站| 亚洲精品国产熟女久久久| 加勒比伊人综合| 啊啊啊久久久视频| 久九9精品| 日韩不卡一二三四| 综合九九| 91天天美女| 夜夜黄| 91熟女丨老女人| 射综合网| 国产视频人人网| 国产精品直播在线观看直播| 久久久性| 欧美一区二区三区四区综合| 嫩草美女久久| 日本无码1| 国产一级作爱毛片| 国产精品自产拍在线观看社区| 成视频在线观看免费看| 91精品综合久久久久久五月丁香| 丰满人妻-区二区三区免费| 91人妻超碰|