99精品久久精品一区二区-亚洲熟妇无码?v在线播放-日本国产精品无码字幕在线观看-久久久亚洲永夜AV-亚洲一级无码一区二区一-免费国产成高清人在线视频-中文字幕乱码免费观看-国产毛片精品妇女久久久

ARTICLE DETAIL

資訊詳情

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

Python+Vue游戲裝備交易商城系統(tǒng):架構(gòu)設(shè)計與實(shí)戰(zhàn)全解析

Python+Vue游戲裝備交易商城系統(tǒng):架構(gòu)設(shè)計與實(shí)戰(zhàn)全解析 “基于PythonVue的游戲裝備交易商城系統(tǒng)”這個標(biāo)題我太熟了。這幾乎是每一屆想做點(diǎn)東西但又不想只寫個管理系統(tǒng)的同學(xué)都會碰到的題也是后臺私信里被問得最多的項目類型之一。但說句實(shí)話真正把“交易”兩個字做明白的十個里可能不到兩三個。原因很簡單普通電商的商品是標(biāo)準(zhǔn)品游戲裝備是非標(biāo)品它牽扯到出售者、購買者、平臺審核、虛擬物品交付、資金托管這些環(huán)節(jié)任何一個地方想當(dāng)然后面就是連環(huán)坑。這篇文章就圍繞這個系統(tǒng)把我實(shí)際做下來的一套完整方案、代碼結(jié)構(gòu)和踩坑記錄拆開來講。無論你是拿它做畢業(yè)設(shè)計還是想自己搭一個類似的交易平臺練手或者是準(zhǔn)備寫進(jìn)簡歷的實(shí)戰(zhàn)項目這篇文章都能讓你少走很多彎路。我不打算貼大段完整代碼因為代碼真正難的地方不在“寫出來”而在“為什么這么寫”。我會把架構(gòu)、數(shù)據(jù)庫設(shè)計、狀態(tài)流轉(zhuǎn)、并發(fā)處理、前后端聯(lián)調(diào)、部署這些問題都過一遍順便告訴你每步的取舍邏輯。照著做這個項目能真正跑通。1. 項目到底在做什么先把需求拆明白1.1 游戲裝備交易商城不是普通電商普通電商網(wǎng)站商品就是實(shí)物或者虛擬物品下單、付款、發(fā)貨、確認(rèn)收貨中間還穿插售后。游戲裝備交易商城最大的區(qū)別在于三件事第一裝備是非標(biāo)品。同一個游戲里的一把武器可能因為等級、強(qiáng)化等級、附魔、耐久、詞條、綁定性不同價格天差地別。所以不能像普通商品一樣只掛個標(biāo)題和價格必須支持自定義屬性、詳細(xì)描述、甚至多圖展示。第二交易流程涉及**“擔(dān)?!?。買家怕付款后拿不到裝備賣家怕裝備交出后收不到錢。所以典型的裝備交易商城會有“平臺擔(dān)?!钡母拍钔婕野蜒b備寄存到平臺或指定角色系統(tǒng)標(biāo)記為“寄售中”買家下單付款后平臺再把裝備發(fā)給買家賣家收到的是扣除手續(xù)費(fèi)后的錢。整個過程有清晰的狀態(tài)機(jī)**。第三裝備是唯一性物品。每一件設(shè)備在游戲里都有獨(dú)立的ID在平臺上賣出一件后這個裝備就變成“已售出”不能再掛第二次。這在技術(shù)上意味著賣家上架裝備時必須提交唯一標(biāo)識賣家下架、售出、凍結(jié)都要有嚴(yán)格狀態(tài)流轉(zhuǎn)不能出現(xiàn)兩個人同時買到同一件裝備。1.2 角色與核心流程一個完整的游戲裝備交易商城至少涉及三類角色賣家、買家、平臺運(yùn)營者管理員。賣家要能注冊登錄、實(shí)名認(rèn)證、發(fā)布裝備、修改裝備信息、下架裝備、查看訂單、提現(xiàn)收益。買家要能瀏覽裝備、按游戲/服務(wù)器/裝備類型篩選、搜索、收藏、加入購物車、下單、支付、確認(rèn)收貨、申請售后。管理員則要做裝備信息審核、違規(guī)處理、訂單仲裁、用戶管理、系統(tǒng)配置。核心交易流程設(shè)計成這樣子賣家發(fā)布裝備填寫游戲區(qū)服、裝備名稱、屬性、售價、庫存件數(shù)一般就1件、裝備截圖。平臺審核裝備通過后裝備狀態(tài)變?yōu)椤吧霞堋痹谇芭_可見。買家搜索或瀏覽到裝備下單并支付到平臺虛擬錢包。系統(tǒng)鎖定該裝備同時通知賣家發(fā)貨線下交易裝備或平臺自動發(fā)貨。賣家確認(rèn)發(fā)貨后買家確認(rèn)收貨。平臺將貨款打到賣家賬戶余額同時扣除一定比例的手續(xù)費(fèi)。賣家可申請?zhí)岈F(xiàn)平臺打款后完成交易。你看這一步都不能想當(dāng)然。很多新手做的商城下單后直接把裝備狀態(tài)改成“已售”萬一買家不支付怎么辦被惡意下單掛單怎么辦都得靠狀態(tài)機(jī)來解決。1.3 技術(shù)棧選型為什么是PythonVue這套組合在近幾年的開發(fā)需求里幾乎成了前后端分離的“標(biāo)準(zhǔn)答案”。后端用Python生態(tài)里有兩個成熟的Web框架Django和Flask。Django自帶Admin后臺、ORM、認(rèn)證、路由適合快速搭建完整業(yè)務(wù)系統(tǒng)Flask更輕自由度更高適合自己掌控結(jié)構(gòu)。我個人更推薦拿Django做這種交易系統(tǒng)因為Admin后臺可以幫管理員省掉大量重復(fù)開發(fā)工作而且ORM在處理裝備狀態(tài)、訂單這類關(guān)系型數(shù)據(jù)時非常順手。前端用Vue核心原因是組件化和響應(yīng)式。裝備列表、篩選器、購物車、訂單狀態(tài)這些東西拆成Vue組件后復(fù)用和維護(hù)都很舒服。Vue的Vuex或Pinia處理購物車、用戶登錄態(tài)這類共享狀態(tài)也成熟。加上Vite構(gòu)建工具和Element Plus組件庫后臺管理頁面能快速拼出來。選擇這套方案的另一個理由資料多。遇到問題搜索時DjangoVue這個組合的踩坑記錄非常豐富這對開發(fā)經(jīng)驗還不算特別充足的同學(xué)尤為重要。2. 系統(tǒng)設(shè)計與數(shù)據(jù)庫模型先把地基打好2.1 前后端分離架構(gòu)很多人做這個項目時一上來就寫代碼這是我最不建議的做法。項目涉及多個實(shí)體、多種角色、復(fù)雜的訂單和錢包邏輯數(shù)據(jù)庫關(guān)系沒理清楚后面寫每一條查詢都痛苦。先確定架構(gòu)前端Vue應(yīng)用跑在Nginx上后端Django跑在Gunicorn/uWSGI上前后端通過RESTful API通信。登錄認(rèn)證采用JWTJSON Web Token后端返回Token前端存儲在localStorage或Cookie里每次請求帶上。數(shù)據(jù)庫用MySQL緩存和簡單隊列用Redis。整個架構(gòu)不是特別復(fù)雜但足夠支撐一個真實(shí)可用的交易平臺。2.2 核心表結(jié)構(gòu)設(shè)計數(shù)據(jù)庫是整個系統(tǒng)的核心我按業(yè)務(wù)模塊拆分設(shè)計。用戶表用戶名、密碼哈希、郵箱或手機(jī)號、注冊時間、賬號狀態(tài)、賣家等級、買家等級、是否有賣家權(quán)限。這里要特別說明游戲裝備商城最好把“賣家身份”和“普通用戶身份”分開。默認(rèn)注冊用戶只能買東西要賣裝備必須提交實(shí)名信息或繳納保證金后臺通過后才有賣家權(quán)限。這個邏輯可以用is_seller布爾字段或關(guān)聯(lián)一張“賣家資質(zhì)表”實(shí)現(xiàn)。裝備表這是重點(diǎn)表字段大概可以這樣設(shè)計我用簡單的表結(jié)構(gòu)描述字段說明id裝備唯一編號seller_id賣家用戶IDgame_name游戲名稱server_name服務(wù)器名稱category_type武器/防具/飾品/材料等title裝備標(biāo)題unique_identifier游戲內(nèi)裝備唯一IDdescription詳細(xì)描述支持富文本price售價分為單位original_price原價用于打折status0-草稿1-待審核2-在售3-已售4-已下架5-凍結(jié)images裝備截圖JSON數(shù)組attributes自定義屬性JSON例如強(qiáng)化等級、傷害值view_count瀏覽次數(shù)created_at / updated_at時間戳把a(bǔ)ttributes設(shè)計成JSON字段是為了適應(yīng)不同游戲的差異。不同游戲的裝備屬性完全不一樣做成硬編碼字段會累死。JSON字段的缺點(diǎn)是查詢性能差一點(diǎn)但裝備列表的篩選通?;趦r格、游戲、裝備類型不會對著屬性字段做精確匹配所以影響不大。訂單表訂單號、買家ID、賣家ID、裝備ID快照信息、金額、手續(xù)費(fèi)、實(shí)付金額、狀態(tài)、支付時間、發(fā)貨時間、完成時間、備注。這里有個關(guān)鍵點(diǎn)做裝備快照。因為裝備在交易過程中可能被賣家修改買家下單時看到的必須是一個不可變的快照否則很容易產(chǎn)生糾紛。最簡單的做法是在訂單表里冗余一份裝備標(biāo)題、圖片、主要屬性下單時從裝備表復(fù)制過來。這樣既保證買家看到的和實(shí)際交易的一致又避免關(guān)聯(lián)查詢裝備表。錢包表用戶ID、可用余額、凍結(jié)余額提現(xiàn)中的錢、累計收入、累計提現(xiàn)。交易平臺的錢不能直接走第三方支付把每筆錢都打給賣家那樣無法抽成和仲裁。所以設(shè)計為買家付款后錢進(jìn)入“平臺錢包”賣家賣出裝備后貨款進(jìn)入“錢包余額”可申請?zhí)岈F(xiàn)到銀行卡。支付流水表訂單ID、交易類型充值、支付、退款、提現(xiàn)、金額、支付渠道、渠道流水號、狀態(tài)、創(chuàng)建時間。所有錢的變動都要走流水方便對賬。2.3 裝備唯一性與狀態(tài)機(jī)設(shè)計裝備的唯一性不能靠“裝備標(biāo)題唯一”來保證必須靠unique_identifier字段同時加上游戲名、服務(wù)器名做聯(lián)合唯一約束。有些平臺會要求賣家上傳“裝備ID截圖”就是為了防止同一件裝備反復(fù)掛售。裝備狀態(tài)機(jī)是系統(tǒng)里最容易寫亂的地方。我的經(jīng)驗是用常量定義狀態(tài)并寫一個狀態(tài)轉(zhuǎn)移表草稿 - 待審核賣家提交待審核 - 在售管理員審核通過待審核 - 草稿管理員駁回在售 - 已下架賣家手動下架在售 - 凍結(jié)被管理員鎖定/糾紛仲裁在售 - 已售買家支付成功且交易完成凍結(jié) - 在售 / 下架后臺處理下單之前一定要判斷裝備狀態(tài)是否為在售下單成功鎖定后要保證狀態(tài)不被其他并發(fā)請求重復(fù)下單覆蓋。3. 后端核心模塊實(shí)現(xiàn)Django與REST框架的配合3.1 項目結(jié)構(gòu)怎么組織用Django做這類項目我建議按App拆分至少包括users、goods、orders、payments、management。每個App保持高內(nèi)聚。users管理用戶、認(rèn)證、錢包和賣家資質(zhì)。goods管理裝備發(fā)布、裝備搜索、上架下架。orders處理購物車、訂單生成、訂單狀態(tài)更新。payments處理充值、支付回調(diào)、提現(xiàn)。management是給后臺用的接口比如裝備審核、用戶封禁、訂單仲裁。這樣拆的意義在于后面加功能時不會把路由、模型、視圖堆成一坨。比如要增加“裝備留言評論”功能直接開一個commentsApp就行不會動核心邏輯。3.2 用戶認(rèn)證與JWT實(shí)現(xiàn)前后端分離下Session不好使因為前端和后端不是同一個域名或端口。JWT是常見選擇。Django官方推薦的djangorestframework-simplejwt這個庫很好用。具體做法配置SIMPLE_JWT設(shè)置令牌有效期。我做的時候是Access Token 30分鐘Refresh Token 7天。登錄接口返回Access和Refresh兩個令牌前端記住它們。Django REST framework的權(quán)限類設(shè)置為IsAuthenticated然后在視圖基類里默認(rèn)保護(hù)所有API再在白名單里放行登錄注冊和商品列表。用戶身份就是在請求頭里帶Authorization: Bearer token通過request.user獲取。這里面有一個容易踩的坑刷新Token的接口不要誤被權(quán)限裝飾器攔截否則前端刷新頁面后Token過期又沒法自動續(xù)期。前端也要封裝好axios攔截器401的時候靜默刷新、重試錯過的請求。3.3 裝備發(fā)布與狀態(tài)流轉(zhuǎn)裝備發(fā)布的核心點(diǎn)不在“保存數(shù)據(jù)庫”而在“校驗和事務(wù)”。賣家提交裝備信息時至少要做這些校驗賣家權(quán)限校驗是否開通賣家功能。unique_identifier在當(dāng)前游戲服務(wù)器下是否已存在一件“在售或待審核”的裝備防止重復(fù)掛。價格是否在合理范圍圖文是否合規(guī)。圖片上傳是否成功一般用云存儲或本地目錄。校驗通過后新建裝備記錄狀態(tài)為待審核。如果項目走自動審核可以省去管理員操作如果是完整入門的項目我建議保留管理員審核這個環(huán)節(jié)因為它會引出后面“后臺管理模塊”的設(shè)計也讓整個交易安全度更真實(shí)。裝備的修改需要加一個限制只有狀態(tài)為草稿或待審核被駁回時才允許編輯unique_identifier、價格等關(guān)鍵信息。一旦進(jìn)入在售狀態(tài)就只允許修改描述、圖片這類不影響交易安全的字段。否則買家和賣家可能在交易中因信息變更發(fā)生爭執(zhí)。3.4 購物車與下單流程購物車在數(shù)據(jù)庫層面的設(shè)計有兩種方案基于內(nèi)存緩存Redis或基于數(shù)據(jù)庫表。前者訪問速度快但不穩(wěn)定適合海量非關(guān)鍵數(shù)據(jù)后者更可靠適合需要長期保存、跨設(shè)備同步的場景。做項目的話我建議用數(shù)據(jù)庫表字段就是用戶ID、裝備ID、加入時間、選中狀態(tài)。金額隨時以裝備當(dāng)前在售價為準(zhǔn)。購物車到訂單的轉(zhuǎn)換要注意幾個細(xì)節(jié)下單不是直接創(chuàng)建訂單而是生成“待支付訂單”狀態(tài)為PENDING。創(chuàng)建訂單時要檢查裝備狀態(tài)并鎖定裝備。怎么鎖定把裝備狀態(tài)改為鎖定或者用一個單獨(dú)的交易鎖定表記錄當(dāng)前哪個訂單正在占用它。我推薦后者因為在鎖定期間如果交易取消只需要刪除鎖定記錄恢復(fù)在售即可不用動裝備本身的神秘學(xué)狀態(tài)。而且“裝備被某人鎖定”對交易平臺是一個很自然的業(yè)務(wù)概念。定單金額要記錄“裝備當(dāng)前價格”但前端Javascript傳過來的金額絕對不能信。所有價格必須從后端讀取前端只傳裝備ID和數(shù)量。不然別人改一下請求Body就能一分錢買裝備。4. 前端Vue的實(shí)現(xiàn)要點(diǎn)頁面好寫狀態(tài)管理才是重頭4.1 項目搭建與路由設(shè)計前端我直接采用Vue 3 Vite Pinia Vue Router Element Plus。這套組合現(xiàn)在非常主流Vite速度比Webpack快得多Element Plus做管理端和交易頁面都很方便。路由設(shè)計遵守“頁面組件業(yè)務(wù)模塊”的原則/ 首頁推薦商品、搜索框 /goods/:id 裝備詳情頁 /search 裝備搜索列表 /cart 購物車 /orders 我的訂單 /orders/:id 訂單詳情 /wallet 我的錢包 /publish 發(fā)布裝備 /login 登錄注冊 /admin/* 后臺管理所有需要登錄的頁面統(tǒng)一用路由守衛(wèi)做攔截判斷Pinia里有沒有Token沒有就跳登錄。這里有個很多人忽略的問題不要只在前端做登錄攔截后端接口也要做權(quán)限控制前端攔截只是用戶體驗后端攔截才是安全底線。4.2 API封裝與鑒權(quán)攔截我習(xí)慣在src/utils/request.js里封裝一個Axios實(shí)例統(tǒng)一做三件事設(shè)置基礎(chǔ)URLVITE_API_BASE_URL環(huán)境變量。請求攔截器從Pinia或localStorage里取Token加到請求頭。響應(yīng)攔截器處理業(yè)務(wù)錯誤碼、401登出、403無權(quán)限提示。裝備列表頁這種高并發(fā)數(shù)據(jù)量不小的頁面還需要考慮搜索防抖、loading狀態(tài)、空數(shù)據(jù)展示這些雖然都是小事但直接影響使用體驗。4.3 裝備列表與詳情頁實(shí)現(xiàn)裝備列表頁的設(shè)計核心是“篩選器數(shù)據(jù)列表”。篩選維度包括游戲、服務(wù)器、裝備類型、價格區(qū)間、排序方式價格升序/降序、最新發(fā)布、瀏覽量最高。這些條件組成查詢字符串傳給后端后端用Django的ORM做filter和order_by。這里要注意篩選條件不能全用JS內(nèi)存過濾。如果裝備數(shù)據(jù)量大或者后續(xù)接入幾十萬條數(shù)據(jù)前端一次性拉全量會讓瀏覽器卡死。正確做法是后端分頁條件過濾前端每改變一次篩選條件就重新請求接口。分頁接口建議返回{total, page, results}結(jié)構(gòu)前端配合分頁組件使用。詳情頁除了展示基本信息外重點(diǎn)要展示“交易流程說明”“賣家信用”“裝備唯一性標(biāo)識”。這些是增強(qiáng)買家信任度的關(guān)鍵。我還會在頁面底部做“賣家其他在售裝備”的推薦模塊提升平臺的成單率。4.4 購物車與訂單交互購物車的核心狀態(tài)管理放在Pinia里包括items、selectedIds、totalPrice。添加商品到購物車時調(diào)用后端接口然后更新Pinia的state。這里要注意數(shù)量裝備是唯一性商品每件的數(shù)量只能是1。如果有平臺有“游戲幣”之類的可批量商品才需要數(shù)量和規(guī)格。訂單頁的交互要“清晰直白”。支付按鈕點(diǎn)擊后不能只調(diào)一個接口就說支付成功而是要調(diào)起“虛擬支付確認(rèn)彈窗”用戶二次確認(rèn)后再調(diào)訂單支付接口。支付接口返回成功后前端立刻展示“支付成功等待賣家發(fā)貨”的狀態(tài)。整個過程要給用戶明確的進(jìn)度反饋這也是商城產(chǎn)品和普通后臺系統(tǒng)最大的區(qū)別。5. 前后端聯(lián)調(diào)與關(guān)鍵技術(shù)難點(diǎn)5.1 跨域、代理與聯(lián)調(diào)環(huán)境開發(fā)階段前端跑在5173端口后端跑在8000端口屬于跨域。解決辦法有兩種后端Django配置CORS_ALLOW_ALL_ORIGINS開發(fā)環(huán)境可以用生產(chǎn)環(huán)境必須關(guān)閉并指定白名單。前端Vite配置server.proxy把/api代理到后端地址。這樣在開發(fā)環(huán)境就相當(dāng)于同源請求不需要后端動CORS。我推薦第二種方案因為它更貼近生產(chǎn)環(huán)境的部署形態(tài)。Nginx反代后前端和后端也在同一個域下只是路徑不同。聯(lián)調(diào)永遠(yuǎn)會出現(xiàn)“我以為”的情況我以為后端返回的是game_name后端用的是gameName我以為創(chuàng)建訂單傳goods_id后端接收的是equipment_id。所以接口文檔一定要在聯(lián)調(diào)前定好。建議使用Apifox或Postman先跑通后端接口再讓前端對接能省掉大量扯皮時間。5.2 裝備“在售狀態(tài)”的并發(fā)控制這個坑是真實(shí)發(fā)生過很多次的。兩個買家?guī)缀跬瑫r點(diǎn)擊購買同一件裝備如果不加控制兩個人都下單成功了但裝備只有一件。解決方案有幾種等級最基礎(chǔ)的是事務(wù)加鎖。使用MySQL的SELECT ... FOR UPDATE對裝備行加鎖事務(wù)期間其他事務(wù)無法讀取該行。流程是開啟事務(wù)查詢裝備狀態(tài)并加鎖確認(rèn)在售創(chuàng)建鎖定記錄提交事務(wù)。第二個下單請求會阻塞到第一個事務(wù)提交然后重新讀取裝備狀態(tài)發(fā)現(xiàn)已經(jīng)被鎖定就會下單失敗。如果用Django ORM具體是from django.db import transaction from django.db.models import F with transaction.atomic(): equipment Equipment.objects.select_for_update().get(idequipment_id) if equipment.status ! Equipment.STATUS_ON_SALE: raise APIException(裝備已下架或售出) equipment.status Equipment.STATUS_LOCKED equipment.save() Order.objects.create(...)注意select_for_update只有在事務(wù)中才生效所以要配合transaction.atomic()使用。而且這條加鎖的SQL需要數(shù)據(jù)庫支持行鎖MySQL的InnoDB引擎沒問題。第二級是Redis分布式鎖適合高并發(fā)場景。但做畢業(yè)設(shè)計或中小型平臺數(shù)據(jù)庫行鎖完全夠用。還有一個容易被忽略的點(diǎn)數(shù)據(jù)庫的隔離級別和死鎖。鎖的順序一定要一致比如先鎖裝備記錄再更新訂單記錄避免兩個事務(wù)互相等待。5.3 虛擬支付與訂單狀態(tài)一致性這個項目一般不用接入真實(shí)的第三方支付成本太高我采用兩種常見方式模擬支付網(wǎng)關(guān)自己寫一個支付接口用戶點(diǎn)擊支付后直接返回成功然后實(shí)現(xiàn)“充值到錢包”的模擬充值接口。接入沙箱環(huán)境有些支付渠道有商戶沙箱可以模擬真實(shí)支付流程。我更推薦“模擬支付錢包”這套方案。流程是這樣的用戶充值到錢包可以完全模擬比如直接調(diào)“充值接口后端增加錢包余額和流水”然后訂單支付時從錢包余額扣款扣款前要檢查余額充足不足則提示去充值。這個過程涉及兩次賬變余額減少和訂單支付。必須放在同一個事務(wù)里否則可能錢扣了但訂單沒支付成功。在并發(fā)扣款的場景里也要用select_for_update鎖錢包行不然用戶同時在兩個頁面支付可能把余額扣成負(fù)數(shù)。學(xué)習(xí)階段能注意到這個問題項目檔次會提升很多。5.4 圖片上傳與靜態(tài)資源裝備截圖、用戶頭像都要上傳。開發(fā)時可以把圖片保存到本地服務(wù)器的media目錄通過Django配置URL映射直接訪問。但生產(chǎn)環(huán)境這么做會浪費(fèi)磁盤而且不方便擴(kuò)展。我一般把圖片傳到OSS對象存儲或者云存儲Django后端只是生成一個帶簽名的上傳憑證前端直接直傳OSS。這樣后端不用接文件流服務(wù)器性能壓力小也避開了Django處理大文件的隱患。如果在本地部署只用服務(wù)器磁盤也要做幾個基本處理校驗文件大小、限制圖片類型jpg/png/webp、給文件名加UUID防止重名、生成縮略圖。不然用戶傳一張20MB的高清截圖頁面直接卡死。6. 管理員后臺與安全要點(diǎn)6.1 Admin后臺功能設(shè)計后臺管理是整個系統(tǒng)不可缺少的部分。玩法有兩種一是直接用Django自帶Admin優(yōu)點(diǎn)是不用寫代碼就能管理所有表適合內(nèi)部使用或快速驗證二是單獨(dú)做一個Vue管理端符合商業(yè)項目形態(tài)。我強(qiáng)烈推薦第二種作為完整項目交付因為面試或答辯時一個“平臺管理后臺”的存在感完全不一樣。管理端功能包括裝備審核查看待審核裝備列表通過或駁回。用戶管理封禁用戶、認(rèn)證賣家資質(zhì)。訂單管理查看所有訂單處理退款、仲裁。系統(tǒng)統(tǒng)計今日交易額、新增用戶、在售裝備數(shù)。后端給管理端單獨(dú)開一套接口并用權(quán)限區(qū)分普通用戶接口和管理員接口最好用不同的權(quán)限類甚至路由前綴??梢杂?api/admin/作為前綴驗證用戶是否is_staff或具有對應(yīng)權(quán)限。6.2 接口安全與防作弊交易平臺里面最怕兩類問題一是刷單二是越權(quán)操作。防刷單下單、支付、提現(xiàn)等關(guān)鍵操作必須在后端驗證操作頻率??梢院唵蔚赜肦edis做接口限流比如同一個用戶10秒內(nèi)只能下3單。如果更進(jìn)一步可以校驗瀏覽器指紋、設(shè)備特征。防越權(quán)查看或修改別人的訂單時必須校驗訂單的buyer_id或seller_id與當(dāng)前登錄用戶一致。很多初學(xué)者寫的接口只要傳一個訂單ID就能查看所有訂單這是嚴(yán)重漏洞。Django DRF中可以重寫get_queryset只返回當(dāng)前用戶的訂單或者在視圖里顯式判斷。提現(xiàn)還要做二次密碼或短信驗證。如果項目沒有接入真實(shí)短信至少做一個“提現(xiàn)密碼”功能用戶提現(xiàn)時必須輸入才能提走余額。6.3 密碼存儲與傳輸安全密碼不能明文保存也不能用簡單的MD5。Django自帶的make_password默認(rèn)使用PBKDF2算法安全性足夠。JWT的密鑰必須放在環(huán)境變量或配置文件中不能提交到Git倉庫。所有業(yè)務(wù)接口都要使用HTTPS本地開發(fā)除外。這些都是面試時高頻考查的點(diǎn)項目里做了會非常加分。還有一個容易忽視的隱患裝備描述里的XSS。如果用戶輸入裝備描述時不做一些轉(zhuǎn)義處理又被后臺或詳情頁直接渲染HTML可能被植入惡意腳本。建議前端渲染富文本時使用能夠消毒的庫或者在保存時去掉危險的標(biāo)簽和事件屬性。7. 部署方案與上線經(jīng)驗7.1 部署架構(gòu)部署不是一個必須做的東西但如果項目要展示一個能在公網(wǎng)訪問的地址遠(yuǎn)比本地演示有說服力?;A(chǔ)部署方案一臺Linux云服務(wù)器2核4G足夠。服務(wù)器上安裝Nginx、MySQL、Redis、Python環(huán)境和Node環(huán)境。后端使用Gunicorn啟動Django應(yīng)用監(jiān)聽本地8000端口。前端執(zhí)行npm run build把dist目錄文件放到Nginx指定web路徑下。Nginx配置訪問/api時反向代理到8000端口訪問/時返回前端靜態(tài)文件。這里貼一份精簡的Nginx配置示例實(shí)際使用中需要替換域名、證書server { listen 80; server_name your-domain.com; # 前端靜態(tài)文件 root /var/www/equipment_mall/dist; index index.html; # API反向代理 location /api/ { proxy_pass http://127.0.0.1:8000; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; } # 圖片等靜態(tài)資源如果存在本地 location /media/ { alias /var/www/equipment_mall/media/; } }7.2 環(huán)境變量與配置管理項目中的所有敏感信息像數(shù)據(jù)庫密碼、JWT密鑰、OSS密鑰都要用環(huán)境變量或.env文件管理Django端可以用python-decouple或django-environ讀取前端用Vite的.env文件管理。有一個實(shí)際坑如果前后端部署在不同的域名前端請求的baseURL必須用完整地址。如果部署在同一個Nginx下建議使用相對路徑/api這樣能減少很多CORS問題。部署時還要記得執(zhí)行python manage.py collectstatic把Django的靜態(tài)文件收集到指定目錄并用Nginx配置路由。這一步漏了后臺Admin的樣式會全部丟失。7.3 上線前檢查清單上線前我通常會花幾個小時做一遍完整體檢這里也給你列出常見項用測試賬號走一遍完整的交易流程發(fā)布裝備 - 審核 - 買家下單 - 支付 - 賣家發(fā)貨 - 買家收貨 - 提現(xiàn)。驗證并發(fā)下單的兜底邏輯開著兩個瀏覽器同時對同一件裝備下單。檢查所有接口是否帶鑒權(quán)尤其后臺管理接口。檢查數(shù)據(jù)庫備份是否配置建議每天凌晨自動備份??捶?wù)器日志確認(rèn)日志中沒有數(shù)據(jù)庫密碼、Token等敏感信息。把前端頂部的明文錯誤提示改成統(tǒng)一toast避免把數(shù)據(jù)庫報錯暴露給用戶。8. 踩坑記錄與最后的心得8.1 幾個讓我印象特別深的坑我最早寫這個項目時第一個坑就是“購物車沒用后端存儲只用前端數(shù)組”。后來刷新頁面購物車沒了用戶罵聲一片。后來改為后端購物車表在任何設(shè)備上登錄同一賬號購物車都能同步。這個改動雖然不復(fù)雜但暴露了我一開始對需求的理解不夠。第二個坑是裝備狀態(tài)并發(fā)。當(dāng)時沒有加鎖自己測試時開兩個頁面同時買同一件裝備結(jié)果兩個訂單都創(chuàng)建成功裝備狀態(tài)也被改了兩次。后來老老實(shí)實(shí)用事務(wù)和select_for_update解決了。這個bug讓我明白一個道理交易系統(tǒng)的邏輯永遠(yuǎn)不能依賴前端按鈕的點(diǎn)擊順序。第三個坑是支付回調(diào)沒做冪等。雖然項目用的是模擬支付但我把“支付成功”處理邏輯寫在一個接口里用戶連續(xù)點(diǎn)擊兩次支付結(jié)果產(chǎn)生了兩條流水。后來在訂單支付記錄表里加上訂單ID和渠道流水號唯一約束重復(fù)請求進(jìn)來直接拋出異常問題就消失了。還有一個讓人頭大的問題圖片上傳后開發(fā)環(huán)境能顯示部署后圖片全掛。查了半天是Nginx的/media/路徑?jīng)]配置前端訪問/media/xxx.png時被當(dāng)成前端路由直接返回了index.html。像這種小問題調(diào)試時需要同時看瀏覽器網(wǎng)絡(luò)請求和后端日志才能快速定位。8.2 給準(zhǔn)備做這個項目的人一些建議如果你時間比較緊比如一兩個月要交建議先按這個順序做先畫出核心業(yè)務(wù)流程圖明確裝備的每一個狀態(tài)由誰觸發(fā)、怎么流轉(zhuǎn)。設(shè)計數(shù)據(jù)庫表先只建用戶、裝備、訂單、錢包、流水五張核心表把基本交易跑通后再擴(kuò)展購物車、收藏、后臺。后端的核心接口建議先寫好裝備發(fā)布、裝備列表、下單、支付、訂單狀態(tài)列表因為前后端聯(lián)調(diào)時這些接口的依賴程度最高。前端優(yōu)先做裝備列表和詳情然后是購物車和訂單管理后臺可以最后再做。如果你精力足夠建議往這幾個方向做擴(kuò)展接入真實(shí)支付沙箱、使用WebSocket做實(shí)時消息通知比如賣家發(fā)貨提醒、訂單狀態(tài)變化、接入ElasticSearch做裝備搜索、增加賣家信譽(yù)評價體系。這些東西每一塊都能講出很多細(xì)節(jié)寫在簡歷上也會讓項目含金量高很多。我個人做這個項目最大的體會是代碼本身占的精力其實(shí)不到一半另一半全花在業(yè)務(wù)規(guī)則的思考和邊界情況的處理上。當(dāng)你把“買家和賣家同一件裝備同時下單”“錢包余額被兩個訂單并發(fā)扣款”“支付成功但網(wǎng)絡(luò)超時后端實(shí)際成功”這類場景都想清楚并處理好時你的工程能力已經(jīng)超過很多工作一兩年的人。這套系統(tǒng)做完之后如果不滿足于現(xiàn)狀把它迭代成一個帶聊天、帶信用評級、帶自動發(fā)貨的真正社區(qū)化平臺又是一個更有趣的挑戰(zhàn)。
返回列表
PREV
查看更多資訊
NEXT
返回資訊列表
99久在线观看| 9999久久久久| 久久五月丁香| 欧美A A A A A| 热99久| 99精品视频偷拍| 亚洲综人色综网| 2w在线视频| 色五月丁香婷婷| 操操啪| 黄桃AV无码免费一区二区三区| 久久男人网婷婷| 超碰在线综合| 激情综合网亚洲色图| 色噜噜狠狠一区二区三区| 操操天堂| 婷婷五月丁香成人网| 9999热在线免费观看| 五月天无码| 婷婷色色网| 五月精品| 丁香五月大香蕉在线99| 色色色五月婷婷| 色五月婷婷丁香凹凸| 久久看婷婷| 天天搞夜夜六| 97人人做| 日逼影音先锋AV男人资源站| 久婷婷五月激情| 激情五月天在线视频| 色激情五月| 婷婷五月五月丁香| 婷婷色色狠狠| 久久久.COM| 超碰97在线操| 五月丁香美女视频| 亚洲人成色A777777在线观看| 国产精品18久久久| 久久婷婷色| 99在这里有精品| 激情五月婷婷| 日本操片| 午夜五月天| 五月婷婷激情网| 69人妻人人澡人人爽久久| 天天插天天插天天日| 五月婷婷激情久久| 亚州在线中文字幕| 九九热这里精品| 天天色噜| 中文字幕精品推荐免费在线观| 99综合色色色| 激情四射网| 婷婷丁香红五月91C| www.婷婷| 九九婷婷综合| av操一操| 婷婷六月激情| 特黄三级又爽又粗又大| 在线观看玖玖资源免费观看| 强壮公让我夜夜高潮A片视频| 亚洲无aV在线中文字幕| 俺去也五月| 国产SUV精品一区二区6| 色五月之第四色| 超碰爱爱爱| 依人大香蕉在钱1| 丁香色五月直播| 丁香五月天婷婷中文字幕| 欧美A级成人婬片免费看理论| 思思99热这里只有精品| 亚洲激情在线| 双性美人被调教到喷水A片| 五月丁香琪琪| 亚洲第一成人无码A片| 激情综合五月丁香六月婷婷| site:publishdd.com| 涩综合婷婷| 欧洲亚洲午夜| 亚洲AV日韩无码| 91九色PORNY中文啦| 亭亭五月激情亚洲在线| 丁香五月婷婷欧美性爱| 人人舔天天| 超碰免费在线| www.色窝| 五月丁香婷婷五月色| 婷婷五月成年人| 99热网站| 亚洲色涩视频| 婷婷精品视频| 狠狠另类视频| 亚洲深喉AV| 欧美啪啪五月天| 婷五月天影院| 中文字幕在线日亚洲9| 日日噜噜久久婷婷五月天| 五月涩涩网| 欧美成人精品三区综合A片| 在线中文av| 五月天社区婷婷丁香社区| 婷婷成人在线| 九月婷婷色色| 99精品久久久| 五月婷婷六月色| 色情五月天视频网| 国产乱子轮XXX农村| 天天做天天爱天天搞| 夜夜涩涩涩| 五月婷av| 五月婷婷开心色伊人| 九九黄色网| 丁香五月婷婷狠狠色| 操操碰| www,色婷婷| 超碰在线免费9| 五月天激情网址| 操逼巨乳91| 五月丁香少妇| 人妻中文在线| 婷婷丁香第一页| 性色做爰片在线观看WW| 六月丁香成人网| 色色色色色日韩午夜激情 | 五月天丁香网站| 久久伊人9| 色婷婷偷拍| 超碰九九热| 五月天激情影院| 超碰狠狠操| 丁香五月天偷拍| 丁香激情五月天| 亚洲五月天伊人| 久久精品凹凸分类| 激情五月色婷婷| 在线中文亚洲| 天天射影院| 五月丁六月香av| 95精品区一区二| www夜夜操com| 欧美成人一区二区三区在线视频 | 丁香久久久| 色444综合网| 欧美狠狠色| 色五月色五天色情网| 六月婷婷综合| 亚洲综合色棒| 秋霞A V毛片| 色五月综合网| 五月婷婷色吧!| 激情五月天第四色| 99自拍视频在线| 婷婷色五月情| 色热久| 色婷网| 26uuu91| 人操人人| 91蜜桃婷婷狠狠久久综合9色| 六月丁香婷婷尤物| 9久热在线视频精品| 日本色五月| 五月激情婷婷播播网| 极品五月天| 96精品久久久久久久久| 久色中文| 日韩成人av在线| 99re热视频这里只精品| 丁香五月婷婷激情尤物| 婷婷五月天亚洲天堂| 九九Y精品热播| 91九色国产在线| 5月婷婷综合| 影音先锋91视频| 婷婷永久在线| 性色视频| 久久这里在精品视频| 亚洲va久久久噜噜噜久久天堂| 91se在线观看| 5月丁香六月情| 熟女91九色| 99亚洲色| 亚洲思思热久| 色婷亚洲五月丁香| 国内一级片| 丁香五月最新地址| 婷婷五月六月激情| 丁香婷婷五月天色综合| 超碰在线9| 人妻丰满精品一区二区A片| 九九这里都是精品| 丁香婷婷人妻综合网| 小色小蛇伊人婷婷色香五月| 国产在线网| 超碰免费人妻| 日韩色五月| 亚洲五月天综合色| 久久超视频| 亚洲亚洲人成综合网络| 26UUU欧美| 九九亚洲视频| 天天干天天干天天干天天干天天干天天 | 熟女色色一区二区| 任你艹| 人妻久久久| 婷婷五月天伦理| 91九色熟女| 五月久久丁香| 中文字幕丰满孑伦无码专区| www.久久| 99久超碰| 丁香婷婷基地| ss视频xx91| 五月丁香怕啪啪| 婷婷激情四射网| 人人操9| 天天操综合网| 婷婷综合久久| 丁香伊人网| 无码任你操| 五月色无码| 超碰人人干| 国产黄色av| 日韩一区二区A片免费观看| 日韩人妻无码专区| 久婷| 日韩狠狠色| 国产性爱亚洲是图| 五月婷婷香| 9999色色色色| 玖操97| 女性自慰系列第五页| 婷婷五月天社区| 性爱视频久久| 操操操Av| 人人草人| 五月天综合在线观看| 色狠狠图片| 79亚洲精品少妇| 久99久视频| 色爽九九| 99日逼视频| 日本欧美999久久久三级片| 日韩精品无码一区二区| 中文幕无线码中文字蜜桃| 久久这里都是精品| 免费视频99| 99在线69| 超碰精品在线| 九九色色| 婷婷爱五月天| 九月婷婷久久| 99这里都是精品| 99精品免费| 国产激情久久久| 丁香五月91| 九九人人精品| 日韩999| 五月丁香久久久久| 免费AV播放| 激情五月丁香五月| 天天操婷婷| 99精彩视频| 激情小说婷婷| 99精品国产在热久久| 另类综合婷婷五月天欧美视频| 五月精品免费XXX| 伊人婷婷五月| 色色色色色网站| 六月狠狠综合| 日日夜夜天天综合| 婷婷色五月开心五月| 色噜噜狠狠色综无码久久合欧美| 五月天婷婷网站888| 久9久成人精品视频| 久久99综合网| 九九无码| 久草婷婷在线| 九月丁香八月婷婷久久综合久97| 婷婷99热| 亚州激情网| 久久亚洲色导航| 五月天婷婷网站| 思思99re这里只有| 五月在线| 五月丁香婷婷色| 第四色五月天| 亚洲日韩操B| www.ywav| 五月 激情视频| 97在线精品视频| 婷婷久草| 小视频一区| 亚洲综合激情五月| 欧美婷婷日本| CHINESE熟女老女人HD视频| 国产精品扒开腿做爽爽爽A片唱戏 青青草国产亚洲精品久久 | 免费无码毛片一区二区A片 | 国产99精品免费视频| 6080av| 天天天天色天天天天天干| 激情六月天婷婷| 午夜激情综合| 夜夜嗨一区二区三区直播内容| 97色综合| 色综合com| 婷色人人狠| 人人做天天爱| 五月丁香成人| 狠狠ri| 色婷婷五月影院| 九月丁香婷婷| 综合五月天婷婷色| 九九碰九九爱97超| AV在线免费观看不卡| 欧美婷婷精品激| 97婷婷色| 99热99热99热99热| 五月丁香黄色视频| 五月激情四射网站| 先锋五月婷婷丁香草草| 五月丁香六月婷婷亚洲| 综合激情在线视频| 丁香五月激情久久麻豆| 激情伊人| 丁香五月激情无码视频| 婷婷久久五月| 开心婷婷五月综合| 五月丁香婷婷爱激情综合网| 丁香五月六月婷婷怡红院| 久久久18| 五月婷婷综合在线视频| 黄色99视频| 色婷视频| 五月丁香色综合| 九九九九无码| 青吴乐视频| AA久久| 亚州日本欧州韩美高青高潮一| 色偷偷五月天| 久久精品一区二区三区四区| -91九色大屁股| 激情婷婷五月色| 激情无码网| 黄色三级毛片中字| 久热伊人| 婷婷五月天视频亚洲| 五月婷在线| www.激情com| 激情精品久久| 五月婷婷三级| 国产人人操| 欧美天天爽| 久久99热这里只有精品| WwW色婷婷| 久久性视频| 九一99| 五月丁香六月| 91狠狠综合网| 六月激情久久| 丁香婷婷五月色综合| 婷婷久久网| 五月天婷婷爱| 成人网在线观看视频| 丁香婷婷五月六月久久| 天天草天天摸| 六月五月天婷婷涩播在线| 久久久www| 99视频在线精品免费观看2| 天天天天干| 久久久婷婷五月亚洲97号色| Www.狠狠| 99色色色色| 婷婷97狠狠成人网站| 色色色婷婷五月| 噜噜网免费视频| 国产精产国品一二三在观看| 99婷婷五月天| 五月天另类视频| 亚洲顶级VA在线观看-高清完整版在线影院观看-S022AV | 99九九精品| 99热九九在线| 深爱激情婷| 久久caop| 天天草天天舔| 婷婷激情四射| 天天色情站| 狠狠色噜噜狠狠狠狠综合| 丁香社92视频| 色久五月天| 成人做爰黄A片免费看直播室男男 A片试看120分钟做受图片 | 99碰超| 国产精品爽爽久久久久久| 激情综合丁香| 五月天色视频| 99亚洲精品综合在线 | www91在线| 天天色天天爱天天爱天天爱y| AV中文网| 精品99只有。| 久久久天堂国产精品女人| 秋霞黄色一级久久| 操一区| 天天综合情| 九九香蕉网| 五月婷婷人人人操| 丁香六月婷婷综合激情欧美| 91人人操人人| 丁香九月婷婷| 99噜噜噜在线播放| 99熟女| 秋霞三级色戒| 六月天婷婷| www.五月天婷婷.com| 欧美一区二区三区不卡影视| 成人无码精品1区2区3区免费看| 五月婷六月综合在线观看| 久热这里只有精品99re| 永久的网站AAAA| 亚洲激情网| 激情性爱五月天| 91综合国免费久入| 欧美激情丁香五月| 嫩BBB槡BBBB搡BBBB| 六月婷婷俺也去| 天天综合色| 婷婷五月天激情偷拍| 性做久久久久久久免费看 | 亚洲精品网址| 丁香六月狠狠干| 91狠狠综合网| 五月丁香激情综合网| 天天爽爽日日做做| 疯狂做受XXXX高潮A片| 综合久久丁香婷婷,五月婷婷六月丁香,开心激情综合网,六月丁香在线观看,婷婷丁 | www色婷婷com| 97操碰碰无码视频| 涩五月婷婷| 深爱五月婷婷| 国精产品一区二区三区| 涩 五月 婷婷 狠狠| 99热这里都是精品| 精品久久99码| 国产做A爰片毛片A片美国| 天天艹天天色| 久久久九九视频精品18| 天天色丁香| 激情五月天丁香| 99热91| www.久久66| 亚洲啪| 日本色综合| 女人高潮内射99精品| 五月色丁香成人| 香蕉久日夜| 亚洲va欧美va天堂v国产综合| www.久久综合| 五月天精品| 狠狠色精品综合| 久久青青日本视频| 91人妻PORNY九色大屁股| 天天拍夜夜撸| 久久久久视剧HD| 五月丁香六月婷婷激情网| 97人人射| 丁香五月花影院| 久久丁香五月| 天天天天天天天干| #NAME?| 久热 91| 色情五月丁香婷婷网| 丁香五月婷婷色综合| 99视频这里有精品| 5月婷婷综合| 亚洲精品第一国产综合亚AV| 99ri精品视频在线观看| 玖玖精品资源| 美女精品一级不卡视频| 亚洲无AV在线中文字幕| 天天干,夜夜爽| 99色色热| 日本情色一区二区| 国产免费一区二区在线A片视频| 丁香五月,激情五月,深爱五月| 2015WWW永久免费观看播放| 深爱激情六月天| 日日噜狠狠色综合久久| 亚洲黄色精品| 婷婷狠狠干| 日本美女上人| 亚洲色综合性| 天搞天天天天天| 美女被操一区二区| 婷婷五月丁香六月| 激情图片五月天| 久久这里都是精品免费| 激情五月天婷婷色色色色色色色色色色色 | 夜夜 操无码| 五月天激情婷婷五月天久久| 激情99热| 操逼五月天| 激情影院丁香五月| 九九在线精品| 婷婷五月AV| 久久婷婷亚洲| 日日噜噜久久婷婷五月天| 五月色欧美| 欧美日韩成人一区二区| 婷婷在线五月综合| 99热在线观看| 黄色成人网站在线播放| 美女妹子后射视频网站在线观看| 99er这里只有精品| 色玖玖综合| 91久女| 丁香五月激情综合| 色婷婷88| 婷婷五月天免费视频| 狠狠色噜噜狠狠色噜噜噜999| 正宗黄色毛片| 亚洲超碰青涩| 久久丁香| 天天激情站| 99在线小视频| 婷婷激情网五月天| 操操操av| 亚洲国产成人综合| 九九九九九九毛片| 最熟少妇乱码| 免费超碰在线观看| 色五月激情综合网| 九月丁香亭亭| 天天爽天天操| 五月激情六月宗合| 丁香五月六月激情| 五月天婷婷久色| 久久98| 久艹大香蕉| 久久激情婷婷| 91热视频| 丁香综合日产精品久久| 少妇人妻丰满做爰XXX| 色色色色网| 九九人人精品| 26uuu成人网| 99亚洲色色| 狠狠干青青草| 久久久婷丁香五月| 婷婷综合网在线| 99色区| 婷婷天堂综合| 欧洲亚洲免费视频9| 97干在线| 99精品自拍| 激情五月色婷婷| 日本色视| 五月丁香成人小说| 九九久久网| 激情五月天色婷婷| 天天干天天操| 俺也高清无码高清视频| 丁香六月亚洲综合| 久久人妻系列| 激情色情五月天| 五月天伊人日日噜影片AV| 成人色站,在线视频,看片-SS1AV| 久久久久久xxxxx| 国产成人网址| 在线观看熟女少妇| 丁香六月婷婷激情综合| 永久思思热在线| 一级片sese片.COM| 久久五月天婷婷视频| 久久综合丁香五月| 狠狠狠婷婷五月综合| 99色这里| 色五月婷婷丁香国产在线| tingtingjiqingwuyue| 99re热精品视频国| 久久黄色网扯| 综合狠狠五月婷婷| 色五月天在线| 桔色成人在线| 六月激情综合| 九九九色综合| 99热在线看| 婷婷啪啪| 超碰在线观看三级片| 久久五月婷综合| 五月丁香婷婷伊人日韩| 依人大香蕉在钱1| 久久婷鲁| 五月丁香色综合| 51XX午夜影福利| 久久婷五月天| 99热99热在线观看| 六月丁香激情婷婷| 99综合| 婷婷综合色| 日本噜噜色网| 五月天狠狠草| 丁香久久综合| 国产精品色色| 这里只有精品96| 亚洲中文AV网站| 久草a片| 日韩黄黄| 五月社区婷婷激情| 亚洲日韩欧美综合VA| 色婷婷六月天| 96丁香六月婷婷蜜桃综合久久| 亚洲乱码日产精品BD| 伊人婷婷福利网| 成人VAV视频在线观看| 亚洲无码11| 国产乱码久久| 亚洲VA在线| 婷婷五月天社区| 激情五月天综合| 亚洲熟妇AV乱码在线观看| 婷婷婷久久| 婷婷五月色综合| 五月色婷婷综合色| 激情99在线视频| 激情综合网址| 国产露脸150部国语对白| 婷婷久久婷婷色五月| 99久久婷婷五月综合| 成人深爱丁香五月| 五月色天情| 久久人人超| 成人做爰A片免费看网站找不到了| a免费在线| 爆乳熟妇一区二区三区爆乳照片| 六月丁香射婷婷欧美色图片| 五月天婷婷综合免费| 另类视频一区| 超碰熟女农村在线69| 婷婷久久性爱| 97色伦另类图片小说视频 | 99久久极情精品一区| 欧美 色婷婷| 婷婷97碰碰| 91人人看| 五月丁香久人妻中文| 这里只有精品视频一区| 伊人久久五月天| 九月激情婷婷丁香| 国产成人+综合亚洲+天堂| 五月天婷婷乱| 在线播放中文字幕| 97亚洲精品| 青青草性爱视频| 婷婷草| 天天做天天爱天天爽| 特黄三级又爽又粗又大| 激情综合五月激情XXXX| 综合网亚洲| 欧美三级A做爰在线观看| 久久久久久久久久久44| 色五月天综合| 99九九在线| 九九热这里只有精品9| 色情综合| 欧美成人色婷婷| 婷婷色在线| 超碰猛烈的性猛交| 99国产小视频| 五月丁香激情综合网| 大香蕉欧美在线| 国产五月婷| 激情婷婷五月天| 国洲夜色亚热在线久久| 婷色成人| 日韩色色视频| 久久九九国产| www.开心激情| 欧美电影在线播放| 任你爽视频| 激情五月天com| 日韩丰满少妇无码内射| 超碰99热| 日本天堂免费99| 日本婷婷激情四射中文字幕在线观看| 色色综合成人网| 亚洲成人超碰| www亚洲无码| 久久这里只有精品无码| 日本狠狠干| 美女激情综合| 这里只有精品视频在线| 大香蕉天堂| 婷婷热色| 亭亭色天香| www.色婷婷| 丁香五月欧美激情| 色婷婷激情| 亚洲AV成人无码精品| 少妇激情五月婷婷| 九九亚洲| 操人91| 色综合天堂| 激情啪啪五月天| av人人操| 超碰婷婷色| 99re在线观看视频| 色五月综合| 激情综合网五月婷婷| 精品99在线| 97人人看一| 操人妻视频91| 99精品久| 成年人看Va免费视频| 桃色五月婷婷| 天天玩夜夜操天天爽| 好好干av| 色婷婷成人做爰A片免费看网站| 99热福利| 这里只有精品视频99| 91婷婷色五月| 夜夜 操无码| 欧美综合123区| www.婷婷,com| 中文字幕丰满人妻无码专区| 91九色国产熟女| 色综合香蕉| 五月婷婷丁香六月| 99热在线资源| 一区视频网站| 欧洲亚洲免费视频9| 亚洲五月天婷婷| 激情婷婷丁香五月天| 婷婷五月大香蕉| 伊久久婷婷| 九九aV| 丁香色五月 97干| 91久久婷婷| 精品五月视频婷婷在线观看| 婷婷五月天社区| 伦乱美欧| 九九九九操逼| 色婷婷五月天天天干天天操天天爽| 五月天操逼激情| 婷婷五月天资源| 久久五月婷综合网| 色5月丁香婷婷| 五月丁香六月在线| 日本本土色网第一区| 亚洲激情AV| 呦呦v线| 99天堂在线观看免费视频| 九九亚洲视频| 亚洲黄3级片网站欧美| 色呦呦美女| 九九香蕉网| 激情五月天色播| 成人五月天在线视频在线观看| 超碰在线caop| www,26uuu,c0m,色情| 性爱激情小说AV五月丁香花| 97视频91| 色婷婷婷av | 天色色综合网| 人人综合久| 五月婷婷六月丁香| 被强行糟蹋的女人A片| 色色婷婷综合网| 婷婷丁香五月天操逼| 九色无码| 俺也去在线久久精品23欧美综合视频网站,丰满人妻一区二区三区在线视频53,丰满 | 99精色| 青青草深爱激情网| 丁香伊人五月色婷婷五十路| www,色婷婷| 26UUU| 无码视频国内精品久久久| 99热在线这里| 97人人干人人操| 大地资源色婷婷视频在线| 亭亭五月天成人| 91丨九色丨熟女丰满| 婷婷丁香18| 精品99只有。| www.婷婷,com| 五月天婷婷色| 天天插,天天射| 综合AV在线| 无码激情AAAAA片-区区| 人妻久久久久久久| 大香蕉久久伊人婷婷五月丁香| 97很鲁在线视频| 五月丁香综合激情| 色很很96| 97久操| 激情五月五月婷婷| 国产一二三四五六七八视频| 五月天天堂久久| 成人看片网站| 思思热在线精品视频| 五月天激情国产综合婷婷婷就去爱| 少妇水多A片太爽了| www,超碰| 天天做天天干天天综合网 | 99热| 亚洲精品99| 狠狠另类视频| 99色在线观看视频| 亚洲日本韩国| 色五月婷婷大香蕉| 色综合久久伊伊婷婷五月| 91一道本| 疯狂做受XXXX高潮A片动画| 天天色天天| 丁香婷婷综合五月天| 欧美婷婷九月| 国产偷人爽久久久久久老妇APP| 日日干天天| 免费精品66| 婷婷欧美激情| 91 九色大美女| ww久久| 久久 视频这里只有精总| 9色视频在线| 色播激情| 欧美成人精品A片免费一区99| 色婷婷久久| www.思思99热| 99操| 99热一本久道| 亚洲国产精品VA在线看黑人| 亚韩在线视频| 激情小说婷婷五月| 婷婷五月丁香狠狠| 国产精典视频在线观看| 丁香五月婷婷综合激情哟哟哟| 五月天激情久久| 色偷偷五月天| 九九热手机在线视频| 欧美99| 99综合熟女| 日本美女97在线视频| 六月五月丁香五月欧美| www.婷婷,com| 9精品国产在热久久| 五月激情综合网| 亚洲天堂爱爱| 婷婷丁香18| 婷婷五月天a| 5月婷婷综合| 久久婷婷啪啪视频| 狠狠草网| 婷婷五月精品| 亚洲国产精品SUV| 婷婷色色五月天| 婷婷五月天视频免费在线观看| 玖玖福利视频资源| 再次出发二| 五月伊人网| 久久婷中文字幕| 91无码一起草| 午夜不卡久久精品无码免费| 婷婷五月天小说网| 久久与婷婷| 国产成人亚洲综合A∨婷婷| 婷婷爱婷婷| 亚洲丁香五月天在线视频| 久久九色| 玖玖爱综合网| 国产婷婷综合| www.刺激色网站www.| 1级欧美日韩| 人人插操| 国产精品a无线| 丁香色婷婷| 久久99热这里只有精品| 91玖玖| 国产成人在线精品| 五月婷婷激情中文字幕| www,天天干| 亚洲激情免费视频| 色噜噜在线| 91婷婷五月天综合视频| 五月天另类综合网| 99色最新在线视频| 亚洲五月天,激情视频| 狠狠综合网| 丁香大香蕉| 超碰成人在线观看| 99精品热视频| 色五月综合在线| 97干欧美| 日韩无码专区| 久久婷婷视频| 另类视频在线| 婷婷激情五月吧| 天天做天天视天天谢| 激情五月,色五月| 天天爽夜夜爽夜夜爽精品| 97人妻碰碰中文无码久热丝袜| 91在线日| 丁香五月天堂网| 综合色久| 五月婷婷丁香啪啪| 成人羞羞啪啪 全 视频| 国产永久一二一起草| 安息电影在线观看完整版| 五月丁香成人日| 好吊丝aV| 激情美女五月天激情在线| 天天夜天天色天天| 色婷婷裸体色性在线| 激情五月丁香六月综合AVXXXX| 色五月婷婷在线观看| 亚洲美女网Va| 超碰免费大香蕉| 丁香啪啪| 99精品在线| 天堂成人A片永久免费网站| 黄网在线免费观| 九九热这里只有精品9| 99啪视频在线观看| 九九十99视频| 91色婷婷综合久久中文字幕二区| 99这里是99在线视频| 99在线观看视频蜜臀| 日韩六六久久电影| 99久久玖玖| 国产无人区大片| 丁香婷婷久久 | 五月丁香激情六月| 激情五月婷婷丁香| 9久热在线视频精品| 色香蕉影院| AA丁香综合激情| 大香伊人久色| www.久9| 婷婷五月天黄色| XXXX岛国| 色情五月天A片| 桃色五月天| 九九久久精品| 欧美性生交XXXXX无码小说| ZpRSw| 色欲影香| 亚洲色精彩| 欧美成人网婷婷综合在线| 午夜无码精品色综合久久| 很很干天天干| 大香蕉九九| 天天插天天插| 噜噜五月天综合| 综合网啪啪| 色婷婷综合久色AV五色最新| 五月丁香伊人网| AAAA网站| 大香蕉婷婷色| 国产熟妇的荡欲午夜视频| 狠狠色噜噜狠狠亚洲A∨| 99热网址| 亚洲色婷婷婷婷人人爽| 99热中文字幕久久| www99在线观看视频| 亚洲无码99| 九月丁香久久网| 伊人玖玖精品| 2020久久婷婷五月| se影音资源在线观看| 久热婷婷| 九九爱激情| wWW九九在线播放| 色色色在线免费视频| 这里只有精品在线免费视频| 日本美女上人| 免费无码毛片一区二区A片| 亚洲人人艹| 五月丁香六月综合情在线观看| 不卡影院午夜理论片| 婷婷五月天亚洲综合| 秋霞免费视频| 天天肏天天肏| 久久五月丁香伊人青草| 婷婷五月天激情免费在线观看| 99色天堂| 丁香五月天成人| 日韩久热| 婷婷五月激情欧美大胆视频| 色玖玖综合| 97福利视频| 丁香啪啪中文字幕| 丁香综合婷婷开心激情网| 婷婷涩五月天综合| 亚洲中文字幕AV| 婷婷99视频全集高清| 国产ava| 激情美女五月天激情在线| 91色婷婷综合久久中文字幕二区| AA片在线观看视频在线播放| 另类图片激情五月| 俺五月| 久久综合五月天| 熟妇天天综合| 五月婷婷综合网| 天天草比天天爽| 天天干,夜夜爽| 射久久丁香五月| 伊人婷婷五月 | 五月丁香婷婷婷婷综合网| 色玖玖爱| 伊人大香蕉毛片| 99开心五月五月丁香激情| 天天操比比| 无码激情AAAAA片-区区| 色综合九九色综合88| 婷婷五月天资源| 97超碰综合| 操逼综合激情网| 色宗合,宗合网| 色色色在线观看| 国产免费一区二区三州老师F1……| 99热99成人| 亚洲第一综合| www.seqingwuyuetian| 激情综合网丁香| 色久丁香五| 九九热狼人| 这里只有精品视频国产| 婷婷五月天丁香社区| 五六月婷婷久久| 婷婷永久在线| 九九热只有精品| 亚洲视频国产一区| 丁香六月婷婷激情| 色婷婷成人做爰A片免费看网站| 婷婷久久五月丁香| 五月天淫乱视频| 大操人妻| 天天色,天天操,天天射| 色五月丁香五月| 99婷婷五月天激情| 中国激情网| 丁香六月婷| 综合婷婷久久| 美欧成人视频| 国产精产国品一二三在观看| 99久久久国产大片| 婷婷的久久网站| 秋霞少妇毛片| 九九热这里只有精品在线观看| 人妻熟女一区二区AV| 国产亚洲99| 99re久久| 色狠狠综合网| 日本成人噜噜噜| 九九精品re免费视频| 欧美久久婷婷| 91超碰人人操| 色10月婷婷视频| 色五月琪琪| 99丁香五月婷婷在线| 五月天色婷婷伊人网| 久久五月婷综合| 久久久久久草黄色片AV在线观看| 玖玖无码中文| 97碰| 九九99九九99九九99视频网| 2005天天干天天1| 天堂草在线看www| 9999热免费视频视频| 99热99这里有免费的精品| 狠狠CAO日日穞夜夜穞AV| 五月天婷五月天综合网在线观| 久久精彩视频| 五月综合激情久久| 五月天激情四射| 久久欧洲久久| www.99热| 梁铮版蜘蛛女在线观看| 久久怡红院| 婷婷色五月激情| 天天射影院| 亚洲色爽| 亚洲日本韩国| 狠狠操.COM| 午夜不卡久久精品无码免费| 678五月丁香亚洲综合| 激情文学综合婷婷五月天丁香花| 五月天激情在线视频| 国外亚洲成AV人片在线观看| 99精品视频免费观看,| 久久99热这里只有精品| 狠狠色噜噜狠狠色噜噜噜999| 狠狠综合网| 亚洲婷婷丁香五月亚洲| 99国产精品久久久久久久久久久| 国产婷婷五月中文字幕高清| 香蕉久久国产AV一区二区| 熟女五月天久久综合| 琪琪布丁香社区激情五月天| 婷婷六月色播| 色九九九综合| 少妇综合网| 任你爽精品免费视频6| 乱码操操| 婷婷六月丁香开心深深爱| 国产精品18久久久| 天天天日天天天干| 色婷婷亚洲综合网站| 另类激情综合| 五月综合激情| 综合激情视频| 月婷婷亚洲| 97人人妻人人艹| 99乱视频| 久久婷婷五月综合伊人| 99精品热| 婷婷丁香五月六月激情| 久久人人添人人爽添人人片αV | 人妻激情网| 婷婷的99视频网站| 欧美成人无码一区二区三区| 亚洲视频在线观看| 夜夜操天天爽| 色天使色婷婷| 久久婷婷五月天| 开心久久爱五月天| www.99操.com| 色情久久久| 五月天婷婷色在线视频免费观看| 超pen个人视频97| 99视频在线精品免费观看2| 丁香五婷| 99爱在线视频| 色丁香久久久| 精品99在线| 久久人人妻| 色五月视频,小说| 91精品综合久久婷婷九色| 可以看的AV| 思思热再线视频| 91超级碰在线| 六月丁丁香| 色性五月天| 中文资源在线a| 202丰满熟女妇大| 五月丁香亚洲婷婷| 在线婷婷| 欧美黄色一级录像| 久热超碰91| 激情综合女人网五月播播| 色播jjjj| 久久久97| www.狠狠色.com| 亚洲成片在线观看| 色欲天天综合网| 婷婷成人五月天成人文学小说| 五月婷婷色综图片| 免费观看欧美成人AA片爱我多深| 色情成人五月天| 97九色视频| 97碰碰碰免费公开在线视频| 性色99| 99福利导航| 国产真实乱了老女人视频| 夜夜干夜夜操| 丁香五月天色| 七月激情六月婷婷综合在线播放| 99爱爱| 开心婷婷五月中文字幕组| 色欲丁香| 中文婷婷狠狠| 另类图片天天影视在线观看| va婷婷在线免费观看| 蜜桃婷婷狠狠久久| 日本黄色一级| 色五月激情综合| 99热这里只有精品69| 另类精品视频在线观看| 欧美搡BBBBB摔BBBBB| 久久综合影院| 婷婷五月天熟妇| 在线中文av| 99re8热精品免费视频| 成人精品在线| 色五月婷婷亚洲| 色综合天天网| 六月婷婷网| 精品二区| 一起草性爱不卡视频| 五月激情六月综合| wWw色五月| 久9免费视频| 91人妻九色大屁股| 九九热九九| 天天插天天爽| 六月婷婷影院| AV堂狠狠干| 五月婷九月| 激情五月综合网| 开心五月综合激情网| 丁香5月婷婷| 久9热在线视频| 激情文学 综合 九月| 国产精品A成V人在线播放| 激情综合无码| 丁香色播五月天| 综合久久婷婷| 国内久久亭亭| 日韩AC在线免费观看| 亚洲九九夜夜| 五月天成人免费视频| 欧美色欲色欲天天天www| 开心久久五月天| 操人精品| 日本色超碰| 成人精品视频99在线观看免费| 婷婷香五月天| 桃色五月天| 肏屄色播伊人97婷婷| 日韩精品一曲二曲三曲四曲五曲| 少妇人妻人伦A片| 激情六月丁香| 久久久免费精彩视频| 丁香五月第四色88| 99无码免费视频| 欧美三级欧美一级| 色婷婷色| 亚洲情欲久久| 狠狠干最新地址| 亚洲激情网| 日韩 中文 欧美| 色综合久久88色综合天天99| 五月婷婷激情综合拍| 色欲香综合网| 国产1区2区3区在线观| 色综合久久88色综合天天99| 久久图色4| 狠狠狠狠青草| 9色91视频| 在线理论片| 99无码精品| 亚洲婷婷五月天| 久草性爱| 国产激情在线| 五月丁香在线| 舔色婷婷| 精品九九视频| 天天天天天色| 狠狠人人| 79亚洲精品少妇| 激情网五夜婷婷| 啪啪一区| 色五月色五天色情网| 综合久久影院| 美女精品一级不卡视频| 国产亚洲色婷婷久久99精品91 www.riverspirits.org www.hnnun.com www.changh | 中文字幕五月久久婷婷| 91男人资源站| 成人综合网站| 极品人妻VIDEOSSS人妻| 激情五月激情综合网| 97人人草| 成人精品视频99在线观看免费| 99激情视频| 久久久久9999| 国自产拍偷拍精品啪啪一区二区| 99精品成人无码A片观看金桔| 午夜大香蕉|