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

ARTICLE DETAIL

資訊詳情

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

SpringBoot+Vue無人智慧超市項目實戰(zhàn):從MySQL數(shù)據(jù)庫到前后端分離部署

SpringBoot+Vue無人智慧超市項目實戰(zhàn):從MySQL數(shù)據(jù)庫到前后端分離部署 之前整理過一個SpringBootVue的無人智慧超市項目被好幾個準備做畢設的同學追著問干脆把完整的實現(xiàn)思路和坑點都寫出來。這套系統(tǒng)后端是SpringBootMyBatis-Plus前端是VueElement UI數(shù)據(jù)庫用MySQL邏輯并不復雜但覆蓋了一個小型管理系統(tǒng)的完整閉環(huán)商品管理、會員管理、自助購物車、訂單結算、門禁模擬、數(shù)據(jù)統(tǒng)計拿去應付本科畢設或者課程設計完全夠用更重要的是每個模塊都能講清楚為什么這么做。如果你正處在選型階段最關心的無非是三件事好不好跑起來、代碼量大不大、答辯能不能講明白。先說結論這套項目屬于中等體量后端大概十幾個核心接口前端七八個頁面一個人一周左右能啃完而且因為業(yè)務貼近日常生活功能解釋起來非常直觀。1. 項目整體定位與設計思路1.1 這個系統(tǒng)到底解決了什么問題無人智慧超市核心就是把傳統(tǒng)超市的人工收銀、人工盤貨、人工門禁這些環(huán)節(jié)自動化。放在畢設場景里不需要你真的接入人臉識別硬件或重力感應貨架而是用軟件模擬這套流程用戶掃碼或注冊會員后進店選擇商品加入虛擬購物車結算時系統(tǒng)自動計算金額并扣除賬戶余額或模擬支付出門時校驗訂單狀態(tài)。管理端則負責商品上下架、庫存調整、訂單查詢、會員管理、銷售統(tǒng)計。這個業(yè)務模型的價值在于它天然包含了一個管理信息系統(tǒng)該有的所有要素數(shù)據(jù)建模、前后端交互、權限控制、狀態(tài)流轉、統(tǒng)計報表。老師問你這個系統(tǒng)做了什么你可以順著用戶一條完整的購物鏈路講下來老師問你用了什么技術前后端分離、RESTful接口、JWT鑒權、MyBatis-Plus條件構造器都能排得上用場。1.2 為什么選SpringBootVue這套組合而不是其他方案每年畢設選型都會被問這個問題我的建議很直接如果你是Java方向這就是最穩(wěn)的組合。SpringBoot把Spring的配置簡化到了極致內嵌Tomcat打成一個Jar包就能跑不需要折騰Tomcat部署。MyBatis-Plus又在MyBatis基礎上把單表CRUD寫成了現(xiàn)成的方法省掉大量重復的Mapper XML。前端Vue配合Element UI表格、表單、彈窗、分頁這些后臺管理頁面最常見的組件都有現(xiàn)成的不需要自己手搓UI。對比一下其他方案你就明白了如果用JSPServlet代碼寫得再規(guī)范答辯時也容易被質疑技術陳舊如果后端用Python的Django又和你Java課程的主線不一致面試時不好解釋。SpringBootVue是當前企業(yè)里中小型管理系統(tǒng)的主流搭檔學完寫在簡歷上不虧。還有一個實際原因網(wǎng)上這套組合的參考資料最多遇到報錯基本都能搜到解決方案。我見過太多同學選了冷門框架最后卡在一個莫名其妙的依賴沖突上連問都沒處問。選熱門技術棧本身就是降低風險的手段。1.3 無人超市的完整業(yè)務流程梳理把業(yè)務流程理清楚后面建模就順了。一個用戶從進店到離店大致經(jīng)歷這樣幾步進店用戶掃碼或者輸入會員手機號系統(tǒng)校驗身份生成一個會話記錄標記在店狀態(tài)。選購用戶瀏覽商品列表把商品加入購物車。這里不需要真實掃碼槍前端頁面加個按鈕就行。結算用戶提交購物車后端計算總金額調用模擬支付接口扣減余額生成訂單扣減庫存。離店系統(tǒng)根據(jù)訂單狀態(tài)更新會話記錄為已離店后端返回一個放行標識前端展示模擬門禁放行動畫。管理端的流程就簡單了管理員登錄維護商品分類和商品信息處理庫存預警查看訂單列表和銷售額統(tǒng)計。整個系統(tǒng)就是這兩條主線的交織數(shù)據(jù)庫表也是圍繞這兩條線設計的。2. 技術棧與項目結構2.1 后端分層結構與Maven依賴后端我用標準的四層結構Controller接收前端請求Service寫業(yè)務邏輯Mapper操作數(shù)據(jù)庫Entity映射表結構。有人覺得分層麻煩但畢設答辯時這就是加分項你可以明確告訴老師我遵循了單一職責原則。pom.xml里的核心依賴就這么幾個dependency groupIdorg.springframework.boot/groupId artifactIdspring-boot-starter-web/artifactId /dependency dependency groupIdcom.baomidou/groupId artifactIdmybatis-plus-boot-starter/artifactId version3.5.5/version /dependency dependency groupIdmysql/groupId artifactIdmysql-connector-java/artifactId version8.0.33/version /dependency dependency groupIdio.jsonwebtoken/groupId artifactIdjjwt-api/artifactId version0.11.5/version /dependency dependency groupIdcn.hutool/groupId artifactIdhutool-all/artifactId version5.8.25/version /dependencyHutool是個小工具庫生成隨機訂單號、日期處理、加密都用得上。依賴別一股腦全加夠用就好加多了版本沖突反而麻煩。JWT用來做登錄鑒權比傳統(tǒng)的Session更適合前后端分離的場景。2.2 SpringBoot版本與JDK版本怎么選這里需要重點提醒SpringBoot版本不是越高越好。我一開始用了SpringBoot 3.2.x結果它要求JDK 17而且部分老版本的MyBatis-Plus、Druid和它有兼容問題。如果你只是做畢設沒必要追新推薦用SpringBoot 2.7.18配合JDK 8這個組合經(jīng)過大量項目驗證網(wǎng)上報錯解決方案也最全。# application.yml 核心配置 server: port: 8080 spring: datasource: driver-class-name: com.mysql.cj.jdbc.Driver url: jdbc:mysql://localhost:3306/smart_mart?useUnicodetruecharacterEncodingutf8serverTimezoneAsia/Shanghai username: root password: 123456 jackson: date-format: yyyy-MM-dd HH:mm:ss time-zone: Asia/Shanghai mybatis-plus: configuration: log-impl: org.apache.ibatis.logging.stdout.StdOutImpl global-config: db-config: logic-delete-field: deleted logic-delete-value: 1 logic-not-delete-value: 0注意url里的serverTimezoneAsia/Shanghai不加上MySQL 8連接時會報時區(qū)錯誤。log-impl配置成StdOutImpl可以在控制臺打印SQL排查問題時非常有用答辯演示時也方便展示。我見過不少同學卡在這些基礎配置上其實都是經(jīng)驗問題。2.3 前端Vue項目的搭建方式前端我用的是Vue 2不是Vue 3。不是說Vue 3不好而是Element UI對Vue 2的支持最成熟網(wǎng)上的示例代碼90%都是Vue 2寫法照著抄不容易翻車。如果你非要用Vue 3那配合Element Plus也行但很多細節(jié)寫法有差異調試成本會高一些。創(chuàng)建項目用Vue CLInpm install -g vue/cli vue create smart-mart-web # 選擇 Manually select features勾選 Router cd smart-mart-web npm install element-ui axios安裝依賴的過程經(jīng)常出問題尤其是網(wǎng)絡不穩(wěn)定的時候node_modules裝一半失敗了。國內環(huán)境建議先設置npm鏡像源再安裝npm config set registry https://registry.npmmirror.com裝完依賴后在main.js里注冊Element UI和Router然后按頁面拆組件。我的頁面結構是登錄頁、用戶端首頁、商品列表頁、購物車頁、訂單確認頁、管理端布局、商品管理頁、訂單管理頁、會員管理頁、統(tǒng)計頁。每個頁面一個文件夾組件按需拆分。3. 數(shù)據(jù)庫設計與核心功能模塊3.1 數(shù)據(jù)庫表設計五張表串起整個系統(tǒng)數(shù)據(jù)庫是這套項目的地基表設計得好后面的代碼能少寫一半。我設計了五張核心表用戶表、商品表、訂單表、訂單明細表、購物車表。下面給出建表SQL的核心片段。CREATE TABLE user ( id bigint NOT NULL AUTO_INCREMENT, phone varchar(20) NOT NULL, password varchar(100) NOT NULL, nickname varchar(50) DEFAULT NULL, balance decimal(10,2) DEFAULT 0.00, role tinyint DEFAULT 1, status tinyint DEFAULT 1, create_time datetime DEFAULT NULL, PRIMARY KEY (id), UNIQUE KEY uk_phone (phone) ) ENGINEInnoDB DEFAULT CHARSETutf8mb4;role字段區(qū)分管理員和普通用戶balance存賬戶余額這是模擬支付的賬戶來源。手機號加唯一索引這是登錄賬號。CREATE TABLE product ( id bigint NOT NULL AUTO_INCREMENT, name varchar(100) NOT NULL, category_id bigint DEFAULT NULL, price decimal(10,2) NOT NULL, stock int NOT NULL, image varchar(255) DEFAULT NULL, status tinyint DEFAULT 1, PRIMARY KEY (id) ) ENGINEInnoDB DEFAULT CHARSETutf8mb4;商品表加了category_id字段預留分類擴展status字段控制上下架下架的商品用戶端不展示。CREATE TABLE orders ( id bigint NOT NULL AUTO_INCREMENT, order_no varchar(32) NOT NULL, user_id bigint NOT NULL, total_amount decimal(10,2) NOT NULL, status tinyint DEFAULT 0, create_time datetime DEFAULT NULL, pay_time datetime DEFAULT NULL, PRIMARY KEY (id), UNIQUE KEY uk_order_no (order_no) ) ENGINEInnoDB DEFAULT CHARSETutf8mb4;訂單表里status是整個系統(tǒng)最關鍵的狀態(tài)字段0代表待支付1代表已支付2代表已離店。字段注釋必須寫清楚答辯時老師一定會問狀態(tài)怎么流轉的。CREATE TABLE order_item ( id bigint NOT NULL AUTO_INCREMENT, order_id bigint NOT NULL, product_id bigint NOT NULL, product_name varchar(100) DEFAULT NULL, price decimal(10,2) NOT NULL, quantity int NOT NULL, PRIMARY KEY (id) ) ENGINEInnoDB DEFAULT CHARSETutf8mb4;為什么要有訂單明細表因為一個訂單可能包含多個商品而訂單表只保存總額。到時候你要查某個訂單里買了哪些東西沒有明細表根本查不了。還有一點下單時要把商品名稱和價格冗余存一份這樣即使日后商品改名或者刪除訂單的歷史記錄仍然完整。這是電商系統(tǒng)的常規(guī)做法講出來顯得專業(yè)。3.2 用戶端功能模塊從登錄到購物車用戶端核心接口就四個注冊登錄、商品列表、購物車操作、提交訂單。登錄用手機號密碼密碼存在數(shù)據(jù)庫里用MD5加鹽處理。我知道MD5不算安全但畢設項目里夠用而且你可以主動跟老師說生產(chǎn)環(huán)境應該用BCrypt這反而成了加分項。購物車我采用了后端存儲而不是前端存儲的方案。有人認為購物車存前端localStorage簡單但那樣用戶換設備數(shù)據(jù)就丟了。我用一張購物車表關聯(lián)用戶和商品后端提供添加、修改數(shù)量、刪除、查詢四個接口。數(shù)據(jù)結構很簡單操作邏輯都在Service層。Service public class CartServiceImpl implements CartService { Override public Result addCart(CartDTO dto) { // 先查詢該用戶購物車里是否已有這個商品 LambdaQueryWrapperCart wrapper new LambdaQueryWrapper(); wrapper.eq(Cart::getUserId, dto.getUserId()) .eq(Cart::getProductId, dto.getProductId()); Cart exist cartMapper.selectOne(wrapper); if (exist ! null) { exist.setQuantity(exist.getQuantity() dto.getQuantity()); cartMapper.updateById(exist); } else { Cart cart new Cart(); cart.setUserId(dto.getUserId()); cart.setProductId(dto.getProductId()); cart.setQuantity(dto.getQuantity()); cartMapper.insert(cart); } return Result.success(加入成功); } }這里用MyBatis-Plus的LambdaQueryWrapper構造條件比寫XML簡潔很多而且類型安全字段名寫錯了編譯期就能發(fā)現(xiàn)。3.3 管理端功能模塊商品、訂單、會員、統(tǒng)計管理端的商品管理就是常規(guī)的增刪改查分頁MyBatis-Plus自帶Page對象配合selectPage方法幾行代碼搞定Override public PageProduct pageProducts(int pageNum, int pageSize, String keyword) { PageProduct page new Page(pageNum, pageSize); LambdaQueryWrapperProduct wrapper new LambdaQueryWrapper(); if (StringUtils.hasText(keyword)) { wrapper.like(Product::getName, keyword); } wrapper.orderByDesc(Product::getCreateTime); return productMapper.selectPage(page, wrapper); }訂單管理就是按狀態(tài)篩選訂單列表也可以查看訂單的明細。這里有個小技巧查詢訂單列表時如果每條訂單都要單獨查一次明細會產(chǎn)生N1查詢問題。簡單項目可以不那么較真但如果想展示自己的水平可以在Service層先把訂單ID列表查出來再一次性批量查詢明細然后按訂單ID分組組裝。這個優(yōu)化講出來能讓老師覺得你不是在背代碼。會員管理做得簡單就是一個用戶列表可以看到每個用戶的余額和消費統(tǒng)計。統(tǒng)計模塊我用ECharts畫了兩個圖表近七天銷售額折線圖、商品分類銷量占比餅圖。數(shù)據(jù)來源是SQL的聚合查詢。這里千萬別用循環(huán)查數(shù)據(jù)庫再在Java里計算效率低而且代碼丑直接讓MySQL分組求和查出來什么就展示什么。SELECT DATE_FORMAT(create_time, %Y-%m-%d) AS day, SUM(total_amount) AS amount FROM orders WHERE status 1 AND create_time DATE_SUB(CURDATE(), INTERVAL 7 DAY) GROUP BY day ORDER BY day;4. 關鍵代碼實現(xiàn)與實操細節(jié)4.1 模擬門禁與結算的核心邏輯無人超市系統(tǒng)最需要講故事的地方就是結算后如何放行。真實場景是硬件聯(lián)動這里用軟件模擬。我在后端設計了這樣一套邏輯用戶在購物車頁面點擊結算前端把購物車ID列表和用戶ID傳給后端。后端先校驗所有商品庫存是否充足如果不夠就返回明確提示。庫存充足的情況下在一個方法里完成三件事計算總金額、生成訂單和訂單明細、扣減庫存和用戶余額。這三件事必須放在同一個事務里要么全部成功要么全部回滾。這一步一定要講清楚事務是保證數(shù)據(jù)一致性的關鍵。Transactional(rollbackFor Exception.class) public Result checkout(CheckoutDTO dto) { ListCart carts cartMapper.selectBatchIds(dto.getCartIds()); BigDecimal total BigDecimal.ZERO; for (Cart cart : carts) { Product product productMapper.selectById(cart.getProductId()); if (product.getStock() cart.getQuantity()) { return Result.error(商品【 product.getName() 】庫存不足); } total total.add(product.getPrice().multiply(BigDecimal.valueOf(cart.getQuantity()))); } // 生成訂單號 String orderNo SM DateUtil.format(new Date(), yyyyMMddHHmmss) RandomUtil.randomNumbers(4); Orders order new Orders(); order.setOrderNo(orderNo); order.setUserId(dto.getUserId()); order.setTotalAmount(total); order.setStatus(1); order.setPayTime(new Date()); ordersMapper.insert(order); // 插入訂單明細、扣減庫存、扣減余額、清空購物車 return Result.success(orderNo); }事務注解Transactional放在這里的作用是如果插入訂單成功后扣庫存失敗整個方法回滾不會出現(xiàn)訂單生成了但庫存沒扣的臟數(shù)據(jù)。你可以把這句話原封不動寫進論文里。4.2 JWT登錄鑒權的實現(xiàn)細節(jié)前后端分離項目里登錄狀態(tài)通常用JWT而不是Session。JWT就是一個包含用戶信息的加密字符串服務器不保存狀態(tài)客戶端每次請求帶上服務器驗證簽名后解析出用戶ID。實現(xiàn)分三步第一步登錄成功后簽發(fā)TokenString token Jwts.builder() .setSubject(user.getId().toString()) .claim(phone, user.getPhone()) .claim(role, user.getRole()) .setExpiration(new Date(System.currentTimeMillis() 86400000)) .signWith(secretKey, SignatureAlgorithm.HS256) .compact();第二步寫一個攔截器攔截需要登錄的接口public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) { String token request.getHeader(Authorization); if (token null || !token.startsWith(Bearer )) { // 返回401狀態(tài)碼 response.setStatus(401); return false; } try { Claims claims Jwts.parserBuilder() .setSigningKey(secretKey) .build() .parseClaimsJws(token.substring(7)) .getBody(); request.setAttribute(userId, claims.getSubject()); return true; } catch (JwtException e) { response.setStatus(401); return false; } }第三步在WebMvcConfigurer里注冊攔截器配置哪些路徑需要攔截。登錄接口和商品列表接口不需要攔截購物車、訂單、管理端接口全部攔截。前端拿到401響應就跳回登錄頁。這里要注意一個坑攔截器注冊路徑如果寫錯你會發(fā)現(xiàn)某些接口沒攔截、某些接口明明應該攔截卻放行了。我習慣把接口路徑統(tǒng)一用/api/**開頭然后根據(jù)需要排除/api/user/login、/api/product/list這些公開接口。4.3 Vue端的路由守衛(wèi)與Axios封裝前端要做的事情是在Axios請求攔截器里自動帶上Token在響應攔截器里統(tǒng)一處理401跳轉。這個屬于固定套路直接貼代碼說明。// request.js axios.interceptors.request.use(config { const token localStorage.getItem(token); if (token) { config.headers[Authorization] Bearer token; } return config; }); axios.interceptors.response.use( response response.data, error { if (error.response error.response.status 401) { localStorage.removeItem(token); router.push(/login); } return Promise.reject(error); } );路由守衛(wèi)控制頁面訪問權限。比如管理端頁面只有role0的用戶能訪問普通用戶跳進去要彈提示router.beforeEach((to, from, next) { const token localStorage.getItem(token); if (to.path /login) { next(); return; } if (!token) { next(/login); return; } const role localStorage.getItem(role); if (to.meta.requiresAdmin role ! 0) { next(/); return; } next(); });我見過有些同學的畢設前端頁面能直接通過URL訪問后臺接口這就是沒做路由守衛(wèi)答辯時被問如何防止未授權訪問就答不上來。這一段屬于安全要點值得單獨準備一下。4.4 模擬支付與訂單狀態(tài)流轉支付模塊不用接真實支付接口做一個模擬余額支付就行。用戶可以事先在個人中心給賬戶充值也是模擬的管理員直接改余額。結算時后端判斷余額是否足夠不夠就返回余額不足請充值夠就扣減余額并生成支付記錄。訂單狀態(tài)從0流轉到1再在用戶點擊確認離店時流轉到2。如果你想讓系統(tǒng)看起來更完整還可以加一層虛擬的門外設備檢測用戶訂單狀態(tài)為2之后前端門禁頁顯示門鎖已開啟請通過。這個效果用Vue的過渡動畫就能實現(xiàn)成本低演示效果好。5. 本地部署與運行環(huán)境搭建5.1 開發(fā)環(huán)境準備清單我把整套環(huán)境版本列成一個清單照著裝就不會出兼容性問題組件版本說明JDK1.8別用17兼容問題太多MySQL5.7 或 8.08.0需要配置時區(qū)Node.js16.xVue2項目對Node版本要求寬松Maven3.8.xIDEA自帶也可IDEA2023.x社區(qū)版夠用MySQL安裝時有個細節(jié)安裝到Windows上的時候如果之前裝過其他版本端口3306可能被占用用netstat -ano查一下端口占用或者直接改端口3307并在連接串里同步修改。我遇到過一個同學裝完MySQLNavicat連接不上折騰半天發(fā)現(xiàn)服務根本沒啟動Windows服務列表里把MySQL服務啟動就好了。5.2 數(shù)據(jù)庫初始化的兩種方式第一種是用Navicat手工導入SQL文件適合看不懂命令行的人。新建數(shù)據(jù)庫smart_mart字符集選utf8mb4右鍵運行SQL文件把建表語句和初始數(shù)據(jù)一起導入。第二種是用命令行mysql -u root -p smart_mart.sql初始數(shù)據(jù)里我預置了幾個測試賬號一個管理員賬號admin/123456一個普通用戶13800000000/123456還有十來個商品數(shù)據(jù)。有初始數(shù)據(jù)的好處是系統(tǒng)一跑起來就能看到效果不用一個個手動錄入。答辯前務必檢查演示賬號還能不能用我見過有人把數(shù)據(jù)庫密碼改了現(xiàn)場登錄不進去非常尷尬。5.3 SpringBoot與Vue的啟動順序后端啟動很簡單IDEA里直接運行SmartMartApplication的main方法。啟動后訪問http://localhost:8080如果看到SpringBoot默認的錯誤頁說明端口正常。前端啟動分兩步npm install npm run serveDevServer默認跑在8080端口而后端也在8080必然沖突。解決辦法是在vue.config.js里配置前端端口和代理module.exports { devServer: { port: 3000, proxy: { /api: { target: http://localhost:8080, changeOrigin: true } } } }配置代理之后前端請求/api/product/list會轉發(fā)到后端的http://localhost:8080/api/product/list跨域問題由DevServer解決瀏覽器里看不到跨域報錯。啟動順序沒有嚴格要求但先啟動后端再啟動前端能保證前端代理的調試信息里不至于報連接被拒絕。5.4 生產(chǎn)環(huán)境打包前后端怎么合到一起畢設如果需要部署演示最省事的方式是把前端的build產(chǎn)物放到SpringBoot的static目錄下最后只發(fā)布一個Jar包。操作流程是npm run build生成dist目錄把dist下的所有文件復制到后端項目的src/main/resources/static目錄下再用Maven打包mvn clean package -DskipTests生成的target/smart-mart.jar用java -jar smart-mart.jar運行瀏覽器直接訪問http://localhost:8080SpringBoot會把前端頁面和接口請求放在同一個端口處理。注意此時前端的接口請求路徑必須是相對路徑也就是/api/xxx不能寫死成localhost:3000否則頁面加載了但接口全部403。6. 常見問題與避坑記錄6.1 SpringBoot版本太高引發(fā)的連環(huán)報錯這是這一屆學生里最常見的坑。SpringBoot 3.x強制要求JDK 17而很多人本機裝的是JDK 8啟動直接報UnsupportedClassVersionError。就算你臨時改了JDK版本MyBatis-Plus老版本里的Jsoup等依賴也會出現(xiàn)ClassNotFoundException因為SpringBoot 3用了Jakarta命名空間不再兼容javax.*。我的建議是統(tǒng)一用SpringBoot 2.7.18 JDK 8。如果你的團隊或者老師要求必須用新版本也不要硬扛直接換MyBatis-Plus 3.5.5以上版本并在pom.xml里排查所有用到javax.servlet的依賴。這類問題排查耗時很長而且越查越亂不如一開始就選穩(wěn)定版本。6.2 MySQL連接失敗時區(qū)、驅動、密碼三個坎連接MySQL 8時第一個坎是時區(qū)不配置serverTimezoneAsia/Shanghai會報The server time zone value ?D1ú±ê×?ê±?? is unrecognized解決辦法就是在連接串里加上時區(qū)參數(shù)。第二個坎是驅動類名MySQL 8要寫com.mysql.cj.jdbc.Driver寫舊的com.mysql.jdbc.Driver雖然也能跑但會報警告。第三個坎是密碼驗證方式MySQL 8默認用的caching_sha2_password和舊版JDBC驅動不兼容要么升級驅動版本要么在MySQL里執(zhí)行ALTER USER rootlocalhost IDENTIFIED WITH mysql_native_password BY 密碼。新手最容易在這里喪失信心其實這些報錯信息都很直白把英文翻譯一下就知道缺什么了。排查原則先看MySQL服務有沒有啟動再用命令行工具連接測試最后才去檢查Java代碼和配置。6.3 Vue項目啟動報錯與依賴安裝問題vue create過程可能卡在chromedriver這個依賴上這個是網(wǎng)絡問題居多。裝依賴時看到卡住不要直接CtrlC先等一會兒實在不行就換成npmmirror鏡像源再試。有些同學從前端拿到別人項目壓縮包后直接扔進IDEA這東西不是Java項目要先用命令行進入目錄執(zhí)行npm installIDEA只能幫你打開文件裝依賴還得靠npm。還有一類問題是Vue CLI版本太高要求Node.js版本過低的環(huán)境會報Digital Envelope routines::unsupported錯誤。常見的臨時解決辦法是執(zhí)行export NODE_OPTIONS--openssl-legacy-provider但這是權宜之計最好還是把Node.js升級到16或18的穩(wěn)定版本??傊岸谁h(huán)境問題大多出在版本不匹配上和寫代碼的關系不大但確實很消磨耐心。6.4 前后端聯(lián)調時常見的跨域與接口對接問題跨域問題是必考題。如果前端直接請求后端地址而沒有走代理瀏覽器會報CORS錯誤。解決方式有兩個一個是在SpringBoot里配置全局CORS另一個是像前面那樣在vue.config.js里配代理。我推薦后者因為生產(chǎn)環(huán)境打包后是同源部署配置代理能順帶模擬出這個效果。接口對接時的另一個坑是字段名對不上。前端約定用productName后端實體類寫的是name結果列表里商品名稱一列全是空的。這種問題排查起來很煩建議開發(fā)時打開瀏覽器F12看網(wǎng)絡請求的響應體先確定后端返回了哪些字段再去前端模板里核對。關鍵接口直接用Polyline圖的思路調通一個再看下一個不要攢了一堆問題再一起調試。6.5 答辯演示時的三個穩(wěn)定性建議現(xiàn)場演示翻車是畢設答辯的重災區(qū)我總結三個經(jīng)驗。第一演示前一天必須跑一遍完整流程不要僥幸小改動不影響。第二手機熱點和現(xiàn)場WiFi都不要壓上把學生證、身份證等無關頁面關掉省得切換頁面時卡頓。第三數(shù)據(jù)庫里要準備好演示數(shù)據(jù)商品別太少訂單要有不同狀態(tài)的這樣展示列表篩選功能時才有內容。還有一個容易被忽略的點答辯時老師喜歡反問你覺得這個系統(tǒng)哪里還可以改進。提前準備幾個合理的優(yōu)化方向比如引入Redis做購物車緩存、用RabbitMQ處理訂單異步通知、接入真實人臉識別SDK都會讓回答更從容。7. 后端的擴展與學習建議7.1 這個項目還能怎么擴展成創(chuàng)新點畢設如果只是把基本功能做完很多學校只給中等分。想讓系統(tǒng)更有競爭力可以從三個方向擴展。第一個方向是把靜態(tài)的商品列表升級成分頁條件搜索比如按價格區(qū)間、分類、熱度排序這涉及MyBatis-Plus的多條件組合查詢論文里也好寫。第二個方向是加一個簡單的推薦模塊根據(jù)用戶購買記錄推薦同類商品不需要上機器學習算法用一個簡單規(guī)則統(tǒng)計就行。第三個方向是接入WebSocket做實時庫存展示前端頁面每兩秒刷新一次庫存管理員能看到哪些商品快賣完了。我個人覺得最劃算的擴展是導入導出用EasyExcel實現(xiàn)商品數(shù)據(jù)的Excel批量導入和訂單導出。這個功能企業(yè)里用得極多而且演示效果直觀先把Excel模板下載出來填幾條數(shù)據(jù)再導入前后端都有交互答辯時可以讓老師親眼看到數(shù)據(jù)從Excel流進了數(shù)據(jù)庫比純口頭描述有說服力得多。7.2 學完這套項目你真正會收獲什么把這個項目完整擼一遍你收獲的不只是一堆代碼。你會真正理解一個管理系統(tǒng)的請求怎么從前端頁面發(fā)起經(jīng)過攔截器校驗、Controller參數(shù)接收、Service業(yè)務處理、Mapper數(shù)據(jù)查詢最后再返回到頁面上完整走通。這個鏈路是書本里很難講透的只有親手連起來才有感覺。很多人學新項目喜歡通篇復制跑通了就覺得自己會了。我的建議是跑通之后從一個小功能開始獨立重寫比如單獨把提交訂單邏輯自己寫一遍不參考原代碼。能寫出來說明你真正掌握了寫不出來就對著原代碼一行行比對找出你卡住的地方那正是你需要補的知識點。7.3 最后補充一個調試的小技巧在項目開發(fā)過程中我強烈建議后端保持log-impl: org.apache.ibatis.logging.stdout.StdOutImpl這條配置能讓控制臺打印出每條SQL執(zhí)行語句和參數(shù)值。當你的列表數(shù)據(jù)不對時先看SQL有沒有按預期拼接條件當更新操作沒生效時先看SQL影響行數(shù)是0還是1。大部分數(shù)據(jù)問題都能靠這一步定位比在Java代碼里打斷點還高效。調試工具上前端打開F12的Network面板看接口響應后端看IDEA控制臺的日志兩邊對照著調效率會高很多。不要碰到問題就甩給系統(tǒng)報錯四個字先把報錯信息完整讀三遍你會發(fā)現(xiàn)大部分問題其實描述得已經(jīng)很清楚了。
返回列表
PREV
查看更多資訊
NEXT
返回資訊列表
久久无码一区二区二三区性色 | 欧美黑人极品高潮喷吹熟女黑人性暴力日韩在线欧美极品一区二区老师 | 亚洲综合图色在线| 天天综合,91综合永久| 东北丰满熟女国产一区| 91性片| 国产美女精品| 操曰本熟女| 高清无码国产亚洲| 操我无码| 欧美日韩另类在线播放| av天堂电影网| 亚洲av综合伊人久久| 久久精品男人的天堂| 天天摸夜夜摸| 亚洲 se图 欧美电影| 中文字幕av亚洲在线| 综合国产影视三级| 国产91福利小视频在线观看| 啪啪啪男女亚洲中文字幕99| 夜夜操一区二区| 99久久无色码| 丰满翘臀美女影院视频| 麻豆天美制片厂网站视频| 亚州色图第三区| 做爱A级亚欧| 久久久96| 亚洲欧美不卡线| 999久久芭蕾| 物业黑人 AV一区| 国产后入内射| 中国女人内射6XXXXX| 色九九九九| 自拍偷拍第26| 国产一区二区三区导航| 欧美嗯啊……在线观看视频免费| 小明看看网址| 国产无码精品久久久久久| 免费看A片毛毛片在线播| 五月婷婷综合网| 大屁股熟女一区二区三区| 天天综合网日韩| 人人做人人妻人人夜视频| 成 人 影视 一区 二区 三区 四区| 91色s| 人人操人人舒服| 日韩三四五区| 97超碰日韩| 91丨九色丨国产打屁股| 中国韩国明星一极片一区乱码毛片人妻熟女一区二区三区 | 99re99| 夜夜操av亚洲一区二区| 日语五十路和六十路亚洲国产精品 | av天堂影视中文在字幕在线中文 | 99这里有精品视频| 欧美激情黑人| 99这里有精品| 国产自产自拍| 蜜臀99999| 日日AV加勒比| 国产精品一区二区三区在线| 91熟女网| 久久手机视直播| 日本欧美一区二区三区视频麻豆| 麻豆人妻少妇在线免费观看| 亚乱色| 伊人久久亚洲色欲综合网站 | 日韩肏逼视频| 老鸭窝亚洲毛片| 国产综合色精品在线观看| 精品十三区| 强奸乱伦av电影| 超碰吊日色| 一区二区三区蜜桃成人撸久久东京热 | 欧美日韩国产一区二区小黄片大全| 九九久久久九九| 日本操BAV| 97超碰欧美| 久久久草草精品| 中文字幕五区| 欧美十八禁网站| 13小男生GAY自慰脱裤子| 亚洲欧洲无码一区夜| 男人天堂2012| 亚洲第一页色网| 日韩 女同 综合| 天天日老熟妇| 蜜桃av色偷偷av老熟女| 亚洲精品1区| 伊人网综合在线视频| 欧美日本天堂| 日韩欧美偷拍美女视频| 天天情欲宗合网| 久久国产精品熟女人妻| 91老熟女老女人国产老太| 欧美色偷拍| 好爽视频在线观看| 激情小说五月天| 国产精品视频麻豆入口| 日本高清熟女久久一区| 曰本熟女视频| 9久精品视频在线观看| 夜夜高潮夜夜爽| 欧美中文字幕一区| 中美日韩毛片| 日韩丝袜高跟制服在线观看| 冬京热男人的天堂| 日韩电影天堂视频一区二区| 日本99一区二区| 99青青草国产视频| 果冻传媒A片一二三区| 超碰天天操| 嗯~啊~快点 死我视频免费看网站| 1204金沙人妻懂旧版免费| 东北女人| 噜噜瑟| 18+91网站| 欧美啪啪色吧在线| 亚洲欧洲日本精品中文a∨| 日本成熟少妇A∨网站| 欧美的性爱网站免费| 人人插人人摸人人| 老女人爆菊| 91激情网| 久久这里只| 午夜福利1区2区3区| 另类 日韩 熟女| 91美女丝袜诱惑视频| 乱伦熟女论坛| 蜜臀久久99精品久久久久久婷婷| 99re这里只有| 精品人妻一区二区三区日产乱码| 特级毛片特黄久久免费看| 色欧美综合| 免费一级特黄特色大片在线观看看 | 久久九九精品一区二区| 天天爽夜夜爽夜夜爽精| 蜜桃久久综合视频| 丰满人妻一区二区中文| 视频在线97| 丝袜综合| 国产天天骚| 国产精品一区二区黄片| 国产亚洲精品第一最新| 色丁香久久| 99精品在线播放| 女同在线视频一区| A男人的天堂| 亚洲国产蜜臀系列在线观看| 婷婷8月天青娱乐| 欧美中文综合| 强奸乱伦动态污图免费| 国产九九九九九九九九| 91neishe| 热G综合热G中文| 国产精品不卡少妇白| 色波多| 婷婷久久五月综合激情| 岛国A V在线免费看| 强奸乱伦动态污图免费 | 久久久久亚洲Av无码专区老牛影视 | 久久肏大逼| www.av在线观看| 一区二区三区男女操逼黄色小电影| 久久人妻一区二区三区高清| 26uuu国产亚洲综合| 日本国产高清色www视频在线| 99成人| 日韩美女高潮喷水视频| 97国产|免费| 自慰白浆在线观看| 91色伦综合| 日韩成人精品| 久操高青| 亚洲狠狠入| 91青青草| 夜夜嗨一区二区| 天天影视综合色| 精品久久人妻成人网| 欧美性五月| 国产日韩欧美操逼视频| 美欧老女人97| 93人人操人人| 激情久久日韩精品中文字幕麻豆| 国产偷拍自拍在线视频| 久热精品在线| 激情综合网激情五月天| 久久精品一区二区一8| 蜜桃精品一区二区三区ww| 一区二区三区色综合| 日韩性爱视频在线免费观看 | 亚洲无码电影久久久| 色综合天天| 在线亚洲欧美| 柠檬AV导航| 国产 日韩 欧美一区| 99re热| 日产欧美电影一区二区三区| 亚洲AV无码久久久国产精品| 亚洲福利中文字幕在线| 亚洲日韩狠狠撸视频| 婷婷激情五月| 国内精品a| 国产AV线| 91最新综合| 亚洲天堂无码| 无码精品久久久久久亚洲| 久草在| 一级免费啪啪片| 试看日韩黄片| 亚洲成人贴图| 97网址97| 1区2区3区中文字幕日韩| 强奸乱伦麻豆| 国产精品黄色三级av| 久草这里只有精品 | 激情自拍 校园春色| 国产一进一出视频网站| 国产美女口爆吞精视频| 少妇高潮一区二区三区在线| 免费超碰97久久| 中日无幕一二三四区| 欧美色综合影院| 能在线播放的国产三级| 亚洲无码精品AV久久久| 不卡日本一区二区| 久九色| 亚州男人天堂| 男男H黄动漫啪啪无遮挡网站| 亚洲第二页| 免费男人的天堂| 热九九精品| av在线免费一区二区| 日韩欧亚中文在线| 国产丰满少妇久久久精品影院| 五月天激情视频| 亚洲AV成人无码一区二区三区在线观看| 99久久久久久亚洲精品不卡| 日本一区二区三区免费观看| 青青草中文字幕| 91岛国动作片| 久久精品一区二区一8| 亚洲天堂资源网| 国产高清自拍| 无码国产精品96久久久久孕妇| 蜜臀久久99精品久久久久久酒店| 丰满人妻一区二区三区| 日韩 国产 欧美自拍| 人妻偷拍一区二区三区| 久久一区二区高清免费| 国内精品久久久久影院亚洲| 六月婷婷色综合| 亚洲永久AV无码精品秋霞| 亚洲天堂人人妻| 97国产精品在线观看| 色97干| 欧美性爱第一页久久| 国产亚洲中文不卡二区| 精品夜夜澡人妻无码| 330dv亚洲成年视频网| 日韩99999| 日日日日做夜夜夜夜无码| 好吊妞转入那个网| 蜜桃臀一区二区aV| 99在线免费公开视频| 五月天开心网| 肉丝无码中文高清| 夜夜操青青草| 水野优香在线观看| 影音资源男人日韩| 女人被男人桶爽视频网站| 激情综合五月天| 不卡六六在线91| 亚洲精品国语在线播放| 亚洲欧美精品一区天堂久久| 欧美色爱综合| 五月丁香综合| 成人资源中文字幕在线观看| 伊人五月天激情| 精品视频123区小说区| 岛国在线免费视频| 免费黄色A片| 国产高清在线自在拍69| 亚洲精品色| 欧美 精品国产制服第一页| 精品96久久| 99热这里只有精品9| 在线视频 亚洲精品| 亚洲精品1区| 殴美牲| 亚洲精品性爱片| 精品无码少妇| 亚洲综合校园春色| 91在线|亚| 午夜偷拍久久熟女| 成人影院永久免费观看网址| 国产精品国产| 99啪啪| 花野真衣| 一区二区三区欧美激情| 亚洲一区操| 色噜噜国产精品视频一区二区| 九九九久久久久| 四虎影视在线| 闷骚老熟女15P| 私色综合网| 熟妇视频一区二区三区在线| 激情久久日韩精品中文字幕麻豆| 欧州色图区| 我爱大香蕉| 天天色综亚洲91污| 国产精品无码av嫩草| 国产免费黄色一级大片| 亚洲不雅视频1区二区| 亚洲在线综合| 97人妻人人躁人人玩人人| 天天综合网合集91| 神马久久69| 国产精品久久久九九九| 欧美97日韩精品| 粉嫩久久久久| 亚洲色图第一页| 美女丝袜激情小说| 久操| 久久精品国产亚洲粉嫩| 人妻丝袜日本| 日本中文字幕不卡视频 | 800zy一区二区| 亚洲午夜免费狠狠干| 性色一线| 99re这里| 久9爱经典视频 | 亚州精品人妻一二三区| 国产超碰欧美| 亚洲无码视频免费在线观看网址!| 免费操逼91| 北约熟女超碰| 狠狠操综合| 伊人色综合超碰| 茄子社区国产精品| 抽插一区二区视频| 久久久久亚洲?V片无码V| 以及麻豆国产入口在线观看免费| 岛国1区2区3区在线观看| 少妇人妻在线| 视频在线97| 日本一区二区亚洲综合| 欧美日韩成人| 91蜜桃传媒精品久久久一区二区| 激情熟女12P| 91在线视频观看国产| 色婷婷综合网站| 蜜乳AV免费观看| 大黄片做爱的大的| 丁香九月婷婷| 亚乱色| www国产无码| 啊啊啊好疼| 国产深喉视频一区二区| 亚洲成熟国产精品美女| 国模少妇一区二区三区| 久久久久13| 一二三四视频在线社区中文字幕| 天天日夜夜爽| 亚洲视频精选| 一级黄色性爱A级片| 色九区| 99久久无色码| 人妻另类| 性久久| www.婷婷| 国产精品久久久久久久免牛肉蒲团| 青草视频人妻在线观看| 男啪女色黄无遮挡免费观看| 综合久久欧美| 大香蕉综合在线| 日本操逼视频免费| 色婷婷香蕉| 亚洲揄拍网| 色激情综合网站| 欧美一级黄色18片免费看| 色老汉色| 欧美超碰在线| 在线观看一卡二卡| 天美传媒AV在线播放| 五月婷婷爱六月丁香色| 亚洲中字慕不卡| 在线观看无码三级少妇| 天天干2019| 亚洲丨在线| 7777欧美成是人在线观看| 色婷婷香蕉| 天天超级碰碰碰| 亚洲av乱伦色图网站| 风月影院男女十八禁| 国产乱色国产精品免费视| 久久久穴999| 日韩99精品视频综合区| 91天天爱| 久久久久9| 99re在线观看| 亚洲精品色| 首页中文字幕中文字幕免费| 亚洲欧美精品国产一区二区| 久久夜夜| 人妻精品一区二区全免费| 少妇内射www在线观看视频| 哈哈操 大香蕉| 久久 久久国内精品亚洲| 67914在线精品观看| 蜜奶av| 中日韩久久久| av激情亚洲五月天| 色色97爱| nuu12国产麻豆精品| 欧美亚洲美少妇一区二区| 国产11页| 亚洲婷婷五月天| 高清国产av无码| 91精品国产日韩欧美综合| 人人操人人插人人摸人人干| 91亚洲高清| 超碰97国产欧美| 激情在线青青操| 日韩精品亚洲一二三| 蜜桃香蕉久草精品在线| 色约约一区=区三区| 啊啊啊啊在线播放| 人人澡人人澡人人| 大香蕉伊人75| 白丝AV| 人人摸人人入| 黑人精品一区二区在线播放| 国产精品久久久久无码A√| 午夜影美女日鸡鸡天天视频国产| 3D污黄视频在线观看| 精品一区二区成人动漫| 99热自拍| 久久久久久中文版| 国产情色在线| 神马午夜久久| 一个国产在线综合网站| 蜜乳性色无码专日粉嫩骚逼AV| 思思在线免费视频| 五月综合色| 高潮嗯啊性感美女久久久| 人人九九精| 97超碰超碰| 国产精品久久久久久久毛片1| 99操逼| 超碰成人人人爽人人爽| 91九色丰满高潮| 91精品国产乱码| 欧美天天综合站| 999九九精品| 亚洲色五月| 香蕉国产精品麻豆亚洲欧美日韩| 欧美78| 91社操逼| 美女被啪到深处抽搐视频| 怡红院怡春院| 亚洲福利中文字幕在线| 日产123区精品免费观看| 男人精品区| 国产成人无码高清| www.久久超碰| 国产懂色精品国产av| 风间由美日韩欧美久久| 91热热色| 天天操妹子| 久久国色天香香蕉| 国产丝袜美女诱惑| 国产偷拍自拍在线视频| 插老姨肥穴| 91丨九色丨大屁股| 少妇内射www在线观看视频| 九九亚洲| 亚州精品一区二区三区香中文字幕在线| 欧美色自拍| 亚洲无码免费看| 欧美暴力猛交| 亚洲人妻中文高清| 精品视频一区二区| 一区二区偷拍拍视频| 久一区久久蜜桃| 婷婷五月天补不补| 国产亚洲福利第一页丝袜| 九久久九精品视频| 国内偷自视频区视频综合| 东方亚洲在线操逼天堂| 国产三级电影免费观看| 亚洲色人阁| 亚洲天堂另类小说男人| 韩国成人精品久久久免费看| 麻豆色约约| 91久青| 日韩精品碰碰| 欧色网址| 91欧美丨精品丨入口| 强奸xx国产| 亚洲**2021在线观看| 色婷婷A V一二三四区麻豆综合| 国产精品色色| 国产精品无码av在线 | 大香蕉92| 2020中文字幕| 极品极品色影院| 大二网站亚洲| 男女国产精品| 亚洲综合图片在线| 密臀在线免费观看| 丁香五月天堂网| 日日碰狠狠添天天爽超| 欧美不卡五十路| 久久五月份| 色婷婷电影网| 超碰久久.com| 日韩人妻少妇中文字幕| 搡老女人911熟妇老熟女| 亚洲天天影视综合网| 黄色大片免费在线| 色婷婷激情| 殴美,日韩国产伦精品| 女优免费一区二区永久| 少妇被玩视频二三区| 色香综合天天影视综合 | 国产免费一区在线观看| 好爽要喷了| 天美精品一区二区三区四区在线观看| 欧美 亚洲 91| 91在线超高颜值国产| 狠插 制服 自拍| 亚洲第一页综合在线| 精人妻无码一区二区三区伊人直播| 亚洲日本韩国在线| 国产精品香蕉热久久新品| 国产www色在线观看| 精品一区二区人妖| 国产伦精品一区二区三区在线观| HEYZO高无码国产精品227| AAAAAAAAA黄片| 偷拍自拍在线视频观看| 97天堂| 熟女精品一区二区三区| 熟妇人妻一区二区| 人人搡人人肉久久精品| 女上位精品在线| 天天伊人| 人人摸.人人色| 日韩AV熟女乱伦| 久极品在线观看| 日韩天天本| 极品肉射| 日本色色色色色视频| 伊人婷婷五月天| 大香蕉99热| 狠狠爱夜夜| 中文字幕一区二区三区四区在线视频| 亚洲欧美综合区自拍另类| 国产亚洲综合欧美一区| 青青草大香蕉在线视频| 亚91网| 国产毛片在线| 97综合在线观看| 精品女同一区二区三区| 韩国一级AAA| 色综合中文字幕不卡| 女人天堂网| 黄片视频,下载| 丝袜狠狠草尤物人妻av91| 欧美综合综合| 秋霞蝌科网日本一区| 国产精品欧美激在线| juliaann欧美丝袜办公室| 久久精品国产亚洲AV高级北京| 97综合在线观看| 久久99国产精品| 亚洲啪啪性视频| 插日本熟女视频| 97欧美色资源| 91欧美巨乳| 99热欧美| 国产在线能看的你懂的| 看日韩黄片| 99国产在线 精品 视频| 亚洲欧美日韩精品久| 欧美淫乱视频| 99热精品在线观看| 91亚洲色人| 天堂亚洲精品久久老牛| 久久综合18p| 久久伊人最新网址视频| 97超碰色五月| 暴力av在线| 亚洲中文字幕久久人妻| 欧美日韩人妻婷婷一区| 极品出轨视频网站| 亚洲欧美另类小说| 人人爱人人操人人性| 国产成人无码网站在线视频| 国产日韩精品一区二区三区| 日本潮催一卡操| 天美国产精品| 草莓精品视频在线免费观看| 中文字幕无码不卡啪啪| 色色国产| 第四色奇米影视777| 高清孕妇孕交 交孕妇| 热九九精品| 国产日韩精品无码去免费专区国产| 在线观看A啊啊啊| 久久男女激情视频网站| 神马久久久久久久| 亚洲涩涩| 啊a一区在线| 欧美日韩性爱操大逼| 毛片久久| 欧美色图校园春色| 四虎免费看黄| 九九热免费国产视频婷婷伊人| 亚洲三区视频| 澳门黄片一香蕉视频| 97综合国产| 综合色久欲| 午夜AV污污污| 9999亚洲精品| 青青草视频导航官网| 英伦大奶子熟妇吊带| 97超碰国产精品| 国产一级αv免费看片| 色婷婷视频| av网页一区二区三区| xxxx网站亚洲精品| 家庭乱伦性爱av| 岛国色情视频在线观看| 亚洲好看强奸乱伦| 最新中文字幕精品在线| 色色色色日本| 操逼逼中文字幕| 色爱三区| 国产97色在线| 99精品热| 毛片麻豆91糖心精品毛情片| 久久久久久久久国产| 九九九九免费高| 欧美在线干| 中文字幕视频在线观看| 国产福利小视频高清在线观看| 久久精品亚洲婷婷| 久草视频观看视频在线| 精品人妻一区二区三区四区| 日韩午夜国产| 2024人人操人人摸| 国产精品毛片?v一区二区三区| 伊人96在线| 色五月网址| 亚洲诱惑| 欧美欧美少妇| 色丁香五月婷婷| 极品一区二区三区免费| 乱伦av麻豆| 久久中日麻豆| 99999亚洲| 亚洲精品97久久中文字幕| 亚洲色图第四色| 91福利网在线观看| 国产丸一视频| 裸体1区| 中文字幕jul-617人妻熟女| 91色情黑丝搞鸡在线观看一区二区三区三州| a v网站在线播放| 欧美熟爽综合| 精人妻无码一区二区三区伊人直播| 爱我干综合| 婷色五月| 日韩综合色图| 搡老女人老91妇女熟女| 青青草无码视频| 九九热免费视频| 97精品97久久| 天天躁日日躁AAAXX| 中文字幕一区二区韩| 亚洲高清综合网| av东京热男人的天堂| 欧美色棕合| 五月天婷婷在线看| 精品人妻一区二区三区视频在线| 日本色色视频网站| 校园春色之综合网| 蜜臀久久99精品| 东京热双插| 日韩久久激情精品| 最新中文字幕av| 91AV入口| 欧美精品双插| 国产无马视频| 亚州色图欧美色图| 九九热视频在线观看| 亚洲在线91| 超碰性爱97| 亚洲最新av无码成人精品区 | 丰满人妻一区二区三区| 色97欧美| 91人妻丝袜无码| 1级午夜影院费免区| 久久久91福利姬| 五月激情小说| 不卡中文字幕aⅴ在线| 丰满精品人妻少妇久久字幕| 亚洲二区精品在线观看| 好湿好紧视频| 超碰夫妻97| 日本熟女中文| 成人av性爱电影在线观看| 九九超碰综合网| 艳美熟妇先锋一二三区| 色噜噜人妻丝袜a∨先锋影| 97超碰中文| 激情图片亚洲色图| 手机看片1024你懂的国产| 国产97在线 | 亚洲| 性欧美精| 蜜桃精久三区| 天天干美少妇一区| 性开放中文AV高清无码免费看| 最新制服中文第一页| 天综合网欧美| 亚洲乱色视频一区、二区在线| 91精品国产高清久久久久久,亚洲成人 | 97爱b| 国内精品999| 欧美色五月| 日本韩欧美在线播放a| 精品999日本| 欧成人精品一区二区三区| 日本色色视频网站| 久久蜜桃综合网| dy888午夜老子影视达达兔| 免费观看欧美日韩操逼视频| 粉嫩久久久极品| 中文字幕亚韩| 日欧美色| 台湾佬大香蕉| 黄色高清无码无码破解免费暗网| 真实高潮91| 美女干逼2| 91丨国产丨白浆秘 洗澡动漫| 我爱大香蕉| 亚洲熟妇熟在线电影视频| 伊人 俄罗斯 a v| 夜夜一区二区| 99青草| 久久久久亚洲精品| 精品人妻视频一区二区在线播放| 久久久久成人蜜桃精品| 国产精品亚洲美女久久久久| 天天弄天天操| 乱伦一二三| 青草影院内射高潮| 日韩欧美国产高清视频| 麻豆三极片| 色91综合网| 亚洲欧洲偷拍一区| 国产精品另类一区大香蕉| 性感美女91影视| 天天日骚逼熟女| 亚洲操逼视频网站| 色穴精品| 蜜臀少妇一区二区| 日本成熟少妇A∨网站| 久久久免费高清中文视频| 成人在线视频一区| oumeizonghese,www| 偷拍 精品另类 凸凹了四区| www国产无码| 无码国产精品午夜不卡( | 夜夜爽77777| 午夜毛片高清免费不卡| 久肏视频字幕| www.av在线视频| 蜜桃久久综合视频| 久久久免费高清中文视频| 国产欧美精选激情视频| 欧美极品女人的天堂| 爱丝福利| 99国产精品视频尤物| 成 人 A V免费视频在线观看| 亚洲欧美97| 97资源站国产精品| 欧美操人视频| 精品78| 香蕉精品二区二区| 国产美女高潮| 操高情无码| 3571色综合一区二区二区| 四虎视频在线观看| 久久天堂网| 超碰午夜| 欧美成人一区二区三区在线播放| 亚洲黑丝在线| 在线中文AV| 久久久少妇| 色爱国产| 精品国产乱码久久久兰草影视| 超碰欧美COM| 一区二区三区黄色片a| 99只有精品| 老司机午夜福利视频一区二区| 日韩精品 欧美激情| 人妻偷拍一区二区三区| 9l视频自拍9l九色成人| 人妻酒店出差被中出免费在线播放| 超碰久草| 欧美精品xxxwww| 熟妇高潮一区二区免费视频| 夜夜嗨一区二区三区三州加勒比 | 色婷婷久久综合超碰| 中文字幕视频二区| 久久一级无码精品毛片6| 国产农村妇女精品1区二区| 99re这里只有精品2| 亚洲天堂五月天国产| 国产一区二区三区中文字幕| 天天综合网视频91| 久操com| AV老汉| 国产精品自拍视频| 1024人妻| 国产97av| 久久婷婷色| 夜夜高潮夜夜爽国产伦精品| 亚洲图片欧洲图片aⅴ| 人人超碰在线观看黄| 亚洲高清视频在线免费观看| 玖玖在线视频| 精品一区二区三区18| 午夜高清成人在线视频| 97国产精品久久久久| 大香蕉久| 亚洲麻豆18发?| 日本精品无码三级网站| 成人在线午夜视频一区| 制度丝袜99| 99只有精品| 在线观看无码三级少妇| 久久久久久91香蕉国产| 中文色综合| 中文幕97| 日本免费人成视频播放120秒| 黄色十八禁网站| 精品国产无码中文| 好舒服视频| 亚洲国产精品无码AV在线| 黑人干亚洲| 日韩黄色电影网站| 淫淫综合网| 久久人妻97久久久久久久| 69XX一中文字幕人妻91| 青青草大香蕉在线视频| 亚洲无码一二三区| 国产精品69久久久久久久| 伊人久久艹| 啊啊啊想要| 97色色国产视频| 操高情无码| 亚洲综合伊人无码久久| 国产精品女同| 370p日韩欧美亚洲精品| 天美麻豆黄色录像| 日本欧美成人片AAAA| 又粗又长又大国产不卡| 色狠人在线99| 秋霞免费AV| 男人的天堂视频精品乱在线| 黄色乱论网站| 国产高清26uuu| 男人的天堂99| 91欧美成人色站| 欧美日韩岛国大片在线观看| 97在线看| 亚洲熟女一区| 操狠狠| αⅴ天堂| 国产成人五月天丁香花| 激情文学欧美| 欧美国产日韩高清在线| 永久电影三级在线观看| 职场同事知名国产国产精品久久欧美日韩 | 自拍偷拍国产欧美日韩韩| 日本好吊色视频| 大香蕉操久久| 日韩欧美午夜视频在线| 韩国三级色呦呦| 欧洲大香蕉| 色噜噜人妻av 中文字幕| 欧美日韩国产高清在线一二三区| 后入国产| 久久久噜噜噜久久人妻| 精品国产一区二区久久| 在线性黄高清免费视频| 涩综合导航| 亚洲性天堂| 青青草无码视频| 日本一区二区三区欧美日韩中文字幕| 懂色AV蜜臀无码精品APP| 色呦呦国产精品免费看| 久久大香蕉97| 成熟熟女国产精品一区二区| 国产亚洲 中文欧美久久| 亚洲强奸乱伦影视网| 人人爱人人乐人人操| 就去色综合| 啊嗯嗯啊好大好爽| 精品国产91久久久久久一区黄无| 99久久综合网| 国产精品一区二区三区,亚洲综合| 97免费视频在线| 日韩熟女视频二区| 色天堂综合| 国产老熟女| 色五月婷婷麻豆在| 一起草精品人妻| 国产黄色 A 片免费看| 无码人妻一区二区三区色欲aⅴ| 高清无码人妻久久久一区二区三区aⅴ| 大香蕉色欲AV| 亚洲 欧美 另类 日韩 人妻一区| 香一区二区三区| 吻戏激情性巴克| 大香蕉黄色一区| 国产精品99久久久www| 色噜噜精品一区二区三| 三级特黄60分钟播放| 国产精品久久久无码aV去| 囯产精品久久久久久久久久梁医生 | 久久久男人的天堂| 欧美色天堂网在线视频| 日日骚 av| 玖玖综合色| 中文字幕在线观看AV| 99自拍B亚洲 | 粉嫩粉嫩一区性色AV片| 亚洲精品官网在线观看| 亚洲av综合色| 可以在线观看AV的网站| 黄色av片三级三级三级免费看| 国产东北女人在线视频| 淫荡熟女乱伦网| 国产午夜激片Av毛片不卡| 久久精品国产亚洲AV片多多| 亚洲图片欧洲图片aⅴ| 熟女人妻一区二区三区| 91粉嫩萝控精品福利网站_精品影音先锋国| 精品在线观看视频在线| 久久草在线综合视频| 国产女人成人精品视频| 六月婷婷激情| 97亚洲综合电影| 91色综合激情| 国产视频小说| www久久精品| 久久久555| 家庭乱伦麻豆| 中文字幕国产| 精品少妇一区二区三区在线视频| 六月激情网| 91 丝袜在线| 国产av热热色| 熟女熟妇一区二区三区视频| 国产一线二线三线av| 天天澡天天狠天天天做| 特级特黄一级毛片免费| 超碰97起碰| 亚洲国产欧美日韩精品一区二区三区,国产一区二区三区在线看片,欧美性猛交 XXX | 动漫区日韩区欧美区| 国模久久在线| 色香欲影| 国内偷自视频区视频综合| 色一色综合网| 精品无码一区二区| 亚洲熟久久| 男人的天堂99| 麻豆综合一区av| 极品色www影院| 天天操天天射青青草| 久久久久国产| 亚洲国产综合图区中文字幕| 亚洲人妻在线一区| 丰满人妻-区二区三区免费| 亚洲97P| 99re这里只有精品2| www熟女乱伦com| 国产一级αv免费看片| 国产精品91一样| 免费成人在线熟妇网| 舔足天天操天天射| 性色av蜜臀av色欲aV| 日韩素人无码一区二区三区三州| 日本天天干天天搞一区| 热热色中文无码| 日本操逼视频导航| 欧美少妇一区二区三区| 色与欲影视天天看综合网| 欧美一区二区一级岛国大片| 色五月激情综合网| 综合91网| 蜜臀无码视频在线观看| 九色婷婷| 1.igao73.com 加入收藏 免费专区 国产精品 中文字幕 日韩精品 欧美精品 精彩 | 人妻精品视频一区二区| 男人的天堂色偷偷青青草视频婷婷网| 亚洲丨在线| 亚洲色 国产 欧美 日韩| 日韩二级| 免费视频一二三区| 免费综合亚洲中文| 亚洲凸凹超碰成人| 最新av网站在线观看| 精品少妇后入一区二区三区四区人妻巨乳 | 狠狠躁AV| 欧美激情视频一区二区| 秋霞一级视频在线观看免费| 欲射影视| 亚洲啪啪视频免费| 91在线欧色| 日韩精品一区二区人人人| 亚洲成熟国产精品美女| 国产精品第二页| 综合激情二| 97人人中文网| 性夜影院爽黄A爽免费动漫| 东京热激情视频一二三区| 五月天婷婷社区| 日欧操屄视频| 色九色久| 激情久久av一区av二区av| 941超碰| 亚洲一级特黄大片在线播放91| 中文字幕乱碼在线| 欧美片第一页| 国产有码一区| 中文字幕精品探花视频| 四虎永久在线精品免费网址| 天天日夜干| 久久久久久久久久久六六| 国产99999| 青青草视频久久| 我要色综合网| 久久伊人在线五区| 日韩激情无码影院| 99www.bibizy香蕉资源国产一区二区三区高清| 午夜性刺激视频免费观看| 九九热免费国产视频婷婷伊人五月 | 国语精品对白| 亚洲黑丝在线| 2020久久免费视频| 台湾大香蕉99热| 国产成人无码啪| 茄子社区国产精品| 亚洲色啪| 亚洲影视综合| 日本丝袜美腿人妻九九| 色天使亚洲综合在线观看| 美女91色黄18| 久久九九网| 亚洲色婷婷久久久综合日本| 久久9精品视频| 中文字幕乱码人妻二区三区| 亚州中文字幕超碰97| 亚洲av影院在线观看| 狠狠色五月亚洲91| 日韩精品三区四区| 欧美一区二区三区另类精品| 天天干夜夜操一区二区| 夜色五月天| 国产一区自拍欧美日韩| 超碰在线1234区| 四虎AV在线观看| 成人av在线播放| 涩亚洲欧洲| 国产精品女同| 18禁的网站在线| 夜夜爽夜夜操| 欧美日韩亚洲五月天婷婷| 亚洲高清无码免费观看视频| 人人人干干人人干| 久久久久921| 少妇高潮99p| japan日本高清乱xxxx| 97亚洲中文| 亚州高清色综合| 夜夜操狠狠操| 欧美 日韩 亚洲 春色| 91美女精品| 超碰综合色| AV 少妇 人妻 偷拍| 亚洲熟女性高潮久久久| 欧美色性情| 91麻豆一二三区| 超碰日本97美女人妻人人玩人人爱 | 精品女人999| 国产自产一区视频在线| 无码人妻精品酒店| 亚洲欧美91√| 美女久久久久久久| 夜夜操狠狠操| 91成人在线免费视频| 密乳视频在线| 国产尤物在线三区| 亚洲人91| 91 丝袜在线| 亚洲精品99| 无码聚合| 国产日韩区| 黄色无码高清黄色无码网站| 女人天堂网| 亚洲综合69| 欧美天天综| 日本韩国一本产品小视频日本韩国一本产品久久久产品小视频日本韩国一本产品久 | 亚洲AV成人无码一区二区三区在线观看| 国产欧美在线观看免费观看| 玖玖爱视频网站| 99热大香蕉伊在线| 欧美国产一区二区三区麻豆传媒 | 日韩人人精品| 亚洲欧美精品久| 午夜性| 天天日老熟妇| 激情五月天色播| 日欧操屄视频| 国产又大又硬又长又粗| 久久亚洲AV无码专区国产精品| 亚洲中文字幕日产无码久久| 97精品一区| 青青三级视频| 色九九九综合| 99综合自拍| 嗯嗯嗯啊啊啊操的我好爽| 麻豆2区1区天美| 98一区二区精品| 这里有精品| 99热综合| 五月天婷婷综合网| 久久久婷| 一区二区三区精品黑丝白丝酒店对鸡| 久草大| 99视频自拍| 五月婷婷深深爱| 日本超碰在线国产一区| 大香蕉97久久| 99热超碰| 欧美 日韩 国产传媒| 欧美曰韩国产精品| 丝袜视频一区二区在线播放国产中文| 色91综合网| 一本大道综合伊人精品热热| 久久色一区二区| 国产免费一区| 熟女熟妇一区二区三区视频| 深爱伊人影院|