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

ARTICLE DETAIL

資訊詳情

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

Spring Boot + 微信小程序校園二手交易平臺(tái)開(kāi)發(fā)實(shí)戰(zhàn)

Spring Boot + 微信小程序校園二手交易平臺(tái)開(kāi)發(fā)實(shí)戰(zhàn) 校園里的閑置交易做過(guò)的人都知道有多麻煩。去年我在某高校做畢設(shè)調(diào)研時(shí)發(fā)現(xiàn)幾乎所有學(xué)生群都有人在賣舊書、臺(tái)燈、自行車但信息幾分鐘就被聊天刷沒(méi)了想找同款基本靠緣分。當(dāng)時(shí)就決定做一個(gè)專門的校園二手交易平臺(tái)技術(shù)棧選了 Spring Boot 加微信小程序也就是標(biāo)題里那個(gè)“springboot校園二手交易平臺(tái)小程序”。這篇內(nèi)容不打算只貼源碼和截圖而是把整個(gè)項(xiàng)目的需求拆解、數(shù)據(jù)庫(kù)設(shè)計(jì)、核心接口邏輯、小程序端實(shí)現(xiàn)以及我最想分享的踩坑記錄都寫出來(lái)。哪怕你不想關(guān)注拿源碼單按這篇文章里的架構(gòu)思路和數(shù)據(jù)表去復(fù)刻也能把一個(gè)可上線運(yùn)行的二手交易系統(tǒng)搭起來(lái)。這個(gè)項(xiàng)目適合誰(shuí)正在做畢業(yè)設(shè)計(jì)的學(xué)生、想系統(tǒng)走一遍前后端分離開(kāi)發(fā)的初學(xué)者、或者單純想了解校園交易類小程序業(yè)務(wù)閉環(huán)的產(chǎn)品和技術(shù)新人。閱讀過(guò)程中你會(huì)發(fā)現(xiàn)它沒(méi)有懸乎的高并發(fā)和分布式核心價(jià)值在于把“登錄、發(fā)帖、交易、狀態(tài)流轉(zhuǎn)”這幾件小事做扎實(shí)而這恰恰是很多二手平臺(tái)項(xiàng)目翻車的地方。1. 項(xiàng)目從需求到架構(gòu)先搞清楚二手交易到底在交易什么1.1 校園閑置場(chǎng)景的真實(shí)痛點(diǎn)校園二手交易和閑魚同城交易不太一樣。閑魚的買家賣家是完全陌生關(guān)系靠的是芝麻信用、平臺(tái)擔(dān)保和事后評(píng)價(jià)體系來(lái)建立信任而校園場(chǎng)景里買賣雙方大概率都在同一個(gè)校區(qū)、同一棟宿舍樓甚至可能是同一個(gè)學(xué)院的信任基礎(chǔ)天然存在但信息和撮合機(jī)制卻很原始。我在前期調(diào)研里梳理出幾個(gè)典型問(wèn)題第一信息承載分散社團(tuán)群、表白墻、宿舍群各有各的帖子沒(méi)有統(tǒng)一的瀏覽和搜索入口第二商品的成色、價(jià)格、交易方式完全靠賣家自己描述買家需要反復(fù)私聊確認(rèn)溝通成本高第三缺少訂單狀態(tài)概念說(shuō)好面交卻放鴿子的情況非常多第四沒(méi)有“已售出”的標(biāo)記過(guò)期很久的商品還在被點(diǎn)贊和詢問(wèn)體驗(yàn)很差。因此這個(gè)項(xiàng)目的核心需求不是做一個(gè)“能登錄、能發(fā)帖”的玩具而是要完成一條相對(duì)完整的交易閉環(huán)用戶登錄 - 發(fā)布商品 - 買家瀏覽/搜索/聯(lián)系 - 表達(dá)購(gòu)買意向 - 雙方確認(rèn) - 訂單狀態(tài)流轉(zhuǎn) - 線下交易完成。再加上收藏、留言、個(gè)人中心等輔助功能就是一個(gè)能自洽的業(yè)務(wù)模型。1.2 為什么是 Spring Boot 加微信小程序技術(shù)選型上后端我最終定了 Spring Boot前端定了微信原生小程序沒(méi)有引入太重的微服務(wù)或跨端框架。理由很直接。Spring Boot 的優(yōu)勢(shì)在于快速搭建、生態(tài)成熟。這個(gè)系統(tǒng)需要的能力無(wú)非是 REST API、文件存儲(chǔ)、鑒權(quán)、數(shù)據(jù)庫(kù)訪問(wèn)Spring Boot 都能用很簡(jiǎn)潔的方式集成而且網(wǎng)上資料多遇到問(wèn)題能找到大量參考。相比 Go、Node 之類的方案對(duì)剛接觸全棧開(kāi)發(fā)的人來(lái)說(shuō)Spring Boot 的思維方式更規(guī)整分層也更清晰。微信小程序作為前端載體則是因?yàn)樗烊毁N合校園場(chǎng)景。學(xué)生不需要額外下載 App微信掃一下就進(jìn)去分享到群和朋友圈也方便。小程序的原生框架對(duì)后端的請(qǐng)求封裝、登錄態(tài)管理、圖片上傳都有現(xiàn)成接口開(kāi)發(fā)成本比 React Native 或 Flutter 低不少。而且小程序的發(fā)布審核并不會(huì)卡常規(guī)分類的二手交易類目只要避免出現(xiàn)明顯的平臺(tái)化交易嫌疑比如不要內(nèi)置支付通道審核就不會(huì)有太大問(wèn)題。整套系統(tǒng)采用前后端分離小程序端只負(fù)責(zé)界面交互和請(qǐng)求發(fā)送后端只負(fù)責(zé)業(yè)務(wù)邏輯、數(shù)據(jù)校驗(yàn)和接口響應(yīng)。這樣做的直接好處是后續(xù)如果要加一個(gè)管理后臺(tái)或者把小程序端換成 H5完全不用動(dòng)后端核心邏輯。1.3 模塊拆分與數(shù)據(jù)流方向在畫 ER 圖之前我先按業(yè)務(wù)角色把系統(tǒng)拆成了幾個(gè)模塊用戶模塊、商品模塊、訂單模塊、收藏與留言模塊、圖片存儲(chǔ)模塊。每個(gè)模塊的職責(zé)盡量單一模塊之間只通過(guò)接口或者數(shù)據(jù)表外鍵產(chǎn)生關(guān)聯(lián)。數(shù)據(jù)流的方向是這樣的小程序端向 Spring Boot 后端發(fā)起 HTTP 請(qǐng)求后端通過(guò)攔截器統(tǒng)一處理 Token 鑒權(quán)Controller 層接收參數(shù)并做基礎(chǔ)校驗(yàn)Service 層處理業(yè)務(wù)邏輯Mapper 層通過(guò) MyBatis 與 MySQL 交互。圖片上傳走獨(dú)立的接口先落盤到服務(wù)器存儲(chǔ)目錄再返回 URL。所有接口統(tǒng)一返回 JSON格式是{ code, message, data }小程序端對(duì)這個(gè)結(jié)構(gòu)做統(tǒng)一解析和處理。這個(gè)數(shù)據(jù)流聽(tīng)起來(lái)簡(jiǎn)單但實(shí)際操作中如果不提前把統(tǒng)一返回結(jié)構(gòu)定死前后端聯(lián)調(diào)時(shí)會(huì)有無(wú)窮無(wú)盡的體力消耗。我強(qiáng)烈建議在項(xiàng)目一開(kāi)始就定好Result包裝類和錯(cuò)誤碼規(guī)范避免一個(gè)接口返回true、另一個(gè)接口返回success聯(lián)調(diào)時(shí)全靠猜。2. 后端核心實(shí)現(xiàn)表結(jié)構(gòu)、登錄態(tài)與交易狀態(tài)機(jī)2.1 數(shù)據(jù)庫(kù)設(shè)計(jì)要把業(yè)務(wù)演變想清楚數(shù)據(jù)庫(kù)是這種業(yè)務(wù)系統(tǒng)的地基表結(jié)構(gòu)設(shè)計(jì)得不好后面寫接口會(huì)到處別扭。我最終設(shè)計(jì)的核心表如下user用戶表字段包括id、openid、nickname、avatar_url、phone、campus、create_time。product商品表id、user_id、title、description、price、original_price、condition_level、category_id、status、view_count、create_time、update_time。product_image商品圖片表id、product_id、image_url、sort_order。category分類表id、name、icon。order訂單表id、order_no、product_id、buyer_id、seller_id、amount、status、create_time、update_time。favorite收藏表id、user_id、product_id、create_time。message留言表id、product_id、from_user_id、to_user_id、content、create_time。這里有一個(gè)關(guān)鍵點(diǎn)product表里的status字段我用了0-在售、1-已售出、2-下架而不是直接刪除商品。二手平臺(tái)最忌諱真正刪除商品記錄因?yàn)橛唵魏土粞远纪怄湹缴唐芬坏﹦h了歷史記錄就全斷了管理后臺(tái)也無(wú)法追溯。用戶“刪除”自己的商品時(shí)實(shí)際執(zhí)行的是軟刪除也就是只改狀態(tài)不刪行。價(jià)格字段要特別注意。單價(jià)用DECIMAL(10, 2)而不是FLOAT因?yàn)楦↑c(diǎn)數(shù)在計(jì)算時(shí)會(huì)有精度誤差訂單金額、廣告位價(jià)格這類數(shù)據(jù)一旦出錯(cuò)就是事故。我見(jiàn)過(guò)有人用浮點(diǎn)存價(jià)格導(dǎo)致對(duì)賬少了幾塊錢的例子校園項(xiàng)目雖然量小但該嚴(yán)謹(jǐn)?shù)牡胤讲荒芩?。索引方面product表的status和create_time要建聯(lián)合索引因?yàn)槭醉?yè)列表、分類商品列表基本都按“在售并且時(shí)間倒序”來(lái)查。order表的buyer_id和seller_id分別建索引用于個(gè)人中心的“我買到的/我賣出的”列表查詢。如果數(shù)據(jù)量到幾十萬(wàn)級(jí)別這些索引會(huì)極大緩解慢查詢不過(guò)現(xiàn)階段規(guī)模下沒(méi)必要做分庫(kù)分表。2.2 微信登錄與 Token 鑒權(quán)的完整鏈路微信小程序的登錄是典型的 code2session 換 openid 流程很多新手在這里被繞暈。我整理一下實(shí)際代碼里的順序小程序端調(diào)用wx.login()拿到臨時(shí)憑證code。小程序把code發(fā)給后端/api/auth/login。后端拿著code調(diào)用微信接口code2session換取openid和session_key。后端根據(jù)openid查詢用戶如果沒(méi)有則自動(dòng)注冊(cè)一個(gè)新用戶并生成默認(rèn)昵稱和頭像。后端為用戶簽發(fā)一個(gè)自定義的 Token返回給小程序小程序存入wx.setStorageSync后續(xù)每個(gè)請(qǐng)求的頭里帶上Authorization。Token 方案我選擇的是自定義 Token 存 Redis而不是 JWT。原因很樸素JWT 是無(wú)狀態(tài)的用戶被封禁或改頭像之后已經(jīng)簽發(fā)的 Token 仍然有效想踢人下線只能等過(guò)期。校園平臺(tái)雖然不需要太強(qiáng)管控但如果以后要做管理員封號(hào)功能存 Redis 的 Token 能實(shí)現(xiàn)即時(shí)失效靈活得多。后端用攔截器統(tǒng)一處理 Token 解析。攔截器里從請(qǐng)求頭拿出Authorization從 Redis 查用戶信息查到了就往ThreadLocal里塞當(dāng)前用戶 IDController 層就可以直接用注解拿到當(dāng)前登錄用戶。查不到就返回401。注意code2session的接口有每天調(diào)用上限雖然日常項(xiàng)目不會(huì)觸發(fā)但一定不要把code寫在日志里。這個(gè)臨時(shí)憑證和session_key一旦泄露存在被偽造請(qǐng)求的風(fēng)險(xiǎn)。2.3 商品發(fā)布、圖片上傳與列表查詢商品發(fā)布接口是核心中的核心邏輯上分兩部分先處理圖片再寫入商品信息。圖片上傳我用的方式是小程序端wx.chooseMedia選擇圖片通過(guò)wx.uploadFile以multipart/form-data形式傳到后端/api/upload。后端接收文件后先校驗(yàn)文件大小、擴(kuò)展名只允許 jpg/png/webp單張不超過(guò) 5MB然后按日期存儲(chǔ)到本地目錄生成帶時(shí)間戳的隨機(jī)文件名避免重名覆蓋。文件名我習(xí)慣用yyyyMMddHHmmss 隨機(jī)數(shù)的格式比如20250605153021_8291a.jpg這樣即使用戶用一個(gè)叫“1.jpg”的文件反復(fù)上傳也不會(huì)撞車。上傳成功后后端返回 URL 列表小程序端再把 URL 和商品表單內(nèi)容一起提交到發(fā)布接口。這里有一個(gè)常見(jiàn)的坑有些開(kāi)發(fā)者會(huì)在上傳接口里順便創(chuàng)建商品記錄結(jié)果用戶傳了圖但沒(méi)填標(biāo)題就離開(kāi)了數(shù)據(jù)庫(kù)里就會(huì)多出一堆臟數(shù)據(jù)。正確做法是上傳僅返回地址發(fā)布接口才真正落庫(kù)商品表里維護(hù)一個(gè)product_image子表來(lái)關(guān)聯(lián)多個(gè)圖片 URL。商品列表查詢要考慮過(guò)濾條件按分類、按價(jià)格區(qū)間、按關(guān)鍵詞搜索。關(guān)鍵詞搜索我用的是LIKE %keyword%匹配標(biāo)題和描述數(shù)據(jù)量小時(shí)完全夠用。如果以后商品量暴增再升級(jí)到全文檢索也不遲。2.4 訂單狀態(tài)機(jī)讓買賣雙方都有明確預(yù)期二手交易系統(tǒng)的訂單狀態(tài)不能像電商那樣復(fù)雜但也不能完全沒(méi)有。我設(shè)計(jì)了五個(gè)狀態(tài)待付款、待發(fā)貨、待收貨、已完成、已取消。當(dāng)然校園二手很大程度是線下當(dāng)面交易所以“待發(fā)貨”和“待收貨”在實(shí)際場(chǎng)景里可以解釋成“約定時(shí)間地點(diǎn)”和“線下交易完成”。訂單的生成要防重復(fù)。同一商品同一時(shí)間只能有一個(gè)買家發(fā)起交易后端在生成訂單前必須查一次商品狀態(tài)并且用數(shù)據(jù)庫(kù)的樂(lè)觀鎖或UPDATE ... WHERE status 在售的原子更新來(lái)?yè)屨忌唐?。我最終選了UPDATE product SET status 1 WHERE id ? AND status 0這種方式如果更新影響行數(shù)為 0說(shuō)明商品已經(jīng)被別人搶占了直接返回“商品已售出”。這個(gè)設(shè)計(jì)在并發(fā)量不高時(shí)完全夠用而且避免了先查再更新的時(shí)間差問(wèn)題。我實(shí)測(cè)過(guò)用 Postman 并發(fā)打 20 個(gè)同樣的購(gòu)買請(qǐng)求只有 1 個(gè)成功其余全部正確攔截。如果將來(lái)并發(fā)量變大可以換成 Redis 分布式鎖但目前沒(méi)必要過(guò)度設(shè)計(jì)。確認(rèn)收貨之后買賣雙方都可以看到訂單的完成狀態(tài)。如果有一方超過(guò)約定時(shí)間沒(méi)有操作可以在列表里提供“提醒對(duì)方”的功能通過(guò)站內(nèi)信或模板消息觸發(fā)。注意這里我沒(méi)有接入真實(shí)支付和自動(dòng)發(fā)貨邏輯因?yàn)樾@二手以面交為主接入支付反而會(huì)把項(xiàng)目變得復(fù)雜且審核風(fēng)險(xiǎn)升高。2.5 留言與收藏增強(qiáng)購(gòu)買意向的表達(dá)留言功能本質(zhì)是提供一個(gè)輕量的商品溝通渠道。它的字段只有product_id、from_user_id、to_user_id、content、create_time。查詢時(shí)按商品ID倒序取最新 20 條不需要做網(wǎng)絡(luò)通信因?yàn)樾?nèi)當(dāng)面溝通更高效。這里要注意防止 XSS用戶輸入的留言內(nèi)容在存儲(chǔ)和展示前都要做、、、、等字符的轉(zhuǎn)義處理。收藏功能則是給買家一個(gè)“先存下來(lái)再慢慢考慮”的入口。收藏表用user_id product_id做聯(lián)合唯一索引確保同一個(gè)人不能重復(fù)收藏同一商品。收藏?cái)?shù)量不用實(shí)時(shí)統(tǒng)計(jì)到商品表可以在需要時(shí)COUNT(*)查出來(lái)展示。這也是性能和簡(jiǎn)潔之間的平衡。3. 小程序端頁(yè)面設(shè)計(jì)、請(qǐng)求封裝與表單校驗(yàn)3.1 整體頁(yè)面結(jié)構(gòu)與導(dǎo)航設(shè)計(jì)小程序端我采用了五個(gè) Tab 的結(jié)構(gòu)首頁(yè)、分類、發(fā)布、消息、我的。這個(gè)結(jié)構(gòu)對(duì)二手交易類應(yīng)用來(lái)說(shuō)比較成熟用戶進(jìn)入后第一眼看到的是商品流發(fā)布按鈕固定在顯眼位置消息中心承載留言和訂單通知我的頁(yè)面展示個(gè)人數(shù)據(jù)和功能入口。首頁(yè)商品流用雙列瀑布流展示在售商品每張卡片包含主圖、標(biāo)題、價(jià)格、成色標(biāo)簽。瀑布流要注意圖片比例問(wèn)題不同賣家上傳的圖片比例可能不同我在后端返回圖片URL時(shí)額外給每個(gè)URL附加了寬高比字段小程序端用modeaspectFill統(tǒng)一裁切視覺(jué)上整齊很多。很多新手忽略這個(gè)細(xì)節(jié)結(jié)果首頁(yè)有的卡片高有的卡片矮顯得很凌亂。分類頁(yè)則按預(yù)設(shè)的分類展示商品左側(cè)分類欄、右側(cè)商品列表點(diǎn)擊分類后請(qǐng)求對(duì)應(yīng)接口并置頂刷新。分類數(shù)據(jù)來(lái)自數(shù)據(jù)庫(kù)不寫死在前端這樣以后加分類不用發(fā)新版小程序。3.2 發(fā)布功能的交互與校驗(yàn)發(fā)布頁(yè)是體現(xiàn)項(xiàng)目完成度的試金石。我參考閑魚的發(fā)布交互頂部選擇商品分類中間是標(biāo)題輸入、描述輸入、價(jià)格輸入、成色選擇下面是九宮格圖片上傳。圖片上傳區(qū)域在用戶選擇圖片后立即上傳到服務(wù)器但商品本身要等用戶點(diǎn)擊“發(fā)布”才創(chuàng)建。表單校驗(yàn)要前置到前端。標(biāo)題必填且限制 20 字以內(nèi)價(jià)格必須為正數(shù)且最多兩位小數(shù)成色必須選擇一種。前端校驗(yàn)過(guò)了后端接口還會(huì)再校驗(yàn)一遍雙重校驗(yàn)可以避免繞過(guò)客戶端直接調(diào)接口產(chǎn)生的臟數(shù)據(jù)。價(jià)格輸入的實(shí)現(xiàn)上我用typedigit讓鍵盤直接彈出數(shù)字鍵盤再配合maxlength6限制輸入長(zhǎng)度。發(fā)布成功的提示我用了一個(gè)輕量 toast然后跳轉(zhuǎn)到“我的發(fā)布”列表用戶能立刻看到自己剛發(fā)布的商品。如果跳回首頁(yè)因?yàn)榱斜眄?yè)沒(méi)有刷新的概念用戶會(huì)以為發(fā)布失敗了這是產(chǎn)品交互上的細(xì)節(jié)影響體驗(yàn)非常大。3.3 請(qǐng)求統(tǒng)一封裝與登錄態(tài)管理小程序端最需要規(guī)劃的就是網(wǎng)絡(luò)請(qǐng)求。我在utils/request.js里統(tǒng)一封裝了wx.request每次請(qǐng)求前自動(dòng)從本地存儲(chǔ)讀取 Token放進(jìn)Authorization請(qǐng)求頭每次響應(yīng)先判斷 HTTP 狀態(tài)碼再判斷業(yè)務(wù)碼code如果業(yè)務(wù)碼是401就自動(dòng)跳轉(zhuǎn)登錄頁(yè)。這個(gè)封裝讓業(yè)務(wù)代碼里完全不需要寫wx.request的細(xì)節(jié)頁(yè)面里只要寫request({ url: /api/product/list, method: GET })就能拿到數(shù)據(jù)?;卣{(diào)地獄的問(wèn)題也通過(guò) Promise 解決了異步邏輯用async/await寫起來(lái)非常順。注意小程序真機(jī)調(diào)試時(shí)一定要在微信公眾平臺(tái)配置 request 合法域名并且域名必須備案且支持 HTTPS。開(kāi)發(fā)階段可以在開(kāi)發(fā)者工具里勾選“不校驗(yàn)合法域名”但上線前必須改回來(lái)否則正式版會(huì)白屏。這個(gè)坑我踩過(guò)一次排查了很久才意識(shí)到是域名沒(méi)有加進(jìn)白名單。3.4 商品詳情、訂單流程與消息提醒商品詳情頁(yè)除了展示圖片和價(jià)格還要展示賣家的信息比如昵稱、頭像、校區(qū)以及“聯(lián)系買家”和“立即購(gòu)買”兩個(gè)操作按鈕。聯(lián)系買家走的是留言或引導(dǎo)復(fù)制微信號(hào)考慮到項(xiàng)目審核我沒(méi)有做內(nèi)置聊天而是用留言板加復(fù)制聯(lián)系方式的組合。訂單流程在小程序端的表現(xiàn)是買家點(diǎn)擊“立即購(gòu)買”后彈窗確認(rèn)價(jià)格確認(rèn)后調(diào)用后端下單接口賣家在“我賣出的”列表里看到新訂單可以點(diǎn)擊“約定的線下交易已完成”訂單進(jìn)入待收貨狀態(tài)買家收到貨后確認(rèn)訂單完成。每一步操作后端都會(huì)更新?tīng)顟B(tài)并校驗(yàn)當(dāng)前用戶是否是訂單的買方或賣方防止越權(quán)操作。消息中心展示兩類內(nèi)容最新留言和訂單狀態(tài)變更。數(shù)據(jù)來(lái)自后端聚合查詢將留言記錄和訂單狀態(tài)變更記錄合并按時(shí)間排序。這里要注意分頁(yè)我用了簡(jiǎn)單的“下拉加載下一頁(yè)”模式每頁(yè) 10 條避免一次性拉取太多數(shù)據(jù)導(dǎo)致頁(yè)面卡頓。4. 部署上線與問(wèn)題排查把項(xiàng)目真正跑起來(lái)4.1 從本地到服務(wù)器的部署流程這個(gè)項(xiàng)目是標(biāo)準(zhǔn)的單體 Spring Boot 應(yīng)用部署不復(fù)雜但步驟要踩對(duì)。我用的方案是Maven 打包成可執(zhí)行的 jar通過(guò) scp 上傳到服務(wù)器再用nohup java -jar啟動(dòng)配合 Nginx 做反向代理和 HTTPS 終結(jié)。打包時(shí)要注意 profile 的切換。開(kāi)發(fā)環(huán)境連本地 MySQL生產(chǎn)環(huán)境要連服務(wù)器上的 MySQL數(shù)據(jù)庫(kù)地址和密碼不能寫死。我的做法是 Spring Boot 的多環(huán)境配置application-dev.yml和application-prod.yml打包時(shí)通過(guò)--spring.profiles.activeprod指定環(huán)境。不然每次部署都要改配置文件改漏一次就等著聯(lián)調(diào)翻車。Nginx 部分要配置兩個(gè)轉(zhuǎn)發(fā)一是把/api/開(kāi)頭的請(qǐng)求轉(zhuǎn)發(fā)到 Spring Boot 的8080端口二是把靜態(tài)圖片目錄映射到一個(gè)對(duì)外可訪問(wèn)的 URL比如http://你的域名/upload/指向服務(wù)器上的上傳目錄。HTTPS 證書用免費(fèi)的證書服務(wù)配置好 SSL 后微信小程序端才能正常發(fā)起請(qǐng)求。4.2 常見(jiàn)問(wèn)題與排查速查表這一部分是我實(shí)際開(kāi)發(fā)中遇到的典型問(wèn)題整理成表格方便快速定位現(xiàn)象可能原因解決方案小程序請(qǐng)求全部失敗真機(jī)上白屏request 合法域名未配置或域名未備案在微信公眾平臺(tái)配置合法域名使用 HTTPS登錄后用戶信息不顯示Token 解析失敗或 Redis 中 Key 過(guò)期檢查攔截器邏輯確認(rèn) Redis 是否有數(shù)據(jù)Token 有效期設(shè)為 7 天圖片上傳成功但商品頁(yè)圖片裂開(kāi)圖片 URL 用了相對(duì)路徑小程序無(wú)法訪問(wèn)返回絕對(duì) URL或在前端拼接完整域名同一個(gè)商品被兩個(gè)人同時(shí)下單成功缺少商品狀態(tài)原子更新使用UPDATE product SET status 1 WHERE id ? AND status 0發(fā)布商品列表偶發(fā)重復(fù)數(shù)據(jù)頁(yè)面下拉刷新與上拉加載事件沖突用 loading 鎖防止并發(fā)請(qǐng)求價(jià)格出現(xiàn) 0.30000000000000004數(shù)據(jù)庫(kù)或 JSON 用了浮點(diǎn)數(shù)數(shù)據(jù)庫(kù)用 DECIMALJava 用 BigDecimal4.3 安全和性能的幾個(gè)硬性原則安全方面有幾條我始終堅(jiān)持的底線。第一是越權(quán)防護(hù)查詢訂單和操作商品前必須校驗(yàn)當(dāng)前登錄用戶與資源所有者是否為同一人不能只依賴前端隱藏按鈕接口層面必須做攔截。第二是參數(shù)校驗(yàn)不僅依賴前端后端 Controller 層要用Valid或手動(dòng)校驗(yàn)所有關(guān)鍵參數(shù)包括分頁(yè)的page、size不能為負(fù)排序字段用白名單。第三是文件上傳的安全圖片類型要校驗(yàn)真實(shí)文件頭而不是只看擴(kuò)展名惡意腳本文件不能進(jìn)服務(wù)器。性能方面現(xiàn)階段業(yè)務(wù)量不大最值得關(guān)注的是 SQL 查詢效率和圖片體積。列表查詢不要SELECT *只需要返回卡片需要的字段圖片上傳前在小程序端先壓縮一遍可以極大減少存儲(chǔ)空間和加載帶寬。我在項(xiàng)目里用wx.compressImage把圖片統(tǒng)一壓到最大寬度 800 像素保證清晰度的同時(shí)體積控制在 200KB 以內(nèi)首頁(yè)加載速度明顯更快。5. 做完整個(gè)項(xiàng)目的體會(huì)與后續(xù)擴(kuò)展思路5.1 幾個(gè)親測(cè)有效的開(kāi)發(fā)心得這個(gè)項(xiàng)目完整走下來(lái)我最大的體會(huì)是業(yè)務(wù)流程的完整度比技術(shù)花活重要得多。很多二手交易平臺(tái)的項(xiàng)目案例只做了商品 CRUD根本沒(méi)有訂單狀態(tài)、沒(méi)有交易沖突處理、沒(méi)有越權(quán)校驗(yàn)看起來(lái)功能挺多但本質(zhì)是管理系統(tǒng)而不是交易系統(tǒng)。做這類項(xiàng)目先畫狀態(tài)圖先定義好訂單的生命周期再動(dòng)代碼能省掉后期大量返工。第二個(gè)體會(huì)是日志和聯(lián)調(diào)工具要早用早熟。我在開(kāi)發(fā)階段就養(yǎng)成了每次接口調(diào)用都打印請(qǐng)求參數(shù)和響應(yīng)結(jié)果的習(xí)慣而且用 Postman 或者 Apifox 管理接口文檔聯(lián)調(diào)時(shí)雙方都對(duì)著同一份文檔爭(zhēng)論少很多。如果你自己同時(shí)負(fù)責(zé)前后端也要注意別因?yàn)椤白约盒睦镉袛?shù)”就不寫接口文檔兩周后再看自己都容易遺忘字段含義。第三小程序端的錯(cuò)誤提示要友好。500 錯(cuò)誤時(shí)不能直接彈“服務(wù)器內(nèi)部錯(cuò)誤”這種摸不著頭腦的話。我封裝請(qǐng)求時(shí)對(duì)code做了映射例如“商品已售出”對(duì)應(yīng)提示“手慢了一步商品已經(jīng)被買走了”“401”對(duì)應(yīng)“登錄已過(guò)期請(qǐng)重新進(jìn)入”。好的錯(cuò)誤提示能把用戶從困惑里拉回來(lái)不怎么增加開(kāi)發(fā)成本但體驗(yàn)提升非常明顯。5.2 這個(gè)項(xiàng)目還能往哪些方向擴(kuò)展如果這個(gè)項(xiàng)目要繼續(xù)迭代我最建議加一個(gè)管理后臺(tái)因?yàn)檫\(yùn)營(yíng)校園二手平臺(tái)總得有人處理違規(guī)商品和用戶糾紛。管理后臺(tái)可以復(fù)用后端的接口單獨(dú)做一套 Web 前端用 Vue 或 React 都行核心功能包括商品審核、用戶管理、訂單數(shù)據(jù)看板。第二個(gè)優(yōu)先級(jí)是對(duì)消息通知的完善?,F(xiàn)在消息中心的實(shí)現(xiàn)是被動(dòng)拉取用戶離開(kāi)小程序后就不知道自己的商品有沒(méi)有被留言。接入微信的訂閱消息后可以在被留言、訂單狀態(tài)變更時(shí)推送模板消息用戶留存率會(huì)高很多。這里注意訂閱消息的模板要提前申請(qǐng)而且推送是一次性的需要在用戶觸發(fā)操作時(shí)向后端傳遞授權(quán)結(jié)果。再往后可以考慮做價(jià)格參考和信用體系。價(jià)格參考可以從歷史成交記錄里算同品類均價(jià)幫買賣雙方定一個(gè)公平價(jià)格信用體系可以來(lái)自用戶完成訂單數(shù)量和實(shí)名認(rèn)證不用太復(fù)雜一個(gè)信譽(yù)分字段加上最近 30 天成交記錄就夠了。這些擴(kuò)展不會(huì)改變核心交易鏈路但能把系統(tǒng)的可用性往上拉一個(gè)臺(tái)階。5.3 最后分享一點(diǎn)我踩過(guò)的坑最后說(shuō)一個(gè)我印象最深的坑開(kāi)發(fā)初期我直接用了懶加載的圖片組件wx.lazy-load結(jié)果首頁(yè)瀑布流的圖片在快速滑動(dòng)時(shí)經(jīng)常出現(xiàn)空白占位用戶以為頁(yè)面出 bug 了。調(diào)試了很久發(fā)現(xiàn)是圖片 URL 不帶寬高信息組件無(wú)法預(yù)知尺寸。我最終的處理是后端返回圖片時(shí)順帶返回寬高比前端拿到比例后立即布局再配合懶加載這個(gè)問(wèn)題就消失了。類似這樣的細(xì)節(jié)還有很多比如訂單號(hào)不能只靠時(shí)間戳、發(fā)布按鈕在 Tab 中間不能是普通頁(yè)面跳轉(zhuǎn)、退出登錄必須清掉本地存儲(chǔ)和緩存。這些都是文檔里不會(huì)寫、但真要做產(chǎn)品時(shí)躲不過(guò)去的細(xì)節(jié)。希望這篇內(nèi)容能幫你少走幾步彎路把精力花在真正有意義的功能和體驗(yàn)上。
返回列表
PREV
查看更多資訊
NEXT
返回資訊列表
亚洲精品819| 后X久久| 欧美在线天堂| 亚洲熟伦熟妇AV无码春色| 久久久久密臀视频| 99re28在线观看| 日韩天天综合| 国产精品久久久久无码A√| 秋霞影音一区二区三区| 黄污污污污| 妇女视频网站| 性无码专区2020| 欧美系列在线一区二区| 99国产精品人妻人伦| 一本一道久久综合久久| 色色色日本| 伊人久久婷婷| 精品无码一二三四区| www男人天堂| 3p国产色噜噜一区| 二级久久网| 日韩啊V| 91久久久久久| 日骚逼视频| 中文字幕亚洲永久精品| 中文字幕天天天天天| 久艹99| 亚洲精品一区二区日本| 99综合自拍| 91色人妻| 青青草伊人久久| 欧美姓爱综合网| 五月天婷婷小说| 国产九区| 精品人妻无码一区二区三区不卡-精品人妻无码一区二区...|精品少妇一区二区三 | 成人情色综合网| 久操网视频| 五月婷久久| 五十路熟女工口 | 欧美亚洲色的图| 精品国产无码中文| 区日韩亚洲乱码av电影| av网站国产主播在线| 一区二区三区四区五区高清无码永久视频 | 色天使亚洲综合在线观看| 日韩情色AV| 国产精品久久久久久久毛片1| 97超碰69| 日韩精品在线观看观看| 夜夜福利| 99ri视频| 综合色99| 欧美劲爆第一页| 久操B网| 亚洲精品性爱片| 爱爱动态试试看6 0秒| 18禁中文字幕| 偷拍盗拍亚洲色图图片| 土豪酒店各种姿势玩弄极品幼稚| 国产亚洲国产超碰| 96久久久久久久| 97色婷婷| 日韩精品碰碰| 神马午夜久久| 99国产精品久久久久久久成人热| 91呆哥人妻| 人伦四五区| 老熟女91av| 日韩无码操逼片| 少妇激情一区二区三区视频| 婷婷美人网| 先锋激情∨在线视频播放| 超碰碰97资源站| 欧美91网站| 国模限制级电影| 免费观看的黄色的网站| 日韩中文字幕国产| 欧美激情视频一区二区| 美女爽爽爽刺痛洞洞| 亚洲91av| 欧美亚洲一级在线观看| 亚洲高清视频在线免费观看| 久久25| 日韩亚洲国产视频| 91搡老女人老妇女老熟女歌词翻译| 久久发布国产伦子伦精品| 亚洲97久久精品亚洲| 欧亚日韩一区在线| 加勒比综合88| 26uuu久久| 我要色综合网| 精品人妻无码一区二区三区不卡-精品人妻无码一区二区...|精品少妇一区二区三 | 加勒比伊人综合| 91色碰| 久久婷五月天| 动漫爆乳3D奶水一区在线观看 | 日日97| 天综合中文| 亚洲欧洲国产综合av| 色黄污美女啪啪啪免费网站| 亚洲伊人成综合成人网| 欧美v日韩v亚洲v最新在线| 熟女人妻一区二区三区免费看 | 最新日本中文字幕| 99热精品青草在线| 中文字幕精品人妻丝袜| 久久蜜桃综合网| 福利操逼| 亚洲欧美日韩二区视频| 婷婷丁香九月| 日韩欧美中文| 日韩乱插| 亚码激情| 99色综合| 影音先锋国产精品| 天天日天天爽| 少妇超碰在线| 亚洲国产一级中文综合久久天堂在线免费观看| 1956日韩精品| 99九九久久| 久久蜜色情在线视频xxx免费观看| 国产极品久久久| 伊人久久亚洲中文字幕不卡| 精彩久久中文| 97K超碰在线| 青春草A| 天天操人人操骚逼网站| 久久av网| 婷婷九月国产| 九九九999久久久网站| 亚洲丝袜二区在线| 久久激情婷婷| www.伪伪| 黄色网址久久精品欧美喷水| 久久婷婷伊人| 国产黄色动态精品| 蜜桃天美传媒AV一区二区三区| 人妻喷水| 97国产精品久久久久| 日本不卡免费二区| 亚洲av综合色区图片亚洲| 澳门特级毛片免费观看| 玖玖97综合| 日本一天色道久久久精品视频| 操死我了嗯嗯嗯| 大香蕉日韩欧美| 91中文字幕在线观看| 国产第11页| 91成人亚洲色图| 亚洲图片欧美色图| 91成人久久| 综合网欧美在线| 精品超碰中文在线| 91色射| 亚洲精品久久久久久久蜜桃臀| 搡老女人老91妇女老熟女| 67914亚洲精品| 伊人操操| 2025亚洲男人天堂| 在线日韩精品一区二区三区| 人妻91少妇| 欧美综合区| 在线视频一区二区传媒| 熟女一区二区三区| 97网色| 老熟女乱伦片| 自拍视频大全亚洲专媒视频/一区二区三区 | 国产乱不卡| 五月天亚洲色图| 超碰成人公开| 91xingse| 操久久久久| 一级片在线观看高清无码| 这里只有精品久久| 78精品在线| 狠狠操官网| 日韩熟女无码| 欧日韩一二三f区| 内射夫妻三片| PMv在线观看| 开心五月婷婷激情| 欧美日日人人天天| 人人操人人操人人人操| 国产精品一区二区在钱播放| 2020天天色综合| 在线无码视频| 青青草亚洲一区 | 综合久久婷婷| 久久精品女同亚洲女同13| 色综合久久av| 麻豆性爱视频在线播放| 国产乱不卡| 日本一区二区亚洲综合| 亚洲天堂热| a片亚洲一本通视频| 激情小说日韩无码| 欧美激情性爱视频网站| 色天天野狼综合社区| 一区不卡在线观看av| 久久久久免费少妇| 超碰精品97| 一区二区三区精品久久| 久久黄黄黄| 人妻熟女av国产网站| 欧美综合网1| 国产精品不卡一区二区电影| 国产欧美伊人| 肏逼视频日本| 欧洲乱码视频| 一区二区三区免费岛国片| 97超碰免费人人性爱| 亚洲 小说 欧美 激情 另类| 9超碰免费| 亚洲欧美成人网站AAA| 爱爱动态120秒| 香蕉99秘 一区精品蜜桃臀| 97自拍视频在线| 亚洲色交| 狠狠做深爱婷婷久久二区| 亚洲精品白丝| 亚洲精品a人片在线观看视| 男人的天堂2018东京热啪啪啪| 欧美丝袜91| 熟女精品一区二区三区| 国产乱伦性爱区| 国产精品天干天干综合网麻豆 | 国产13区| 日韩精品在线观看观看| 97欧美| 爆乳免费黄网站| 精品久久久久久中文字幕视频免费| 又大又黄国产| 波多野结衣一级视频| 五月开心久久AV官网| 免费看A片毛毛片在线播| 偷拍99| 中文字幕视频在线观看一区二区| 国产成人99久久亚洲综合| 91国产美女丝袜足交精品视频 | 乱伦日本中文自拍| 久久久青草青青国产亚洲免观精品高清完整版_97久久综合区小说区图片区,国精品 | 激情视屏国产乱伦强奸| 97伊人网| 日韩啪啪啪视频| 欧美在线观看综合国产| 亚洲色图欧美色图制服诱惑| 日本女优在线视频福利| 国产三级多多影院2022国产AA一级毛片无码 | 日本中文字幕熟妇| 日韩国产乱子伦App| 中文字幕精品亚洲熟女| 久视频在线观看| 看日韩操逼| 亚洲在钱| 久久婷婷影院| 91快色色色色色| 熟妇熟女一区二区三区| 豆花视频操逼网址| 亚洲天堂中文字幕无码男同| 久久成人国产| 午夜精品久久久久久久男人的天堂| 精产国品一区二三产品| 操人91| 色综合V| 天天综合站| 欧美日韩99精品麻豆传媒| 综合久久六月久久婷婷| 2024年最新色情网站在线观看| 97chaopenrihan| 四季AV综合网址| 91九色精品熟女内射| 99视频这有这里有精品| 97手机日韩| 日本黄页视频在线观看| av午夜玫瑰| 色婷五月天| 操逼视频免费日韩无码| 久久国内| 久久久久免费看少妇A片特黄| 91欧| 亚州欧美在线| 91亚洲综合在线| 久9爱经典视频| 加勒比av中文| 欧美91丝袜| 天操老女人| 少妇一区二区三区在线观看| 精品射1999| 天美传媒国产原创中文字幕亚洲欧美另类 | 美女大乳久久久久久久女人18| 中文字幕五区| 国产999精品久久久久久| 手机看片1025| 乱伦熟女区| 欧美性爱伊人| 国产三区免费在线观看| 国产网站在线播放| 国产大学生口爆吞精合集| 国产精品白丝在线播放| 欧美一区二区三区入口| 26uuu欧美日韩| 欧美日韩国产另类综合| 2018天天干在线视频| 岛国大片国产| 欧亚乱色熟女一区二区| 色欲日韩欧美在线一区| 日韩AV一起草| 五月天婷婷综合网| 大香蕉在线视频15| 成人久久精品| 中文熟女五十乱码在线| 亚洲 欧美 第一页| 精品无码秘 人妻一区二区| 97干97色| 精品久久无码午夜福利| 国产成人一级av88| 久久久九九网站| 激情五月天婷婷| 大香蕉亚洲中文| 欧美超碰9798| 久久精品免视看国产成人﹣蜜臀av一区. 久久精品免视看国产成人,蜜臀av一区 | 91天堂| 亚洲在线欧美| 17c在线成人免费A片观看| 八戒午夜福利理论片| 国产精品69人妻无码久久久| 国产精品熟女乱伦| 日韩国语字幕| 久久超碰98| 麻豆色约约| 精品国产乱码久久| jk白丝没脱就开始啪啪| 综合色久| 吉田爱美AV在线| 亚洲熟妇综合久久久久久| 日韩91网| 特级特黄一级毛片免费| 999岛国大片| 91在线美女| 天美传媒Av在线| 久久这里只精品| 成 人 A V免费视频在线观看| 一区二区三区亚洲| 色玖玖| 国产亚洲欧洲在线观看| 老司机香蕉| 家庭乱伦国产精品| 日本午夜精品理论片A级APP发布| 91女神在线视频| 啊啊啊操死我了| 粉嫩av在线| 最新AV在线| 伊人一区二区在线播放| 日韩一区二区精品视频| 夜夜 中文视频rt| 欧美综合天天| 第一高清av中文字幕| 美腿色图| 日韩15p| 看黄片视频免费| 亚洲日本男人天堂网| 偷拍亚洲情色| 精品人妻中文字幕4399| 搡老女人老妇女老妇老熟女怎么读| 国产精品国产| 五月婷婷六月丁香网址| 精品国产网站| 啊啊啊啊好多水| 欧美强奸乱能| 日本A级视频| 97精品在线视频| 全免费a敌肛交毛片免费| 99自拍B亚洲 | 亚洲极品| 久操网视频| 久久久9视频| 男人天堂导航| 亚洲砖码砖专无区2023| 91天天综合网,天天综合网| 免费亚洲黄色视频在线观看| 久久人人爽爽人人爽人人片αV| 熟女性视频| 亚洲国产97| 久操com| 天美国产三级传媒| 97色碰| 青青网三级视频| 少妇贴图| 国产av尤物| 欧美在线亚洲| 亚洲精品亚洲人成人网| 成人九九| 丁香五月社区| 日日超碰亚洲| 色婷婷激一区二区三区| 欧美日动态视频| 99老司机精品视频在线观看| 日韩美女高潮喷水视频| 97在线精品观看视频| 欧洲一区二区三区免费| 精品人妻av在线播放| 1204av韩国| 欧美1区二区三区公司 | 免费啪啪啪网站18岁| 人澡逼| 国产一区二区三区精品观看啪| 中文字幕精品亚洲熟女| 97干在线视频| 久九色| 乱理日韩中文| 精品国产乱码久久久久久口爆网站| 劲爆欧美人妖三区91| 国人欧美精品一区二区| 18+91网站| 婷婷色网| 摸奶性爱视频网站在线免费播放| 久久超碰97中文字幕| 韩国黄片aaaa| 久草看看看| 亚洲 欧美 中文 日韩超碰| 大香蕉伊人网| 蜜臀久久在线视频| 在线观看精品国产免费| 亚洲色图 欧美| 久久宗合亚洲| 正在播放:深夜激情大战,自带黑丝袜全力输出骚穴 | 在线综合 亚洲 欧美中文字幕| 99黄页网站| av在线资源| 思思热一热婷婷热一热| 黑人粗大V S日韩女优视频| 精品人妻伦一二三区久久| 国产精品高潮久久久无码| 超碰 av 女人天堂| 天天干,天天日| 国产福利一区二| 色偷偷男人的天堂麻豆| 婷婷尹人大香蕉免费| 亚洲av无码国产精品字幕| 97精品在线| 熟女人妻av在线资源,黄色的资源| 久久欲| 久久久涩| 成人久久精品| 97免费在线视频在线观看| 秋霞免费AV| 亚洲欧美成人网站AAA| 91国产在线精品| 久久人妻视频网| 约操熟妇| 不卡av免费在线网址| 偷拍新久久| 国产精品午夜成人福利| 亚洲人妻一区二区三区| 国产地址二三| 人妻 欧美亚洲| 国产av白丝| 成人日本视频人妻在线| 五月婷婷六月丁香网址| 草草电影院| 老鸭窝在线视频播放| 天天天乱色综合全| 日韩人妻操B| 久久精品性| 日韩激情啪啪啪| 日韩色| 国内精品久9| 97er欧美性| 久久久99久9| 不卡免费av在线播放| 99国产精品视频尤物| 久久永久无码人妻视频| 天天综合中文字幕 91| 亚洲乱熟女一区二区| 欧美78| 超碰人人操97碰| 色姑娘综合网| 97综合在线| 99超碰网| 碰人碰碰人人开房人肉| 欧美传媒一区| 综合欧美日韩在线| 成人热久久精品| 有码人妻系列| 99re69综合| 国产久久一区二区三区野外在线| 91人妻人人妻| 亚洲精品丝袜| 亚洲A色| 日韩熟女精品无码专区一区二区| 草草影院最新网址| 公司1区2区3区精产精| 五十路一区无码| 成年人三级黄色片视频| 色www精品视频在线观看| 成人天天看站长推荐| 天天操女人| 欧美激情总合网| 国产乱码久久| 久久这里精品国产99丫e6| 日本精品人妻少妇一区二区| 日韩传媒在线| 婷婷精品国产一区二区三区日韩| 丁香六月东京热| 亚州色站 日韩电影| 国产小u女在线观看| 国产91av在线播放| 密臀在线一区尤物| 天天综合91| 强被迫伦姧在线观看无码网站| 视频国产成人精品日本亚洲18| 亚洲欧洲成人在线电影| gogogo免费高清看中国国语| 国产精品久久久无码AV网站| 国产乱伦性爱AV| 婷婷激情五月| 在线视频一区二区传媒| 久久高清无码夜夜操| 蜜桃网熟妇| 校园春色五月天| 黄色片A级一区二区三区| 亚洲AV无码AV吞精久久久久| 91色婷婷综合久久中文字幕二区| 高凊专区人人操| 天天天天天天天天综合| 亚洲成人帖图| 欧美国产精品久久九九| 国产自产自拍| 欧洲色| 欧美狠狠弄| 亚洲偷91色| 国产91 丝袜在线播放00-百度| jizz啪啪| 五月色综合| 性色国产东北露脸精品视频| 成人情色综合网| 亚洲国产精品无码AV久久| 欧美另类精品xxxx| 久久久爆乳翘臀一线天伦理视频| av麻豆啪啪| 日日骚网站| 日韩欧美成人午夜福利| 人妻久久久| 成人欧美日超碰| 久久春色| 精品一区二区成人动漫| 亚洲永久AV无码精品秋霞| 久久久久久99999国产精品| 久久只有精品| 天天天天干| 亚洲熟女乱色一区二区三区久久久| 成人国产二区三区在线,男女精品。| 乱伦一区二区三区‘| 性色一线| 蜜臀99久久国产| 国产一区二区精品久久99| 日韩情色视频| rion磁力链接| 留下AⅤ黄色片| 国产精品色哟哟| 中文久久久| 日韩AV熟女乱伦| 91l欧美在线| 五月婷亚洲精品天堂| 久久免费精品视频免一| 日韩精品大香蕉伊人在线| 日本伦乱九九九综合| 柠檬AV导航| 亚洲一二三四区在线免费看视频| 韩国女主播青草在线| 99青草| 九九九只有精品| 97国产精品| 激情综合五月婷婷| 中出人妻中文字幕91在线| 日韩免费看在线黄色片| 第45页一区二区| 色香AV| 98色网| 肥臀熟女一区二区三区视频| 一级性爱aaaa| 超碰97.com| 日本国产欧美高清在线| 屁股久久久久久久久| 成人日韩3| 自拍视频大全亚洲专媒视频/一区二区三区 | 伊人影院中文字幕| 九九九色| 九一屌逼| 国产精品网址| 老鸭窝黄色视频网站| 亚洲国产婷婷在线播放| 99热日| 国岛片视频| 亚洲色图8| 五月丁香色色网| 国产91 丝袜在线播放 | 亚洲综合中文字幕有码| 久久久一二三四区| 久久精品国产精品亚洲艾通辽熟妇| 激情小说激情视频| 人人喜人人妻| 人妻一区二区三区视频 | 精彩视频日韩| 久热在线精品免费观看| 加勒比东京热五月天天堂网| 久久东京国产精品视频| 精品国产乱码久久久| 一二三四免费视频| 性饥渴少妇av无码毛片| 国产乱子伦一区二区三区免看| 亚洲国产激情国产av| 日本韩国五十路六十路七十路老熟女作爱视频网站| 日日夜夜干| 人人操人人摸人人骑| 欧美婷婷久久| 国产激情av女片自拍| 超碰在线免费一区二区三区| 日韩一999精品| 精品国产人成在线| 久久久555| 亚洲欧美中日韩| 首页中文字幕中文字幕免费| 天天噜| 青木玲在线不卡| 日本久久精品| 国产美女自拍AV| 欧洲站一级二级三级h| 91国产精品熟女| 丝袜剧情| 97亚洲精品| 啊啊啊啊好疼视频| 国产蜜臀精品一区免费尤物| 手机在线播放国产福利| 国产精品天堂| 欧美一区二区三区成人性生活| 色五月婷婷五月天| 日韩av不卡在线看| 国产乱子伦一区二区三区在线观看| 国产AV人人 夜夜人人澡| 国产精品久久伊人| 老司机深夜18禁污污网站| 亚洲精品久久久久久| 欧美在线伊人色| 麻豆啪啪啪视频| 九九精品99| 亚洲激情视频| 熟妇视频一区二区三区在线观看| 久热这里只有精品9| 啊视频在线| 国产第12页| 国产精品久久久久久久久久久久久久| 性性久久| se..亚洲欧美| 亚洲美乱| 性色av大全| 久操网在线| 2020久久免费视频| 五月婷婷丁香六月丁香| 麻豆区99999| 一级片视频啪啪| 日本不卡高清免v欧美日韩在线观看| 欧美色青| 午夜福利久久久噜久噜久久综合| 精品无码久久久久久久久果冻糖心| 熟女丰满人妻一区| 看日韩黄片| 99亚洲人人| 懂色天天爱天天日天天射天天澡| 97视频在线视频| 国产伦乱91| 熟女少妇一区二区三区| 91亚洲人电影| 91在线精品一区二区三区| 欧美日韩大陆黑人少妇99| 国产亚洲日韩在线三区黑人| 在线播放中文字幕| 日本三级久| 一区二区精品日韩欧美在线观看| 久久九精品| 91精品91久久久中77777| 综合网91| 天堂资源站| 午夜福利成人免费视频| 色牛aV| 99re6国产精品99re| 美日韩成人| 性色AV蜜色av色欲av| 综合久久99亚洲人妻中文在线| 亚洲经典啪啪| 强奸抽插av| 欧美性少妇| av婷婷色网| 日韩欧美字幕亚洲一区二区| 久久九色| 亚洲在钱| 国产偷仑| 精品视频久久久久九九九九9999| 成人精品一区二区91毛片不卡| 91国产丝袜白虎| 九九热这里只有在线精品视 伊人草 成人菠萝蜜视频在线观看 | 十八禁视频网站| 日韩精品字幕| 久久男人| 久久久99999久网站| 男人的天堂啪啪啪啪啪蜜桃不卡| 国产家庭乱伦性爱视频| 蜜臀网 一区| 啊啊啊啊啊,啊啊啊啊好舒服,操我舒服啊啊啊| 人妻久久久久久久久久久久久久久| 三级色综合| 亚洲欧美情色| 欧美手机在线综合| 丝袜综合| 美女黄页| 五月香婷婷| 国产福利小视频高清在线观看| 久久伊人最新网址视频| 限制级中的三级片中的黑粗大屌屌日人妻熟女| 97色插| 99热网站| 性做久久久久久免费观看软件| 国产美女销魂在线观看不卡| 少妇综合网| 国色综合天| 玖日综合网| 18禁久极品美女久久哦哟呀!| 亚洲性综合9| 色情综合网| 99久久婷婷国产综合| 黄片免费看的| 免费的黄片有限公司| 国产91精品在线免费| 国产精品久久泡妞网站| 色综九九九一区| 久久久成人免费av电影| 人人操人人射人人干| 日本 免费 一区二区三区 久久香蕉| 亚洲男人天堂Av| www超碰| 国产 码在线成人网站| 色婷婷五月综合激情中文字幕| 伊人五月天激情| 国产日韩欧美亚洲精品95 | 青青欧美| 久久成人午夜狠狠| 久久同城AV| 美女干逼2| 丝袜狠狠草尤物 91| 无码久| 久草草一二三四区久久| 国产十八禁视频| 亚洲视频二区 | 久久久久九九九| 中文久久| 欧美一级黄片视频在线| 久久av成人无码免费| 在线观看色视频| 欧美顶级黄片AAAAA在线免费看| 竹菊影视国产一区二区| 婷婷五月天色色| 熟妇熟女视频一区二区三区| 欧美综合骚| 97视频在| 蜜臀久久精品久久久久视频| 伊人久大| 亚洲精品99999| 欧州一区二区三区四区| 高潮的A片激情扒开一区| 日韩乱中文| 色五月网址| 天天欧美色| 亚洲中文电影| 插B在线观看| 啊啊啊啊好爽好舒服一区二区易域| 久久九色| 国产一级不卡在线观看| 久精品无码av一区二免费国产在线观看| 亚洲国产日韩欧美熟妇在线| 日本天天吊| 加勒比AV天堂| 91亚洲图片| 中国AV美女| 久久久久久AⅤ无码免费肉站| 激情99| 亚洲精品蜜桃久久久久久久| 尤物视频一区| 亚洲欧洲视频小说在线观看| 看日韩黄片| 欧美αv.com| 激情网五月天| 大肉棒导航| 欧美伊人电影| 都市久久精品激情亚洲| 中文字幕日本久久| 91色爽欧美| 久久有码视频| 一区操逼日比视频| 亚洲天堂色图| 婷婷丁香人妻 | 五月丁香影院| 美女黄码视频午夜| 国产精品久久久 | AV免费在线播放一区| 亚洲精品蜜桃久久久一区二区三区| 国产一| 大屁股人妻女教师撅着屁股| 日本三级日本三级99| 青青草啪啪网| 色姑娘综合网| 曰韩av中文字幕专区| 色综合20p| 成人蜜乳小视频网站| 岛国成人av在线播放网址| 欧美爆操91| 加勒比综合88| 熟女视频久久| www被窝色com| 在线观看无码三级少妇| 国产精品对白内射| 唯美清纯 妖精视频| 强奸乱伦日韩AV| 日韩午夜国产| 中文字幕久久婷婷丁香五月天| www.色婷婷| 色天天野狼综合社区| 大黄片做爱的大的| 上床不卡网站| 91一区二区三区蜜桃| 久jiu久神马影院| 蜜臀网 一区| 五月丁香婷婷综合网| 骚日日av| 99热在线观看| 在线播放中文字幕| 国产黄色av大片网站| av线电影| caoni国产亚洲av| 另类视频在线| 国产精品无套内谢| 国产成人精品午夜福利| 黄色一区二区秘书性感| 裸体1区| 欧美一区二区三区入口| 天天内射| 国产懂色精品国产av| 青操影院| 亚洲欧洲综合视频在线| 亚洲中文sv| 五月丁香久久| 91人妻在线视频| 花野真衣| 亚洲色图尤物视频| 人妻少妇精品久久久| 黄页视频网站野外| 热热色国产一二区AV| 伊人久久婷婷| 久久伊人最新网址视频| 好看的91视频| 加勒比久久综合网高清| 欧美综合自拍亚洲综合图| 狠狠色综合网| 日本一区不卡| 亚洲色图国产另类| 国产亚洲日本精品在线| 熟女少妇视频| 日本九九久久99播| 国产一级不卡在线观看| 97资源站国产精品| AV天堂丝袜| 超碰无码加勒比| 精品久久久久成人码免| 久久国产99精品72福利| 天天色天天干天天爱| 白嫩白嫩的午夜九久久久久久久久久久久成人剧场 | 欧美老妇曰批的视频| 日韩精品资源| 一本正道久久熟女| 国产精品蜜乳AV| 激情欧美97| 妇女视频网站| 亚洲夜夜欢无码一区二区| 日韩无码极品| 插入粉嫩少妇视频| 超碰97精品在线| 日韩亚洲中文字幕在线| 精品玖九九久| 欧美久久婷婷| av大香蕉| 大香蕉www.超碰| 亚洲黄色AV电影| 九九九久久久久| 国产久久久久久久久一区二区| 一级性爱视频免费观看 | 91丝袜美腿网站| 日韩丝袜二区| 亚州熟女乱伦| 日韩无码人妻中字久久三区四区| 精产国品一区二三产品| 婷婷综合久久| 熟女五十路一区二区三| 亚洲丝袜诱惑| 热热色AV| 91丝袜激情在线| 天天欧美欧美亚洲网| 亚洲97久久精品亚洲| jazzjazz国产精品麻豆| 久久久久久久久9| 日本999精品| 久久发布国产伦子伦精品| 99热这里只有精品地址| 一区二区免费电影久久| 一区二区影视| 久超碰这里只有精品| 国产五码丝袜屁眼| 久久这里都是精品| 欧美激情综合| 日本 欧美 国产一区| 精品一区二区在线针对华人免费观看这里只有精品免费观看 | 日日夜夜青青草母狗| 资源在线观一 二| 欧美精品自慰系列寂寞少妇| 欧美黑人精品在线播放| 97精品一区二区视频| 欧美懂色综合网| 亚洲综合伊人无码久久| 骚日日av| 精品国产综合久久福利,热99这里有精品综合久久,99热这里只有免费国产精品,精 | 色婷婷五月综合| 国产粉嫩出水在线播放| 3P乱轮视频| 日本三级一区二区 在线| 色欲天天婬色婬香WWW夜色| 亚洲色图图片| 91欧美在线| 欧美一二三| 精品午夜福利| 夜夜躁狠狠躁日日躁av| 香蕉精品二区二区| 69久久| 五月天婷婷社区| 欧美97网| 美女久久久久久久久久久| 91观看 国产白丝| 亚洲欧美碰碰| 精品对白久久不卡| 亚洲男人的天堂va亚洲男人社| 竹菊一区二区三区AV线| 大逼色网站| 丰满人妻一区二区三区免费| 久久久久白虎| 久久久久九九九| 狠狠操使劲操| 最新无码国产| 9丨亚洲一区二区在线| 久久国产免费激情视频| 精品人体无圣光凹凸| 欧美日韩国产中文精品字幕自在自线| 2021久久国产综合精品青草| 香蕉人人操tv| 婷婷五月综合激情| 欧美久久九九| 三上制服丝AV| 亚洲资源网| 亚洲在线A| 99re98| 韩日色费| 国产福利小视频高清在线观看| 操逼日韩无码 | 女生91网站| 国产无码精品高清| 免费A V在线播放| 精品久久一区二区三区四区五区| 国产丝袜美女诱惑| 大香蕉综合在线| 啊啊啊好大好深| 亚洲伊人久久综合97| 久操网无码在线| 人妻av在线| 嗯啊不要啊啊在线观看视频| 精品人妻无码一区二区三区不卡-精品人妻无码一区二区...|精品少妇一区二区三 | 7777奇米影视久久| 亚洲色图亚洲无码强奸乱伦| 麻豆2区1区天美| 欧美夜夜骑视频| 老熟女阿 国产91| 伊人网免费视频| 黑人精品成人一区二区三区| 伊色综合天堂色97| 国产1727欧美| 大香蕉欧美| 凸凹视频在线观看| 夜夜高潮夜夜爽高清视频一| 十八禁一区二区无码观看| 美女诱惑久久| 久久av成人无码免费| 97亚洲性爱| 曰本道人妻久久久在线不卡色视频| 亚洲国产精品无码AV久久| 色yeye成人免费视频| 亚洲精品一区二区三区新线路| 91美女国产在线| 久久精品国产亚洲AV清纯| 免费看日本操逼视频| 午夜精品久久久久| 97爱亚洲| 十八禁啪啦拍视频无遮挡| 99re不伦| 综合久久2017| 曰韩成人免费视频| 亚洲天堂自拍| 91色婷婷综合久久中文字幕二区| 一区二区三区探花在线观看| 日韩99999色| 天天操天天舔| 欧美一区二区三区日韩| 亚洲国产精品久久久男人的天堂| 国产一区在线播放| 在线观看av区| 精品人妻一二三四区视频| 日本成人免费一区二区三区| 日韩有码一区三区| 久9久9久9久9久9久9| 乱伦av麻豆| 韩国女主播青草在线| 九九九久久久| 五月丁香成人网| 色狠狠一区二区三区香蕉| 亚洲中文日韩欧美大香蕉视频| 日本美女性生活久久久久久久| 亚欧美综合网| 丁香婷婷久久| yazhououmeizongya| 黑人精品成人一区二区三区| 另类视频在线| 无码高清国产AV| 一牛一区二区三区久久| 综合久久久久久久久91| 久久中文字幕一区不卡| 99精品九九九九九九| 综合第一页| 久操大香蕉手机视频在线看| 欧美男人的天堂| 另类天堂| 在线强奷到舒服的无码视频| 中美日韩毛片| 欧美日韩制服| 婷婷六月色| 日韩欧美女求操每天更新| 天天天天干| 亚洲欧美黄| 久久精彩视频9| 亚洲无线观看久久| 日韩一级二级在线| 97爱b| 蜜臀久久99精品久久久久久酒店| 日本欧美一区二区三区视频麻豆| 91美女视频在线| 国产av波波国产精品| 色综合超碰超| 搡老熟女老女人老熟妇免费视频| 欧美黑人168页欧美黑人167| 99热最新| 中文字幕一区av| 伦在线97| 日本精品中文字幕视频| 狠狠夜色午夜久久综合在线| www.av在线视频| 狠狠爱夜夜干| 综合婷婷| 国产精品国产亚洲区艳妇糸列| 久久熟妇五十路一区| 亚洲一级性爱视频免费看| 久操| 亚洲图片 91| 久久久久久国产成人| 日本最新1区2区3区| 九九Av| 久草精品国产99| 蜜桃精品视频一区二区三区| 亚洲va综合va国产va中文| 国产精品又黄又猛又粗| 天天躁狠狠躁av| 久热免费视频| 午夜精品久久久久久久久久蜜桃| 人人摸人人舔一区二区| 天天干少妇| 91深夜夜| 人妻色偷色噜| 台湾佬中文娱乐网久久久久久久久久com | 天美传媒麻豆一区二区三区国产精| 黄色小视频日本txt| 九九九久久久久| 无套内射性感少妇视频| 欧美黄色手机在线观看| 97超碰中文| 久久久艹艹艹| 日韩欧美俄罗斯A片| 精品一区二区三区国产| daxiangjiao你懂的| 天堂av2019| 免费看污网址| 青娱乐淫乱1314| 激情四射熟女丝袜| 97视频网站在线观看| 懂色AV蜜臀无码精品APP| 欧美A片中文字幕| 亚洲欧洲精品成人| 久久露脸国产老熟女| 九九九精品美女| 日本操BAV| 日本新免费二区三区| 九九伊人网| 久久成人国产| J?P?NESEHD熟女熟妇伦| 亚洲熟女乱综合一区二区在线-...亚洲国产日韩欧美一区二区三区,久久久久久精 | 亚洲综合有玛| 九九久久综合| 美女午夜福利免费视频| 免费AV中文网在线观看| 日本2020一区二区| 国产在线精品电影观看| 欧美有码亚洲中文字幕一区二区三区四区 | 一区在线国产播放| 国产一级特黄大片处女| 美女被啪到深处抽搐视频| 亚洲久久天堂| 大香交| 青青草久草AV| 亚洲一本色码中文字幕| 国产夫妻一区二区| 又大又白奶子| 99精品无码| 天天综合欧美综合| 极品色www影院| 美国aaaaa一级黄片| 久久精品欧美一区二区三区不卡| 伊人国产成人av网站| 亚洲色电影在线| 亚洲 欧美 日韩另类 麻豆| 久久亚州大香蕉| 日韩精品系列| 国产精品在线一区二区| 大香蕉国产中文自拍| GVH-003 母子姦 青木玲-麻豆视频,麻豆视传媒短视频网站入口,麻豆视传媒官网直 | 国产精品久久泡妞网站| 综合五月天| 97碰碰色| 久久97精品久久久久久久不卡| 久久爱97| 国产精品免费视频人成| 欧美日韩操操操| 日韩有码 一区二区三区| 日韩兔费看黄片| 97欧美视频| 欧美综合第一页| 久久噜噜噜精品国产亚洲综合| 99色热国产视频精品| 国产小黄片在线免费观看 | 欧洲乱码视频|