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

ARTICLE DETAIL

資訊詳情

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

微信小程序+Java后端鮮花銷售畢設(shè)開發(fā)全攻略

微信小程序+Java后端鮮花銷售畢設(shè)開發(fā)全攻略 簡介一份基于微信小程序與Java后端SSMMySQL的鮮花銷售畢業(yè)設(shè)計(jì)完整工程包面向計(jì)算機(jī)相關(guān)專業(yè)畢業(yè)生、課程設(shè)計(jì)及小程序?qū)崙?zhàn)學(xué)習(xí)者覆蓋管理員、用戶、商家三個(gè)角色實(shí)現(xiàn)了首頁、鮮花信息與分類管理、訂單及系統(tǒng)管理等核心業(yè)務(wù)模塊。整個(gè)壓縮包共1341個(gè)文件約12.51MB以png圖片、Java源碼、Vue頁面、JavaScript邏輯、wxml/wxss小程序頁面及SQL腳本為主同時(shí)包含bat啟動(dòng)腳本與說明文檔便于直接部署和二次開發(fā)。資源提供完整源碼和數(shù)據(jù)庫其中附帶數(shù)據(jù)庫腳本、構(gòu)建運(yùn)行批處理及詳細(xì)說明可幫助讀者理解SSM框架在小程序后臺(tái)中的應(yīng)用也能快速跑通前后端聯(lián)調(diào)。目前已有235人學(xué)習(xí)下載適合需要完整畢業(yè)設(shè)計(jì)案例和項(xiàng)目實(shí)戰(zhàn)經(jīng)驗(yàn)的人群參考。1. 畢業(yè)設(shè)計(jì)選它不只是為了“能答辯”這一句又到一年畢設(shè)季很多人在選題頁面反復(fù)橫跳。如果你手頭拿到的題目是“基于微信小程序java后端的鮮花銷售”先別急著把它歸為“又一套商城系統(tǒng)”。這個(gè)項(xiàng)目真正跑通之后你會(huì)發(fā)現(xiàn)它把前后端分離、微信登錄、訂單流程、數(shù)據(jù)庫表設(shè)計(jì)這些面試常問的東西全串起來了。對(duì)Java基礎(chǔ)還不算扎實(shí)、又想快速擁有一套能演示、能講清楚的項(xiàng)目的人來說它是性價(jià)比很高的一個(gè)。下面按我實(shí)際跑通的路徑來講項(xiàng)目拆解、本地啟動(dòng)、前后端對(duì)接、常見坑以及怎么把它改成你自己的畢設(shè)。2. 先把項(xiàng)目拆開看后端、小程序與數(shù)據(jù)庫各管什么拿到壓縮包解壓后不要急著雙擊 README先按“數(shù)據(jù)庫腳本、后端工程、小程序前端”三個(gè)目錄去認(rèn)識(shí)它。這類畢設(shè)工程的典型結(jié)構(gòu)是一個(gè) Spring Boot 后端提供 RESTful 接口一個(gè)原生微信小程序作為前端一個(gè) MySQL 腳本負(fù)責(zé)初始化數(shù)據(jù)。三者通過 HTTP 接口關(guān)聯(lián)數(shù)據(jù)表通過外鍵和業(yè)務(wù)邏輯維系。下面把每一塊說清楚免得你后面改的時(shí)候不知道動(dòng)哪里。2.1 管理員端功能清單商品、分類、訂單、輪播是標(biāo)配后端管理接口對(duì)應(yīng)的是一個(gè)管理后臺(tái)。雖然這個(gè)壓縮包不一定自帶 Vue 后臺(tái)頁面但接口層是完整的。常見做法是后端提供一組/admin/**接口管理員登錄后可以對(duì)商品做增刪改查、上下架管理商品分類處理訂單狀態(tài)待發(fā)貨、發(fā)貨、完成還能配置首頁輪播圖。我拿到的這份工程里管理員登錄走的是admin表密碼用 MD5 加密存儲(chǔ)初始賬號(hào)在 SQL 腳本里就能看到。商品這塊一般包含名稱、主圖、輪播圖列表、詳情富文本或圖片、分類ID、價(jià)格、庫存、銷量。這些字段在商品表flower或product里都能對(duì)上。訂單表則記錄用戶 ID、收貨地址、總金額、狀態(tài)、下單時(shí)間子表order_item存每個(gè)商品的數(shù)量和單價(jià)。主表負(fù)責(zé)匯總子表負(fù)責(zé)明細(xì)是標(biāo)準(zhǔn)的一對(duì)多設(shè)計(jì)。分類表通常很簡單id、名稱、圖片、排序號(hào)。輪播圖表也是 id、圖片、跳轉(zhuǎn)鏈接。所以如果你調(diào)研需求會(huì)發(fā)現(xiàn)“鮮花銷售”本質(zhì)上就是一個(gè)通用商城把商品名詞換掉就能套用到其他垂直品類。這也是為什么這類項(xiàng)目容易被改造成蛋糕店、零食店、二手交易。答辯時(shí)你把這一層講清楚老師就知道你不是只會(huì)照抄。2.2 用戶端小程序登錄、瀏覽、加購、下單一條線用戶端是原生微信小程序頁面大概包括首頁輪播分類入口商品列表、分類頁、商品詳情頁、購物車頁、確認(rèn)訂單頁、訂單列表頁、個(gè)人中心頁。邏輯上是一條完整鏈路用戶打開首頁看商品點(diǎn)進(jìn)詳情加入購物車結(jié)算下單模擬支付然后在訂單列表看到狀態(tài)變化。這一步覆蓋了小程序開發(fā)里最核心的頁面?zhèn)鲄ⅰ⒈镜鼐彺妗⒄?qǐng)求封裝和組件復(fù)用。登錄部分小程序端用wx.login拿code傳給后端后端替小程序向微信服務(wù)器換openid然后生成自定義 token 返回給前端。有些版本還會(huì)調(diào)getPhoneNumber組件獲取手機(jī)號(hào)但注意這個(gè)接口需要小程序認(rèn)證為企業(yè)主體個(gè)人主體沒法用這點(diǎn)在避坑章節(jié)再強(qiáng)調(diào)。購物車數(shù)據(jù)通常存在后端表里cart表也有簡化版存在本地wx.setStorageSync里。這份工程既然帶了數(shù)據(jù)庫多半走的是后端購物車。這樣訂單表直接引用購物車數(shù)據(jù)生成邏輯閉環(huán)更完整。如果你拿到的版本是本地購物車也無妨但要注意換設(shè)備后購物車會(huì)丟答辯時(shí)可以提一句這是簡化方案。2.3 數(shù)據(jù)庫設(shè)計(jì)概覽五張核心表怎么關(guān)聯(lián)打開 SQL 腳本重點(diǎn)看這幾張表表名核心字段作用adminid, username, password管理員登錄userid, openid, nickname, avatar, phone用戶信息categoryid, name, sort商品分類flowerid, category_id, name, price, stock, image, detail商品主體cartid, user_id, flower_id, quantity, checked購物車orderid, order_no, user_id, total_amount, status, address_id訂單主表order_itemid, order_id, flower_id, quantity, price訂單明細(xì)bannerid, image, link首頁輪播關(guān)系很好懂user與order是一對(duì)多order與order_item是一對(duì)多flower與category是多對(duì)一。購物車?yán)镆粭l記錄對(duì)應(yīng)一個(gè)用戶和一個(gè)商品。這種設(shè)計(jì)是教科書級(jí)別的范式不花哨但適合答辯——老師問外鍵、索引、三范式你都能指著表回答。這里有一個(gè)細(xì)節(jié)訂單金額在order表里冗余了一份而不是每次都去order_item里 sum。這在商城系統(tǒng)里是常見做法因?yàn)橛唵紊珊笊唐穬r(jià)格可能變動(dòng)必須把下單那一刻的金額快照保存下來。面試如果被問到“商品改價(jià)了老訂單怎么算”答案就在這里。另外商品表flower我一般建議多一個(gè)status字段0 下架 1 上架和sales字段銷量這兩列在畢設(shè)演示中非常有用。下架商品在前端列表不展示銷量可以在商品詳情頁展示。SQL 腳本里如果缺少自己ALTER TABLE補(bǔ)上即可不影響原邏輯。數(shù)據(jù)庫字符集一般設(shè)置成utf8mb4否則表情符號(hào)存不進(jìn)去。商品名稱、用戶昵稱里可能出現(xiàn) emoji用utf8會(huì)報(bào)錯(cuò)或變問號(hào)。稍后避坑章節(jié)再展開。3. 從本地跑起來JDK、MySQL與微信開發(fā)者工具的三步順序很多人拿到源碼第一步就卡在環(huán)境上。這個(gè)項(xiàng)目我建議按“后端→數(shù)據(jù)庫→小程序”的順序依次啟動(dòng)每一步驗(yàn)證通過再進(jìn)下一步不要在沒跑通后端的情況下就去點(diǎn)小程序不然接口報(bào)錯(cuò)你會(huì)分不清是前端問題還是后端問題。3.1 Spring Boot 后端啟動(dòng)前的環(huán)境準(zhǔn)備這類項(xiàng)目的后端技術(shù)棧基本是 Spring Boot 2.x MyBatis / MyBatis-Plus Maven。打開pom.xml確認(rèn)依賴版本。建議用 JDK 1.8Spring Boot 2.x 搭配很穩(wěn)如果裝了 JDK 17有些舊依賴會(huì)因javax命名空間問題加載失敗。我一般會(huì)在 IDEA 里把 Project Structure 里的 SDK 切到 1.8Maven Runner 里的 JRE 也選 1.8避免編譯期報(bào)錯(cuò)。啟動(dòng)前要在 IDEA 里做兩件事一是確認(rèn) Maven 已經(jīng)配了阿里云鏡像否則下載依賴能磨掉你半小時(shí)耐心二是打開application.yml看一眼端口和數(shù)據(jù)源配置。server: port: 8080 spring: datasource: url: jdbc:mysql://localhost:3306/flower_shop?useUnicodetruecharacterEncodingutf8serverTimezoneAsia/Shanghai username: root password: 你的數(shù)據(jù)庫密碼 driver-class-name: com.mysql.cj.jdbc.Driver這里的serverTimezoneAsia/Shanghai很關(guān)鍵MySQL 8 以上不寫它連接時(shí)大概率報(bào)時(shí)區(qū)錯(cuò)誤。characterEncodingutf8則保證中文正常寫入。如果你的 MySQL 是 5.7驅(qū)動(dòng)用com.mysql.jdbc.Driver也行但新版工程一般都用cj驅(qū)動(dòng)。參數(shù)說明useUnicodetrue讓驅(qū)動(dòng)按 Unicode 傳輸字符配合characterEncodingutf8才能保證中文不亂碼。MySQL 8 建議用utf8mb4但驅(qū)動(dòng)對(duì)utf8兼容。啟動(dòng)方式有兩種IDEA 里直接運(yùn)行Application.java的 main 方法或命令行mvn spring-boot:run。控制臺(tái)出現(xiàn)Started Application in x.xxx seconds且沒有紅色異常就說明后端起來了。此時(shí)瀏覽器訪問http://localhost:8080/api/xxx具體路徑看 Controller 注解能看到 JSON說明接口正常。3.2 導(dǎo)入數(shù)據(jù)庫腳本并核對(duì)賬號(hào)配置數(shù)據(jù)庫腳本一般在工程根的sql目錄下文件名類似flower_shop.sql。用 Navicat 或命令行導(dǎo)入。命令行導(dǎo)入命令mysql -uroot -p flower_shop.sql導(dǎo)入后執(zhí)行show tables;你應(yīng)該能看到 8 張左右的表。如果一張表都沒看到檢查 SQL 腳本里是否帶了CREATE DATABASE flower_shop而當(dāng)前登錄用戶沒有建庫權(quán)限。常見做法是腳本里有建庫語句導(dǎo)入后要切換庫use flower_shop;。這里有一個(gè)容易忽略的點(diǎn)腳本里的管理員初始密碼是加密后的 MD5 值除非你知道原始密碼否則不要直接改admin表的 password 字段。登錄不了后臺(tái)時(shí)最穩(wěn)妥的辦法是找代碼里的MD5Util或DigestUtils手動(dòng)把新密碼加密后 update 進(jìn)表。我見過太多人直接把這個(gè)字段改成明文然后卡在“密碼錯(cuò)誤”上花半天找原因。另外檢查application.yml里的數(shù)據(jù)庫名、用戶名、密碼是否與本地一致。數(shù)據(jù)庫名一般是flower_shop如果腳本里建庫名不一樣要么改 yml要么改腳本二選一不要兩處都留著不同。你可以用DESC user;看下表結(jié)構(gòu)驗(yàn)證腳本是否完整。如果表里已經(jīng)帶了測試數(shù)據(jù)啟動(dòng)后首頁就會(huì)有商品省得自己造數(shù)。3.3 小程序端導(dǎo)入微信開發(fā)者工具后端和數(shù)據(jù)庫都就緒后打開微信開發(fā)者工具選擇“導(dǎo)入項(xiàng)目”目錄指向小程序端文件夾通常叫miniprogram或frontend。這里需要兩個(gè)關(guān)鍵配置一是你自己的測試 AppID如果沒有用測試號(hào)也可以但登錄相關(guān)功能受限二是本地開發(fā)時(shí)在“詳情→本地設(shè)置”里勾選“不校驗(yàn)合法域名、web-view業(yè)務(wù)域名、TLS 版本以及 HTTPS 證書”。小程序端的請(qǐng)求地址一般在utils/config.js或app.js里常見寫法const BASE_URL http://127.0.0.1:8080/api; module.exports { BASE_URL }注意微信開發(fā)者工具里請(qǐng)求localhost有時(shí)會(huì)因 IPv6 解析慢建議直接用127.0.0.1。如果你后端起在別的機(jī)器或云上這里就要改成服務(wù)器 IP 或域名并配好微信后臺(tái)的 request 合法域名。本地開發(fā)勾選不校驗(yàn)域名就行但真機(jī)預(yù)覽時(shí)手機(jī)無法訪問你電腦的localhost需要把后端部署到可訪問的服務(wù)器或者用內(nèi)網(wǎng)穿透工具這里不展開。導(dǎo)入后編譯如果看到首頁輪播圖和商品列表都出來了說明前后端已經(jīng)打通。如果商品列表空白打開調(diào)試器看 Console 報(bào)錯(cuò)最常見的是請(qǐng)求 404 或請(qǐng)求被攔截。還有一個(gè)適配問題如果頁面頂部出現(xiàn)重影或按鈕和膠囊重疊是因?yàn)樽远x導(dǎo)航欄沒有適配狀態(tài)欄高度。通常用wx.getSystemInfoSync()獲取statusBarHeight再用wx.getMenuButtonBoundingClientRect()拿到膠囊的位置動(dòng)態(tài)計(jì)算導(dǎo)航欄高度才能保證在劉海屏和普通屏上都不錯(cuò)位。4. 小程序與Java后端聯(lián)調(diào)登錄換取openid與Token鑒權(quán)這一章是畢設(shè)答辯的重頭戲。老師問“怎么知道你登錄了”“接口安全怎么做的”你只要能說清楚登錄時(shí)序和 token 校驗(yàn)基本就能過關(guān)。下面按實(shí)際代碼路徑講。4.1 wx.login 拿到 code后端換 openid 的流程小程序端點(diǎn)擊微信登錄時(shí)調(diào)用wx.login獲取一個(gè)臨時(shí)憑證code這個(gè) code 只能使用一次有效期五分鐘。把 code 通過接口 POST 給后端后端拿著 code 去微信接口jscode2session換取openid和session_key。openid 是用戶在微信體系下的唯一 ID用它去user表里查查不到就注冊(cè)新用戶。后端代碼如下偽代碼邏輯具體類名以源碼為準(zhǔn)PostMapping(/auth/login) public Result login(RequestBody LoginRequest req) { // 1. 用小程序的 appid 和 secret以及前端傳的 code請(qǐng)求微信接口 String url https://api.weixin.qq.com/sns/jscode2session?appid APPID secret SECRET js_code req.getCode() grant_typeauthorization_code; String response HttpUtil.get(url); // 2. 解析返回的 openid JSONObject obj JSON.parseObject(response); String openid obj.getString(openid); // 3. 查表沒有則注冊(cè) User user userMapper.selectByOpenid(openid); if (user null) { user new User(); user.setOpenid(openid); userMapper.insert(user); } // 4. 生成自己的登錄態(tài) token String token UUID.randomUUID().toString().replace(-, ); redis.set(token_ token, String.valueOf(user.getId()), 7 * 24 * 3600); return Result.success(token); }邏輯說明后端不信任前端傳來的任何身份信息只用code向微信服務(wù)器兌換身份這是安全邊界的第一條。grant_typeauthorization_code是固定值表示 OAuth2 授權(quán)碼模式。如果你沒有 Redis也可以用session或直接返回token并存在內(nèi)存 Map 里但項(xiàng)目重啟就失效畢設(shè)夠用答辯時(shí)記得說明缺點(diǎn)。參數(shù)說明APPID和SECRET在小程序后臺(tái)的“開發(fā)→開發(fā)管理→開發(fā)設(shè)置”里獲取。注意 SECRET 不要硬編碼在 Web 端也不要在小程序代碼里出現(xiàn)否則任何人都能拿去調(diào)用接口。我見過源碼里把這兩個(gè)值寫在util.js里的這種做法答辯時(shí)會(huì)被扣分至少把它挪到后端配置里。小程序端對(duì)應(yīng)代碼wx.login({ success: async (res) { const code res.code; const loginRes await request({ url: /auth/login, method: POST, data: { code: code } }); wx.setStorageSync(token, loginRes.data.token); } })這里把token存到本地緩存后續(xù)每個(gè)請(qǐng)求在 header 里帶上Authorization: token后端攔截器統(tǒng)一校驗(yàn)。4.2 前后端分離項(xiàng)目的接口路徑與參數(shù)約定后端 Controller 一般會(huì)分成兩類用戶端/api/**和管理端/admin/**。用戶端接口例如GET /api/banner、GET /api/flower/list?categoryId1、POST /api/cart/add、POST /api/order/submit。管理端需要管理員身份通常會(huì)有一個(gè)/admin/login登錄后返回管理員 token后續(xù)管理操作攜帶該 token。統(tǒng)一返回格式非常重要推薦約定成{ code: 0, message: success, data: { } }code0表示成功非 0 為業(yè)務(wù)異常。前端在request封裝里統(tǒng)一攔截function request(options) { return new Promise((resolve, reject) { wx.request({ url: BASE_URL options.url, method: options.method || GET, data: options.data || {}, header: { Content-Type: application/json, Authorization: wx.getStorageSync(token) || }, success: (res) { if (res.data.code 0) { resolve(res.data); } else { wx.showToast({ title: res.data.message, icon: none }); reject(res.data); } }, fail: (err) reject(err) }) }) }這段封裝的價(jià)值在于所有頁面不用關(guān)心 token 怎么傳統(tǒng)一在 header 里帶所有后端返回的錯(cuò)誤在success回調(diào)里統(tǒng)一彈 toast。頁面代碼只管調(diào)用request不需要散落一堆try/catch。參數(shù)說明BASE_URL不要寫在每個(gè)頁面里url以/開頭拼接。如果你遇到“接口通了但登錄不了”優(yōu)先檢查 header 里的 token 名是否和后端攔截器取的 header 名一致。4.3 常見做法用 Token 還是 Session 做認(rèn)證微信小程序沒有 Cookie 概念所以傳統(tǒng) Session 方式要么手動(dòng)把JSESSIONID存起來再傳要么干脆用 Token。Token 方案在前后端分離項(xiàng)目里是主流畢設(shè)中用起來也簡單登錄成功后返回一個(gè)隨機(jī)字符串后端用一個(gè) Map 或 Redis 存這個(gè) token 對(duì)應(yīng)的用戶 ID下一次請(qǐng)求帶著 token后端查 Map 就知道是誰。Component public class AuthInterceptor implements HandlerInterceptor { Override public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception { String token request.getHeader(Authorization); if (token null || token.isEmpty()) { response.setStatus(401); return false; } String userId tokenStore.get(token); if (userId null) { response.setStatus(401); return false; } request.setAttribute(userId, userId); return true; } }這個(gè)攔截器要注冊(cè)到 WebMvcConfigurer 里并排除登錄接口和商品瀏覽接口否則游客沒有 token連商品列表都看不了。參數(shù)說明tokenStore是一個(gè)MapString, String生產(chǎn)環(huán)境應(yīng)該換成 Redis 并設(shè)置過期時(shí)間。答辯時(shí)老師如果問“你的 token 永遠(yuǎn)不會(huì)過期嗎”你回答“目前用內(nèi)存存儲(chǔ)重啟失效生產(chǎn)環(huán)境會(huì)替換為 Redis 并設(shè)置 7 天過期”就是一次不錯(cuò)的追問應(yīng)對(duì)。管理端接口建議單獨(dú)寫一個(gè)AdminAuthInterceptor不能和用戶端共用同一個(gè) token 存儲(chǔ)。管理員的 token 要有獨(dú)立的過期機(jī)制否則普通用戶偽造 token 就能調(diào)用后臺(tái)接口。5. 避坑與常見問題五個(gè)最讓人翻車的點(diǎn)這一章是我跑這類畢設(shè)項(xiàng)目時(shí)的血淚經(jīng)驗(yàn)匯總每一條都是真實(shí)發(fā)生過的。按“現(xiàn)象→原因→解決”的順序?qū)懩阏罩挪槟苁“胩鞎r(shí)間。5.1 現(xiàn)象微信開發(fā)者工具請(qǐng)求后端接口報(bào)“不在以下合法域名列表中”原因微信小程序出于安全考慮要求所有wx.request的域名必須是 HTTPS 且在后臺(tái)配置過。本地開發(fā)時(shí)后端是http://127.0.0.1:8080肯定不滿足。解決開發(fā)階段在微信開發(fā)者工具右上角“詳情→本地設(shè)置”勾選“不校驗(yàn)合法域名”。真機(jī)預(yù)覽時(shí)沒有這個(gè)選項(xiàng)要么把后端部署到帶 HTTPS 的服務(wù)器并配置域名要么用內(nèi)網(wǎng)穿透。注意勾選后要重新編譯。如果依然報(bào)錯(cuò)檢查BASE_URL里是否帶了/api后又拼接了/api形成/api/api雙前綴。這種玄學(xué)問題最費(fèi)時(shí)間建議先打印實(shí)際請(qǐng)求的完整 URL。5.2 現(xiàn)象數(shù)據(jù)庫導(dǎo)入后中文亂碼商品名稱變成“???”原因?qū)?SQL 腳本時(shí)客戶端連接字符集不是 UTF-8或者腳本本身的編碼是 GBK。最典型的是用命令行導(dǎo)入時(shí)沒加--default-character-setutf8mb4。解決重新導(dǎo)入并顯式指定字符集mysql -uroot -p --default-character-setutf8mb4 flower_shop.sql如果已經(jīng)導(dǎo)入了可以改表字符集ALTER TABLE flower CONVERT TO CHARACTER SET utf8mb4;同時(shí)檢查application.yml里的連接串是否有characterEncodingutf8并確認(rèn) MySQL 的my.cnf里[client]和[mysqld]都設(shè)置了default-character-setutf8mb4。改完重啟后端重新查一遍數(shù)據(jù)才有意義。這里多說一句你看到源碼里中文正常不代表你本地復(fù)制過來也正常編碼問題要最先查。5.3 現(xiàn)象商品圖片上傳后小程序端顯示不出來原因圖片路徑存的是絕對(duì)路徑比如D:\upload\1.jpg或者存的是沒有帶域名的相對(duì)路徑但后端配置了虛擬路徑映射。前端拿到\upload\1.jpg拼上BASE_URL后變成http://127.0.0.1:8080/api/upload/1.jpg而后端靜態(tài)資源映射路徑是/upload/**映射到磁盤目錄接口前綴/api把路徑吃掉了。解決第一后端存圖片時(shí)只存相對(duì)路徑/upload/xxx.jpg不要存絕對(duì)路徑。第二靜態(tài)資源映射配置要確認(rèn)攔截路徑。Spring Boot 中常見做法Configuration public class WebConfig implements WebMvcConfigurer { Override public void addResourceHandlers(ResourceHandlerRegistry registry) { registry.addResourceHandler(/upload/**) .addResourceLocations(file:D:/upload/); } }這里的file:D:/upload/是圖片在服務(wù)器本地的物理路徑注意結(jié)尾要有/。如果你把圖片放在項(xiàng)目目錄下推薦用file:./upload/這種相對(duì)寫法避免部署到別的機(jī)器還要改路徑。前端拼圖片地址時(shí)我一般會(huì)讓后端直接返回完整 URL也就是在序列化商品對(duì)象時(shí)把image字段加工成http://ip:8080/upload/...。源碼里如果沒這么做前端拼的時(shí)候要小心雙斜杠問題。5.4 現(xiàn)象并發(fā)下單時(shí)庫存變成負(fù)數(shù)訂單和庫存對(duì)不上原因下單邏輯是“查詢庫存→判斷充足→UPDATE庫存→插入訂單”中間沒有事務(wù)和鎖。兩個(gè)人同時(shí)買同一款鮮花都讀到庫存 5各自減 1UPDATE 最終是 4但實(shí)際上應(yīng)該賣出 2 單。更糟的是如果訂單插入失敗庫存已經(jīng)減了但訂單沒生成數(shù)據(jù)不一致。解決在 Service 方法上加Transactional并且用樂觀鎖或悲觀鎖控制庫存更新。最簡單的做法是 UPDATE 語句里加上庫存條件UPDATE flower SET stock stock - 1 WHERE id ? AND stock 0如果影響行數(shù)為 0說明庫存不足直接拋業(yè)務(wù)異?;貪L訂單。同時(shí)Transactional保證扣庫存和插訂單在同一個(gè)事務(wù)里任何一步失敗都回滾。代碼示意Transactional(rollbackFor Exception.class) public Order submitOrder(SubmitRequest req) { // 1. 扣庫存受影響行數(shù)為0則拋異常 int rows flowerMapper.deductStock(req.getFlowerId(), req.getQuantity()); if (rows 0) { throw new BusinessException(庫存不足); } // 2. 創(chuàng)建訂單主表和明細(xì)表 // 3. 返回訂單對(duì)象 }參數(shù)說明rollbackFor Exception.class很關(guān)鍵只寫Transactional默認(rèn)只回滾 RuntimeExceptionchecked exception比如IOException會(huì)導(dǎo)致庫存扣了但訂單沒建這就是經(jīng)典的血淚坑。5.5 現(xiàn)象個(gè)人版小程序獲取手機(jī)號(hào)按鈕功能點(diǎn)擊無效原因button open-typegetPhoneNumber這個(gè)能力需要小程序主體是企業(yè)或個(gè)體工商戶個(gè)人主體的小程序無法調(diào)用點(diǎn)擊按鈕會(huì)收到getPhoneNumber:fail no permission或類似錯(cuò)誤。很多簡歷上寫了“獲取用戶手機(jī)號(hào)”但用個(gè)人 AppID 演示時(shí)直接翻車。解決如果只是做畢設(shè)演示建議把手機(jī)號(hào)獲取改成可編輯的輸入框讓用戶手動(dòng)填接口里校驗(yàn) 11 位格式?;蛘呱暾?qǐng)一個(gè)企業(yè)主體小程序?qū)W生可借用實(shí)驗(yàn)室、導(dǎo)師公司的資質(zhì)才能完整走通。答辯時(shí)把這一點(diǎn)提前說明個(gè)人開發(fā)者無法使用該接口所以才退化為手動(dòng)輸入這是合規(guī)做法不是偷懶。如果源碼里已經(jīng)使用了getPhoneNumber你拿到后不要硬調(diào)先把該功能隱藏避免現(xiàn)場爆紅。6. 改造成你自己的畢設(shè)換主題、加狀態(tài)機(jī)與交付習(xí)慣前面幾章解決了“跑起來”和“避坑”最后一章講怎么把它變成“你的項(xiàng)目”。畢竟答辯時(shí)老師會(huì)問你做了什么如果你回答“把鮮花換成了蛋糕”那至少說明你理解了項(xiàng)目的可維護(hù)性。6.1 替換商品分類、圖片與文案的最快路徑打開數(shù)據(jù)庫category表里把“鮮花”“綠植”改成你的主題分類比如“蛋糕”“甜品”“烘焙工具”。flower表里的商品名稱、圖片 URL、價(jià)格、庫存都改成你自己的數(shù)據(jù)。圖片資源直接替換upload目錄下的文件保持原文件名映射最省事。小程序端的頁面文案在pages目錄下的.wxml文件里搜索“鮮花”關(guān)鍵字全局替換。改完這幾處項(xiàng)目主題就變了前后端邏輯一行不用動(dòng)。建議做一張“替換清單”表格把需要改的位置列出來相當(dāng)于一份自定義文檔。答辯時(shí)拿出這個(gè)比只會(huì)說“我改了圖片”要有說服力得多。6.2 給畢設(shè)答辯加分的驗(yàn)證點(diǎn)訂單狀態(tài)機(jī)原項(xiàng)目訂單狀態(tài)可能只是簡單的下拉框選擇。你可以把它升級(jí)成狀態(tài)機(jī)待付款→待發(fā)貨→已發(fā)貨→已完成以及取消、退款兩個(gè)分支。后端用一張狀態(tài)枚舉表維護(hù)前端根據(jù)狀態(tài)顯示按鈕。實(shí)現(xiàn)并不難但在代碼里體現(xiàn)“狀態(tài)流轉(zhuǎn)”的概念能讓評(píng)委覺得你有工程意識(shí)。public enum OrderStatusEnum { WAIT_PAY(0, 待付款), WAIT_SHIP(1, 待發(fā)貨), SHIPPED(2, 已發(fā)貨), FINISHED(3, 已完成), CANCELLED(4, 已取消); // 構(gòu)造方法、getter... }在order表增加一個(gè)字段或者直接復(fù)用原 status 字段把 update 操作封裝成changeStatus(orderId, fromStatus, toStatus)如果當(dāng)前狀態(tài)不是fromStatus就拋異常。用這套邏輯把之前簡單 update 的代碼替換掉項(xiàng)目深度至少提升一個(gè)檔次。6.3 動(dòng)手前先備份改完每個(gè)點(diǎn)都要回歸最后說一個(gè)我自己的習(xí)慣。每次拿到新的畢設(shè)源碼第一件事不是雙擊運(yùn)行而是先看數(shù)據(jù)庫腳本和配置文件再啟動(dòng)項(xiàng)目。任何一次改動(dòng)之前我都會(huì)先備份一份原始代碼哪怕只是改一個(gè)字段名。從那以后我每次跑這類項(xiàng)目都會(huì)把“后端啟動(dòng)→小程序編譯→下單流程”強(qiáng)制走一遍確認(rèn)沒有回歸問題再繼續(xù)下一步。希望幫到你。本文還有配套的精品資源點(diǎn)擊獲取
返回列表
PREV
查看更多資訊
NEXT
返回資訊列表
亚洲 日韩 欧美 国产综合体| 国产高潮AA片免费看| 精品一二三区女同| 亚洲综合在线视频| 国产最火爆久久国产网站网站| 91色欧美| 丝袜狂射91| 1024久久高清视频| 婷婷五月天av| 亚洲最大黄网| 五月婷婷激情综合| 操逼网免费无码视频| 精品欧美А∨无码黑人大荫蒂 | 96一区二区三区| 97国产天堂岛| 2017天天透天天通天天擦| www.狠狠| 国产精品老师| 国语精品内射在线观看| 欧美性爱免费短视频| 中文字幕在线免费观看| 日韩青久久| 男人网站婷婷| 欧美色一二三| 热久日综合| 德国一二三不卡| 亚洲国产精品久久久久婷婷青年| 久久精品亚洲婷婷| 久久嫩草国产成人一区| 97精品一二区| 国产人伦精品一区二区三区 | 98精品国产乱码久久久久久| 亚洲色91C| 成人精品欧洲亚洲| 日本媚薬中文字幕在线| 人人妻人人爱人人玩| 欧美日韩人妻精品系列一区二区三区| 少妇色欲综合网2| 国产中文字幕在线观看| 99精品九九九九九九| 人妻少妇久久中文| 伊人骚琪琪亚洲天堂网站| 蜜臀中文无码午夜| 欧美亚州综合网图片| 91 国产丝袜在线播放-百度| 超碰97综合网| 放黄片放3级黄片没穿衣服| 九九九九九九九九九国产精品 | 一起草日韩| 日韩黄片视频试看| 久久久精品无码亚免费| 日韩美女久久一区二区三区| 桑老女人九区| 又大又大又大又粗爽高潮观看 | 无码聚合| 人人污日韩一区二区| 乱理日韩中文| 美女骚尻视频| 97天天综合| AV乱伦国产| 人人看人人爰人人操 | 99精品综合久久久久五月天| 射久久| 91亚洲高清| 欧美爱三级日韩久久| 亚洲人妻在线一区| 狠狠色丁香| 午夜精品久久久久| 精品国产乱码久久久影院| 97在线免费视频观看| 操逼视频国产无套| 欧美日韩国内不卡| 青女在线| 啊啊啊爽爽| 国产成年免费大片黄在线观看| 欧美综合区| 99操| 国产综合日韩伦理| 人人妻人人操人人乐| 东北女人的毛片| 国产精品久久久午夜夜伦鲁鲁| 欧美色图片| 脫衣舞一区二区三区| 嗯嗯啊操我| 五月天亚洲网| 五十路三级片| 亚洲欧美天| 国产视频一区二区三区在线免费观看 | 超碰97人人cao| 亚洲无码AV九九九| 1240青青草一区二区三区视频天爱| 熟女五十路一区二区三| 国产91丝袜 在线播放| 国产大片精久久久久久| 免费看欧美美女黄色大片 | 黄久在线| 暖暖精品二区三区观看| 日本人人操人人操| 日韩性爱免费观看视频| 久久9免费视频| 中文字幕人妻丝袜| 91干熟女| 污污汅18禁网站在线永久免费观看| 精彩久久中文| 精产国品一区二三产品| 蜜臀av一区二区三区免费观看| 岛国福利在线精品播放| 国产97在线视频| 久久 久久国内精品亚洲| 久久一区,青青青青草视频在线播放| 最新亚洲人成网站在线影院| 综合另类| 97伦综合| 97在线公开视频| 日日夜夜噜| 国产九月婷婷| 97色婷| 国产真实野战在线视频| 日本狂喷奶水在线播放212| 国产精品自拍xxxx| 三四中文字幕| 精品一区二区国产日韩| 操比国产| 亚洲中文人妻色| 亚洲一二三四区在线免费看视频| 天天爱天天操| 国产强奸超碰AV| 一区=区三区视频| 射丝袜大香蕉| 色色色日本| 天天干天天插| 久久九九精品一区二区| 2019精品国产无码成人| 中文字幕二区日韩天堂| 久久久久久无码人妻中文字幕| 97免费在线观看视频| 欧洲一级性爱视频在线观看| 国产suv精品一区二区四| 超碰色美女| 九月丁香综合网| 中文字幕av一区二区三区人妻少妇 | 在线洲亚线| 欧美AB在线| 中文字幕在线高清男人的天堂| 亚洲激情 欧美色图| 91中文字幕| 久久久久久亚洲精品不卡人乳| 亚洲交换| 极品色www影院| 97在线资源| 日人妻视频91| 青青操日韩| 综合色99| 精品999999| 色狠人在线99| 国产女人和拘做爰视频| 少妇专区一二三四五| 日韩亚洲中文字幕在线| 丝袜狠狠草尤物 91| 乱伦av.com| 久久香蕉国产线看观看亚洲女人 | 99色在线| 青青青艹在线视频| 很黄很污的免费网站| 国产AV色黄看到爽| 亚洲精品乱码线路中文字幕 | 中文字幕诱惑制服人妻丝袜美丝袜美| 无码人妻一区二区三区色欲aⅴ| 国产高清亚洲日韩一区| 免费精品人妻一区二区三| 秋霞一级视频在线观看免费| 中文操逼字幕| 日天天九九天堂666| 欧美日韩性爱视屏免费看了| 少妇毛片久久| 国产农村妇女精品| 91中文精品日韩欧美在线| 国产高清在线自在拍69| 91亚洲色人| 亚洲高清无码免费观看视频| 久久最新免费视频23| 日韩欧美午夜一区二区| 狠狠干精品一二三四五六2022| 搡老女人老熟女91| 黄色十八禁网站| 国产高清精品一区二区三区毛片| 欧美 日韩 婷婷 五月| 久久成人国产精品| 天美传媒av一区二区| 人人操我人人干| 色网综合网| 日本理论在线| 亚洲动态色图| 九九九九九用不成了| 日本高清视频xxxx| 欧美97网| 亚洲综合性感在线| 国产日韩欧美亚洲精品95| 偷拍五区| 天天香香欲综合| 亚洲av噜噜噜噜噜噜| 免费农村成人少妇人妻Aa一区二区视频| 精品久久久一本一道| 老熟女熟妇| 绯色一区二区三区不卡少妇| 人妻激情视频| 91 国产丝袜在线放观看| 免费公开人人操| 91东北熟女| 欧美第五页| 91麻豆天美国产| 精品9区| 久久久艹艹艹| av网页一区二区三区| 精品无码久久久久久国产浪潮| 国产精品午夜福利亚洲综合网| 极品国产内射| 中国大陆国产高清AⅤ毛片| 亚洲欧综合另类无码一区| 中国国国产一级特黄毛片| 色色色色网站| 黄色高清久久无码依人| 97碰碰日本乱偷人妻中文的| 少妇内射视频| 91亚洲综合| 国产精品嫩草影院免费| 综合熟女| 热久久国产精品视频大陆精品| 欧美综合自拍亚洲综合图| 欧美色视| 亚洲二区精品在线观看| 97舔舔| 美女网站黄页| 人人 操人人 操人人| 久超超碰| 久久婷婷影院| 自偷自拍的亚洲视频| 亚洲AV无码AV吞精久久久久| 精品免费成人久久| 亚洲精品日日夜夜52| 97超碰超欧美。| 97亚洲精品超碰| 超碰色综合| 欧美另类色图片| 欧色性第一页| 欧美亚州综合图片| 国产亚洲福利第一页丝袜| 91宗合网| 久草毛片| 亚洲综合色婷婷| 欧美日韩国产色五月综合在线| 亚洲国产午夜真人一级片中文字幕精品黄网站 | 国产91美女视频| 日韩精品 资源| 91精品人妻一区二区三区蜜桃| 激情综合色| 九九九九九九九九九五码| 99re6国产精品99re| 综合激情二| 亚洲国产精品久久久久婷婷青年| 蜜桃久久一区| 色婷婷电影网| 日韩欧美亚洲自拍偷拍| 色综合中文字幕不卡| 超碰在线91| 欧美亚洲国内自拍| 麻豆三极片| 亚洲青色欧美| 欧美性爱系列| 午夜精品久久久| 精品久久99| 久久伊人亚洲AV无码网站| 国产精品久久久 | 91狠狠狠| 国产11页| 日本国产高清色www视频在线| 夜夜操中文字幕| 超碰人人干| 伊人久久大香蕉线AV五月天| 亚洲最大黄网| 国产第11页| 600国产精品视频| 国产av色网| 夜夜嗷嗷一区二区| 91精品人妻一区二区-全集完整版免费正片国语-B02AV | 不卡在线观看视频| 亚欧美天堂在线| 美女极品一区二区三区| 91丝袜| 欧美日动态视频| 色色亚洲| 最新国产亚洲精品精品国产亚洲综合| 亚洲国产一级中文综合久久天堂在线免费观看| 探花熟女,姿勢到位,體驗感也到位| 啊啊啊爽爽| 久久婷婷精品| 97在线免费公开视频| 久久6热视频免费观看| 老熟女中文字幕高清| 九九精品99| 国产污视频麻豆传媒一区二区| 女人久久久| 99色视频| 热99这里有精品综合久久| 开心激情婷婷| 日本一级特级毛片视频| 亚洲欧美中日韩| 国产真实子伦对白| 青青草精玖玖69精品| 2020视频1区2区3区| 91N综合网| 动漫爆乳3D奶水一区在线观看 | 东京热天堂网| 欧美日韩国第一区| 欧美五十路熟| 欧美在线第五页| 国产成人网站在线观看| 91综合站| 九九热这里只有在线精品视 伊人草 成人菠萝蜜视频在线观看 | 中文激情网| 日本一区不卡| 激情露脸爱| 日韩免费一级性爱视频| 日本精品一区二区三| 人妻AV在线| 性夜影院爽黄A爽免费动漫| 美美91成人国产精品欧美精品久久久久久久 | 人妻精品视频一区二区| 97天天日| 精品国产乱码久久久兰草影视| 国语对白在线播放视频| 婷婷色综合欧美日韩| 日韩精品怡红院| 丁香五月婷婷啪啪| 大香蕉专区| 97国产人人| 青久久| 亚洲日韩AV视色| 中文字幕精品一区二区精| 色老大| 久久久久久久久久久久久久久乱码 | 91成人在线免费视频| 桑老女人九区| 四虎视频在线观看| 人人人人人人少妇| 岛国艾薇凹凸视频天堂| 欧美亚洲中文| 在线观看啊啊啊啊啊| 蜜臀AV一区二区三区激情综合| 国产三级中文有码在线视频| 精品无码秘 人妻一区二区| 99热18这里只有精品| 天天肏美女| 中日韩欧美精品无码AⅤ一区二区| 国产97亚洲| 夜夜 中文视频rt| 日韩专区数据列表-第3230页-精品国产一区二区三区香蕉 久久99熟女人妻中文字 | 超碰精品国产无码| a亚洲欧美色欲| 插欧洲美女欧美精品| 国产黄色小视频网站| 97资源站日韩| 久久精品六区| 久久激情视频| 久久成人午夜狠狠| 久久这里| 九九九九九九九九九五码| 日本天天吊| wwwss在线观看| 近亲乱伦一区二区| 欧美十八禁网站| 欧美一区二区三区入口| 久久性生大片免费观看性| 麻豆尤物视频网| 一区超碰一区| 久久久青草青青国产亚洲免观精品高清完整版_97久久综合区小说区图片区,国精品 | 18+91网站| 色婷婷一区二区三区久久午夜| 91麻豆天美传媒HD| 99精品网站| 亚州精品丝袜-不卡成人免费| 草草影院在线视频| 超AV色女| 久久九七| 亚洲视频二区 | 久久内射| 在线视频97| 久久大黄片| 欧美91精品国产自产| 亚洲色图亚洲| 久操凹凸视频| 丝袜熟女一区二区三区| 8050午夜少妇无码| 欧美操人| 青青草日本无码| 99中出在线| 精品国产91久久久久久一区黄无| 大香蕉欧美日韩| 久久视频,这里只有精品 | 日本福利二区视频| 久操九九九九| 东京成人一区| 综合熟妇一区二区三区| 国产精品自拍视频 | 人妻美腿丝袜制服诱惑综合天堂-| 加勒比AV网| 欧洲大香蕉| 超碰99在线| 亚洲欧洲成人在线电影| 欧美精品xxxwww| 99久久久久| 极品五月天噜噜| 亚洲免费97免费| 国产精品久久久久久夜夜夜夜| 蜜桃午夜视频一区二区| 亚洲一区日韩精品中文字幕| 成人亚欧免费视频| 97精品一二区| 久久视频,这里只有精品| 亚洲小说视频| 国产对白刺激视频| 99爱精品| 成人久久久精品| 天天色欧美| 国产精品久久久久亚洲av| 欧美色色色| 黄色不卡视频| 国产内射爽爽大片| 天天色播| 久日综合网| 精品天堂| 亚洲一区二区精品福利| 大香蕉在线86| 97干在线视频| 五月婷婷激情综合| 伊人久久亚洲色欲综合网站| 亚洲中字幕日本一区二区三区| 日本操嫩b网| 综精品久久久aaaa| 九t超碰| 91在线视频免费播放| 青青草日本无码| 国产超碰97| 久久无码成人| 国厂麻豆77q4| 国产欧美在线观看免费观看| 97干在线| 大香蕉手机在线| 免费一级黄色录像影片| 大香蕉十区| 久久人妻熟女一区二区| 精品亚洲国产成人AV制服丝袜| 久久久国产精品人妻丝袜| 青青草好吊色| 欧美夜夜狠| 大粗鳼巴久久久久| 综合久久婷婷| 91女日逼| 色一情一乱一乱一区91Av| 91艹| 一区二区三区四区免费视频| 青青草玖玖爱| 亚洲最大AV网| 欧美亚洲清纯| 岛国成人av在线播放网址| 久久视频,这里只有精品 | 99热这里只有精品8| 久久天堂网| 欧美专区日本专区| 欧美青青草视频| 国产三级多多影院2022国产AA一级毛片无码| 蜜臀人妻少妇久久在线观看| 大香蕉乱级| 禁十八久久| 久久性爱精品一区| 情色五月天网| 欧美大香蕉专区网| 97超碰欧美手机在线| 黑人精品成人一区二区三区| 欧美自拍网| 69人妻精品一区二区绯色| 欧美色综合网| 大香蕉在线视频15| 伊人专区一区二区三区| 国产熟女精品区| 欧美人妻久久精品二区三区| 日本亚欧爱爱| 日本人体九九九九九九| 99在线免费公开视频| 超碰久久草| 日本熟女中文| 中国一级αV| 人妻大相焦在线| 国产精品嫩草影院免费| 欧美啪啪啪91| 欧美黑人与女人91~| 日韩在线一区二区| 青青草综合在线| 91中出视频| 亚洲 图片 综合91| 18禁免费视频| 超碰欧美| yazhouzaixian| 91精品电影18| 成人乱码一区二区三少妇| 91大香蕉伊人| 台湾肥佬网一区二区三区| 久久久久成人亚洲国产| 天美传媒精品一区二区| 天天爱综合网| 成年男人的天堂| 久热香蕉精品在线视频| 久久久久久久97| 超碰综合色| 丁香久久| 乱伦3P视频| 日韩成人无码| 久久大香蕉97| 国产久久日| 久久国产三区| 日本欧美国内在线| 久久久久久亚洲中文| 九九九九精品精| 人妻黑丝袜电影| 欧美亚涩| 五月丁香| 国产尹人在线视频免费| 久操网无码在线| 亚洲九九九| 色原狠狠天天天| 91天天爱| 2025亚洲男人天堂| 色性欧美| 韩日精品四区| 在线播放中文字幕| 免费的黄片wwwwww| 在线观看色视频| 欧美性爱18观看| 亚洲成a人v欧美综合天堂下载| av橘色网站| 日韩人人精品| 99久久9| 精品成人女人久久| 欧美猛交黑寡妇中文字幕| 天美传媒av 在线| 天天综合色| 99热线麻豆 | 在线午夜成人无码视频| 少妇一区二区三区| 老熟女综合| 男人的天堂va| 精品国产乱码久久久久久蜜臀| 疯操AV| 97精品一区| 香蕉国产97| 乱人乱色一区二区三区免费| 国产精品禁久久久精品| 青青草在线视频美女| 2003天天干夜夜操| 天堂精品一区| julia国产在线 | 性爱乱伦一区| 五月婷婷性爱| 亚洲日本成人动漫| 用力操死我| 午夜性| 亚洲综合贴图91| 国产欧洲精品亚洲午夜拍精品| 97超碰总站| 快播久久人人aV| 91情色在线| 欧美综合网在线| 国产无码久久高清| 日韩一级特黄av毛片| 国模少妇一区二区三区| 婷婷五月成人| 亚州操操穴网| 欧美少妇色综合| 欧美偷偷网| 国产精品一区二区密臀| 一区二区三区免费视频入口| 伊人久久大香线蕉无码| 久热91| 天天摸夜夜摸| 日韩97视频| 91成人精品| a级免费在线观看| 人人操人人搞人人草| 韩国黄色片精品久久久| 91 国产丝袜在线放观看| 青青草成人视频在线观看二区| 午夜精品人妻二区三区| 久久久久国产一区二| 婷婷激情四射| 麻豆一区在线| 天天射日日干| 人人操,操人人| 五月香婷婷| 国产免费久久精品99re韩国| 大香蕉中文在线| 久久久久久久九九九九九九| 日韩欧美经典在线观看| 动漫片子网站3黄| 亚洲91射| 黄色片,com| 人妻熟女字幕一区二区| 97精品在线| 精品无码一区二区三区色欲| 蜜桃av综合网发布| 麻豆 亚洲 97| 中文字幕三四区| 精品一区二区成人动漫| 啊啊好多水| 999久久久九九九九| 郑州宾馆老熟女露脸啪啪| 97视频观看| 我爱操| 一本大道不卡一二三区| 第二页中文字幕| 天天欲望网| 3P乱轮视频| 啊啊啊啊二区好大| 丝袜美腿av女优在线| 粉嫩不卡一区二区性爱| 秋霞午夜视频一区二区| 综合久久少妇中文字幕| 六月丁丁香| 精品免费成人久久| 国产自产一区视频在线| 亚洲自拍欧美国产首页网曝| 天天综合-91入口| 婷婷五月激情综合| 色婷婷日韩精品一区二区三区| 日本欧美一区二区三区视频麻豆| 人妻日日夜夜精品| 中文字幕一区二区三区50路| 97色婷婷| 婷婷激情四射| 天天舔天天 | 97人人操人人干| 欧美线天码中字| 午夜影美女日鸡鸡天天视频国产| 欧美在线色| 天天做日日做| 国产成人精品午夜福利| 一线黄色免费性爱片| 欧美中字二区| 久久av一级av少妇av高潮 | 久久精品亚洲婷婷| 91精片| 欧美熟爽综合| 国产偷人伦激情在线观看| 久久久工口| av三级电影在线播放| 青青草在线成人视频| 女人天堂av在线播放| 婷婷三区| 亚洲色系另类精品国产| 九九九九九九九九九九九九九九九女| 国产无码高清操逼视频| 超碰在线97国产| 午夜无码精品免费看性色| 久久久久久久9最新免费视频观看| 欧美亚洲一级在线观看| 亚洲精品1区| 黄色高清无码无码破解免费暗网| 大香蕉99re| 欧美亚洲丝袜人妻制服99| 久久精品国产亚洲AV先锋| 免费看污网站| 天堂俺去俺来也www久久婷婷| 国产久久久久影院老熟女| 一级啊性爱在线视频| 欧美三四五区| 精品四五区| v91av| 亚洲少妇色| 久久六六| 91无码人妻| 91无码中出人妻视频| 国产在线综合福利网站| 好吊爽好吊爽在线视频,中文字幕精品一区二区日本,国产良妇出轨视频在线观看, | 香港久久久| 久久久亚洲精品电影免费看| 国产精品亚洲一级av第二区| 亚洲丨在线| 欧美最婬乱婬爆婬性视频| 亚洲欧美综合区自拍另类| 99热在线只有精品| 久插综合| 五月丁香六月激情| 高清一区AV无码| 欧美劲爆第一页| 精品小视频在线| 中文字幕 码精品视频网站| 国产精品直播在线观看直播| 亚洲色图欧美色图在线播放| 麻豆婷婷成人一二三| 中文精品一区二去| 人妻天堂三区| 午夜精品久久久99热蜜桃的功能特点| 97精品国产97久久久久久| 约操熟妇| 精品人妻免费观看| 欧洲色综合| 日韩欧美中文字| 亚洲美女精品| 五月天婷婷欧美三区| 大香网站| 日本精品网站在线中文| 亲子敌伦对白在线播放| 天堂网亚洲区手机版| 啊啊啊啊啊啊啊啊要喷了| 中文字幕视频2区| 婷婷99狠狠躁天天躁| 中文字幕成人理论在线| 日韩无码精品综合久久| 天美精品原创av片国产| 久久久555| 亚洲在钱| 久久久九精品| 白丝在线一区| 亚洲宗合网| 99re只有精品| 欧美日韩淫加| 久久人妻四季| 欧美AB在线观看| 精品久久久久,69国产成人精| 色99视频| 成人片在线播放| 日本精品高清一二区一本到| 美女尤物人人操| 九色精品视频导航1| 成人一道本免费视频| 亚洲第一页第二页激情| 91操操操操| 国产女大学生AV| 国产白丝精品在线观看| 色综合99| av一区二区三区 中文| 欧美,日韩,亚洲视频| 亚洲AV无码翔田千里网站| 老熟女搡BBBB搡BBBB视频| 91被操| 九九精品99| 国产日韩欧美亚洲精品95| 国产亚洲中文不卡二区| 亚洲AV秘 精品久久老牛影视| 欧美日产国产在线成人第一区| 人妻啪| 亚洲天堂7777| 婷婷综合网站| 超碰超碰欧美| 九九九九日本| 大屁股熟女一区二区三区| 久久久久幕乱码| 综合熟妇一区二区三区| 清纯唯美综合| 欧美96精品在线| 在线αⅴ| 日韩丰满熟妇| 日韩人妻少妇 一区二区三区| 欧美日韩性感| 中文字幕十五区| 欧美天天在线| 韩国三级色呦呦| 天天弄天天操| 婷婷在线精品| 宗合情欲网| 亚洲熟女乱色一区二区三区久久久 | 伊人嫩草| 国产福利合集| 一本大道不卡一二三区| 狠狠色色| 91久久久视| 色网亚洲人| 视频一区二区三区精品| 玖玖玖玖精品国产剧情| 久久久久久无码人妻中文字幕| 夜夜嗨av午夜成人| 欧美97se| 高潮的A片激情扒开一区| 美女露胸露尿口| 日日干夜夜骑| 91热情品| 欧美手机在线综合| 91狠狠| 欧美性爱中文字幕无线码| 色人久久| 91国产美女丝袜足交精品视频| 91天堂丝袜美腿| 久久超碰国产一区二区三区| 国人欧美精品一区二区| 丝袜内射| 久久久精品,3| 日日夜夜精品| 亚洲18禁| 久久老熟女| 久久东京伊人一本到鬼色| 亚欧精品久久久久久久久久久| 2017大香蕉国产精品久久| 天天干电影| 亚欧性爱ab| 久久神马影院| 超碰97人妻| 成人午夜无码视频| 97超碰总站| 黄片qw| 小草三级久久观看| 少妇超碰在线| 91在线丝袜| 91在线色| 综合久久97| 丁香五月天啪啪| 超碰到97情色| 亚洲高清无码在线桃色| WWW.加勒比人妻一区不卡.com| 91天天看| 正在播放:深夜激情大战,自带黑丝袜全力输出骚穴 | 97超碰国产亚洲精品资源| 青青操视频在线| 精品无码一区二区三区| 国产精品久久久亚洲一区| 四虎免费在线播放| 爆操无码| 亚洲成人在线资源| 亚欧成人中文字幕一区| 国产精品不卡一区二区三区| 另类亚洲一区二区三区| 国产精品青青草| 天天综合网网欲色| 亚洲日本韩国极品一区二区| 亚洲色人阁| 亚州国产精品乱| 日韩在线电影| 伊人成人中文字幕久久网| 亚洲 日本 不卡| 婷婷九月| 97香蕉网| 国产精品 午夜福利| 思思热在线视频免费| 亚洲国产欧美日韩精品一区二区三区,国产一区二区三区在线看片,欧美性猛交 XXX | 大香樵伊人网| 久热最新在线杭州| 91久久久久久久久久久| 久久只有精品| 大香蕉色网| 日本一级婬片试看三分钟| 成人一区二区三区四区| 婷婷激情五月天小说网| 九九久精品| 97色色网| J?P?NESEHD熟女熟妇伦| 天天天天天天天天综合| 中文字幕91页| 熟妇艹鸡八| 911av网站免费观看| 欧美日韩亚洲国产中文永久天天看| 日本色色色视频| AV中文字幕三四五| 麻豆 欧美 日韩| 人妻无一区二区三区| 激情黄色五月天| 久久亚洲av成人无码国产| 成人国产二区三区在线,男女精品。| 六月丁丁香| 东京热一区二区中文字幕| 久久偷拍人| 日韩,欧美,中文在线| 四虎影视国产精品| 九九视品黄色| 美女尤物人人操| 国产精品一区在线播放| 亚洲熟妇丝袜在线观看| 东亚亚洲无码高清| 五十路三区在线| 亚洲AV无码久久精品蜜桃小说| 亚卅熟女乱色| 成年人网站在线免费观看| 大香蕉色欲AV| 在线观看十八禁| 伊人五月天激情| 91国模| 国产丸一视频| 一二三啪啪专区| 欧美顶级黄色大片免费| 久久午夜色播影院免费高清| 另类视频在线| 91人妻人人妻| 蜜乳AV色欲AVAV无码| 精品人妻中文字幕高清| 偷拍99| 亚洲情色在线| 欧美激情总合网| 午夜黄色免费在线观看| 色综合V| 97超碰超| 日日躁狠狠躁天天躁精品| 中文字幕片| 五月天色图影视| 熟女字幕| 天堂俺去俺来也www久久婷婷| 天天综合中文字幕 91| 久草线上视频免费看| 色爱综合网欧美| 日韩在线视频1234| 亚洲国产日韩欧美熟妇在线| 脫衣舞一区二区三区| 人人看黄色视频| 成年人黄色| 96一区二区三区| 人妻五十路在线| 久久夜嗨| 欧美一区二区日韩传媒搭讪精品| 99欧美| 极品尤物在线观看| 日本一级二级三级网站| 女人被男人桶爽视频网站| 日本成a人v网站在线观看| 四虎免费在线观看| 丝袜美腿操av| 操逼国产免费| 国内偷拍精品一区二区| 亚洲97在线| 78精品在线| 一本色道人妻久久| 舔人妻中文免费视频| 精品二区三四区五电影 | 天美传媒AV在线播放| 欧美性少妇| 亚洲少妇自拍中文字幕懂色| 男人的天堂日韩| 久久成人午夜狠狠| 久久久久久久久国产| 色悠久久久av| 天天操狠狠日夜夜干超大胆开放com大香蕉视频在线观看 | 欧美第38页| 五月天色图| 99爱久久视频频| 2025亚洲男人天堂| 91麻豆天美国产| 五月天综合网| 久草草一二三四区久久| 好爽免费视频,| 台湾佬中文娱乐网久久久久久久久久com | 五月丁香婷婷综合网| 亚洲欧美经典一区二区 | 风韵犹存大大大大香蕉 | 国产日韩精品一区二区三区| 91精品人妻一区二区三区蜜桃臀| 女同性恋一区二区三区精品视频| 亚洲情色一区三区| 欧美在线啊啊啊 | 国产AV久久野战精品| 人妻少妇被猛烈进入中| 欧美人妻精品一区二区| 日韩无码成人电影| 91亚洲人电影| 日本精品免费一区二区三区四区| 久久久男人的天堂| 一区二三区四区视频大全套| 色天天野狼综合社区| 大香蕉99999| 中英熟女操女| 亚洲一卡2卡3卡4卡乱码网站 | 91色碰| 极品久久久久久久久久久久久久| 亚洲精品久久一区二区三区蜜桃臀| 欧日韩一二三f区| 91精品国产91综合久久蜜臀| 看大黄色大片原件| 五月色网| wwe 天天干.com| 国模久久在线| 成年无码动漫av片无尽在线| 国产不卡免费在线视频| 无码又爽又硬又激情免费视频| 欧美 传媒 麻豆 日韩 偷拍| 浪人综合网| 亚洲丝袜二区| 日本久久综合| 91丝袜美女视频| 岛国毛片在线观看免费| 午夜婷婷| 情色五月天网| 国产精品久久久 | 日韩激情啪啪| 欧美 亚洲 制服 精品| 日本久久999| 风月影院十八禁| 久久精品店| 极品白嫩福利在线| 久草成人影片| 国产无码高清操逼视频| 99热最新网址| 91性| 亚洲欧美国产va在线播放频| 欧美日韩性爱视屏免费看了| 成人网欧美风情| 天天久久| 一个人免费HD91视频| n1038 一二三区| 美女久久久久久久久久久| 国产成人欧美一区二区三区的国产| 狠狠久久亚洲欧美专区| 麻豆a'v电影| 久久天天艹| 大香蕉手机在线视频| 亚洲欧美天| 操逼不卡中文字幕| 欧美色图私拍91| 97天天摸天天爽| 91精品久久综合熟女| 日韩图区| 囯戸精品高潮呻吟旡码| 91色女| 91第一页| 五月色综合| 亚洲综合色图欧美| 天天干夜夜一操| 精品成人女人久久| 日韩免费高清大片在线| 区日韩亚洲乱码av电影| 少妇熟女一区二区三区| 91GD.COM| 国产午夜福利合集| 岛国黄色大片网站| 在线情色电影 91大| 成人一级性爱| 亚州综合图片| 欧美91视频| 色老牛| 日日操丁香五月天| 中文字幕十五区| 国产精品人妻熟女aⅴ| 国产嫩草精品A88AV在线| 大学生美女口爆| 99.色网| 欧美视频一| 欧美 传媒 麻豆 日韩 偷拍| 一中国女人毛片水真多| 国产馆极品诱惑| 日本成人在线不卡一区二区三区| 爱射综合| 久久成年片色大黄全免费网站| 97精品一二区| 思思视频免费看网站| 青久操| 亚洲最新中文字幕免费| 97欧美色综合| 熟女突然公开看18禁影片| 国产搭汕a级片| 日韩啪啪啪啪啪| 试看日韩黄片| 91熟女综合| 把腿张开老子CAO烂你| 夫妻AV网站| 亚洲精品 大香蕉| 国产精品人妻无码久久久老鸭窝| 99爱久久视频频| 都市久久精品激情亚洲| 激情五月天校园春色网| 一级久久久久久久久久久| 精品人妻一区二区三区四区| 九色97| 成 人片 黄色大片| 日逼国产| 欧美精品系列| 九一亚洲国产免费| 一本大道不卡一二三区| 亚洲天堂一二| 欧美亚洲玖玖玖| 免费无码国产精品v片在线观看| 果冻传媒一区二区三区| 亚洲操操操| 妇女性内射冈站HDWWWCOM| 黑人精品久久97| 国产毛片精品一区二区色欲黄A片| 欧美天天| 九九九九一级| 九九热免费国产视频婷婷伊人| 韩三级a视频在线观看| 超碰 国产熟女精品一区| 天天看综合网| 超碰成人最新最好看| 久夜视频| 久久宗合亚洲| 日韩99神马视频播放片在线播放| 亚洲精品一二区| 99在线精品视频| 日本中文字幕一区| 亚洲色鬼| 亚洲成人福利电影免费| 91香蕉国产尤物视频| 中文字幕精品亚洲熟女| 精品久久在线区一区| 黄色视频特级毛片| 18禁看网站一区| 久久黄黄黄| 农村妇女精品一区二区| 东京热亚洲一区二区| 亚洲欧综合另类无码一区| 久久国产成人精品国产成人亚洲| 香蕉大久久久| 日夜久久久九九九久| 六月丁丁香| 亚洲一区二区中文字幕| 黄色操人| 97视频免费在线观看| 97人人夜| 欧美黑人极品高潮喷吹熟女黑人性暴力日韩在线欧美极品一区二区老师 | 色一射色一射| av国产无码| 美女尤物人人操| 久久久久亚洲熟妇熟女| 欧美黑人极品高潮喷吹熟女黑人性暴力日韩在线欧美极品一区 | 丁香五月婷婷基地| 岛国黄| 无码区蜜乳| 国产精品免费久久久久久久久久| 拍拍拍拍大尺度黄色三级片拍拍拍拍拍照| 欧美亚洲丝袜美女电影| 熟女丰满人妻一区| 91操碰| 强奸a片网| 成人福利视频网| 97视频观看| 99热这里都是精品| 俺也射| 天天操美美| 欧美日韩大陆黑人少妇99| 久久9精品视频| 中文字幕av色| 天天添天天干电影| 日韩高潮一区| 免费AV播放| 久久免费精彩视频| av在线资源| 丁香五月婷婷色| 国产成人网址| AAA久久| 久久婷五月天| 99只有精品| 91精品综合久久久久久五月丁香| 亚洲超碰在线| 欧美亚洲日韩人妻在线观看| 超碰人人色| 四虎AV在线观看| 欧美日不卡| 1956日韩精品| 亚洲91网。| 吉川爱美亚洲二区在线| 亚熟hd视频在线| 精品久久9| 一区二区三区男人的天堂| 国产在线激情| 亚州欧美色图| 在线观看一级α片刺激高潮视频| 另类图片欧美激情综合| AA级电影三区|