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

ARTICLE DETAIL

資訊詳情

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

ThinkPHP+uniapp上門預約源碼:從部署到訂單并發(fā)控制實戰(zhàn)

ThinkPHP+uniapp上門預約源碼:從部署到訂單并發(fā)控制實戰(zhàn) 簡介面向同城家政、上門按摩等本地生活服務場景的預約系統(tǒng)完整源碼后端基于ThinkPHP與FastAdmin框架前端采用Uniapp實現(xiàn)微信H5和小程序端適合具備PHP基礎、希望快速搭建可商用預約平臺的開發(fā)者或創(chuàng)業(yè)團隊。系統(tǒng)已完整跑通并通過測試包內(nèi)包含公眾號通知模塊、后端主程序、前端Uniapp源碼、數(shù)據(jù)庫SQL腳本及通知音頻文件運行環(huán)境為LinuxNginxphp7.2mysql5.6需安裝fileinfo與redis擴展H5屬于公眾號H5須在微信內(nèi)訪問并配合認證服務號、微信支付、小程序賬號完成部署。資源共2000個文件以JavaScript、Vue組件、Markdown文檔為主輔以JSON、HTML、CSS等配置樣式文件以及SQL、Python輔助腳本整體66.31MB目錄按功能模塊劃分便于快速定位與二次開發(fā)。已有255人學習下載參照包內(nèi)說明即可完成環(huán)境搭建、支付與服務號配置明顯降低從零開發(fā)聯(lián)調(diào)的踩坑成本。1. 為什么一套thinkphpuniapp的上門預約源碼能把三個月工期壓到兩周接到一個上門家政按摩的需求時多數(shù)團隊的第一反應是拆端用戶端一個小程序技師端一個微信小程序后臺一個管理系統(tǒng)再來一套H5做分享四端聯(lián)動光聯(lián)調(diào)就得一個月。而thinkphpmysqluniappfastadminuniapp這套組合的思路是后端只有一份PHP負責接口和后臺前端只有一份uniapp代碼同時編譯成H5、微信小程序和App。后臺管理用fastadmin二次開發(fā)RBAC權(quán)限、菜單管理、數(shù)據(jù)表格CRUD這些重復勞動直接點出來用。也就是說你真正要寫的只有業(yè)務層的預約、派單、支付回調(diào)、結(jié)算這幾個模塊。這個方案適合的正是中小本地生活團隊、接外包的獨立開發(fā)者以及想用最小成本快速驗證同城上門模式的初創(chuàng)團隊。它不追求架構(gòu)上的炫技追求的是從拿源碼到跑通首單的速度。2. 選型邏輯這套技術(shù)組合憑什么能扛住上門預約業(yè)務2.1 thinkphpfastadmin為什么還是上門預約類項目的主力選型上門預約系統(tǒng)這類項目核心業(yè)務是訂單而訂單系統(tǒng)的首要要求是開發(fā)快、能維護、招人容易。thinkphp在國內(nèi)中小型項目里的存量非常大中文文檔和社區(qū)問答足夠覆蓋開發(fā)中遇到的絕大多數(shù)問題。對這個場景來說生態(tài)比性能重要——你招一個PHP開發(fā)大概率不用從零教框架你在搜索引擎里搜一個問題大概率能直接搜到別人踩過的坑。這就是為什么很多同城服務源碼、外賣源碼、預約源碼都在thinkphp里做市場已經(jīng)用腳投票了。fastadmin則是建立在thinkphp之上的后臺開發(fā)框架。它解決的痛點和上門預約項目高度相關(guān)后臺要管理用戶、技師、訂單、服務項目、優(yōu)惠券、提現(xiàn)申請……這些本質(zhì)上都是數(shù)據(jù)表格。fastadmin提供了一鍵生成CRUD的功能你在數(shù)據(jù)庫建好表后臺就能自動生成對應的菜單、控制器、模型和視圖模板。對于技師審核、訂單列表、資金流水這類管理頁面幾乎不用手寫。我一般接手這類項目時第一步是先把fastadmin后臺跑起來看它的菜單結(jié)構(gòu)再決定哪些表直接生成CRUD哪些表需要寫自定義接口。這比從零搭后臺至少省一半工作量。還有一個關(guān)鍵點是權(quán)限。上門預約系統(tǒng)需要區(qū)分總管理、商家/門店管理、財務、客服這些角色。fastadmin自帶RBAC權(quán)限管理每個角色分配菜單和操作權(quán)限這套機制是現(xiàn)成的。如果自己寫角色-權(quán)限-菜單三張關(guān)聯(lián)表加上中間的邏輯校驗又是兩三天的活。省下來的時間投到業(yè)務里去。2.2 uniapp一套代碼覆蓋H5、微信小程序和App的編譯鏈路上門預約系統(tǒng)的前端有一個特點用戶可能在微信里搜小程序進來也可能從朋友圈的H5鏈接進來技師端又往往需要裝App。如果用原生開發(fā)這三端各寫一遍維護壓力巨大。uniapp的價值就在這里——一套vue語法的代碼通過不同的編譯配置分別產(chǎn)出微信小程序包、H5頁面和原生App包。我在實際項目中一般把前端分成兩個uniapp工程一個是用戶端包含首頁、服務分類、下單、訂單列表、支付、評價另一個是技師端包含接單大廳、訂單詳情、導航、結(jié)算記錄、提現(xiàn)。兩個工程共用公共組件和接口封裝但頁面和登錄邏輯分開。用戶端用微信授權(quán)登錄H5端用手機號驗證碼登錄不同端之間的差異通過條件編譯處理。條件編譯是uniapp里比較重要的一個機制。比如支付邏輯小程序端需要調(diào)起wx.requestPaymentH5端走的是公眾號支付或掃碼支付。代碼里可以這樣處理// #ifdef MP-WEIXIN uni.requestPayment({ provider: wxpay, orderInfo: res.data.payParams, success: () this.loadOrderDetail() }); // #endif // #ifdef H5 window.location.href res.data.payUrl; // #endif這段代碼的邏輯是編譯到微信小程序時只保留MP-WEIXIN塊調(diào)用小程序原生的支付接口編譯到H5時只保留H5塊直接跳轉(zhuǎn)到支付鏈接。這樣支付這種強平臺差異的邏輯就分開了頁面結(jié)構(gòu)和業(yè)務邏輯則完全復用。新人在接這類項目時最容易出問題的地方就是分不清哪些代碼是跨端通用的哪些是端特有的。我的經(jīng)驗是只管接口和渲染的代碼盡量寫通用一碰到登錄、支付、地理位置、文件上傳這類邊界能力馬上用條件編譯隔離。2.3 mysqlredis的分工哪些數(shù)據(jù)必須走數(shù)據(jù)庫哪些走緩存上門預約系統(tǒng)的數(shù)據(jù)可以分成兩層一層是訂單、用戶賬戶、技師資料、交易流水這些是核心業(yè)務數(shù)據(jù)必須保證強一致一律放mysql另一層是驗證碼、token會話、在線狀態(tài)、首頁熱門技師緩存這些允許短暫過期和延遲放redis是常規(guī)做法。mysql這邊有一個值得注意的點所有的訂單狀態(tài)變更都應該用事務條件更新來保證安全。比如用戶取消訂單、技師接單、平臺關(guān)閉訂單三者的本質(zhì)都是把某個狀態(tài)的訂單變成另一個狀態(tài)必須確保同一時刻只有一個操作能成功。事務在這里是底線。redis的作用則更偏提速和限流。上門預約系統(tǒng)里最典型的redis應用是短信驗證碼的發(fā)送間隔控制同一個手機號60秒內(nèi)只能發(fā)一次直接在redis里存一個key設置有效期60秒發(fā)送前先查這個key。另一個典型應用是技師端接單大廳的訂單列表緩存——新訂單寫入mysql后同步寫一條到redis列表技師端輪詢接口優(yōu)先讀redis減輕mysql的查詢壓力。緩存和數(shù)據(jù)庫之間的一致性我的做法是只在非關(guān)鍵路徑上用緩存訂單狀態(tài)、賬戶余額這種敏感數(shù)據(jù)絕不先進緩存再落庫直接寫mysql讀也直接讀mysql。為省那么一點查詢壓力引入數(shù)據(jù)不一致的坑不值得。2.4 為什么不用微服務單體架構(gòu)對這個業(yè)務到底夠不夠很多開發(fā)者拿到這類項目后會問訂單、用戶、支付、技師管理是不是應該拆成微服務這里要給個明確的結(jié)論同城上門預約的流量模型是典型的脈沖式峰值QPS大概率在幾十到幾百之間單體架構(gòu)完全扛得住。拆微服務帶來的服務發(fā)現(xiàn)、分布式事務、鏈路追蹤這些問題對一支三五個人的開發(fā)團隊來說是負擔而不是收益。我傾向于這樣看架構(gòu)業(yè)務量級沒到一個模塊單獨部署一臺機器之前保持單體但把模塊在代碼層面拆清楚。比如fastadmin里的應用目錄按模塊組織admin后臺、api接口、job隊列各自獨立邏輯上已經(jīng)分離了。等哪天真需要拆先把api模塊抽出來獨立部署其他模塊保持原樣遷移成本是可控的。這套組合選型的最終理由是它能讓你把有限的開發(fā)資源全部投到業(yè)務邏輯里而不是基礎設施里。3. 把上門預約系統(tǒng)從源碼跑成本地可用的完整步驟3.1 環(huán)境準備PHP版本、擴展和nginx偽靜態(tài)上門預約系統(tǒng)的源碼跑起來之前先確認本機環(huán)境。PHP建議用7.2到7.4之間的版本這既是thinkphp 5.x系列最穩(wěn)妥的運行區(qū)間也兼容fastadmin第三方的絕大多數(shù)插件。需要用到的擴展包括pdo_mysql、redis、fileinfo、openssl、gd。其中fileinfo在部分環(huán)境下默認沒開thinkphp的文件上傳和圖片處理會用到漏了會報Class finfo not found。redis擴展也常被忽略但驗證碼和token依賴它后面會專門說。PHP環(huán)境就緒后設置php.ini里的兩個參數(shù)date.timezone Asia/Shanghai post_max_size 100M upload_max_filesize 20M時區(qū)必須顯式配置。PHP默認是UTCmysql默認又是系統(tǒng)時區(qū)兩個不一致訂單創(chuàng)建時間、技師接單時間全都會歪8個小時查數(shù)據(jù)時翻車概率很高。upload相關(guān)的兩個參數(shù)是為了后臺上傳服務項目圖片、技師頭像時不至于被大小限制卡住。接下來是nginx的偽靜態(tài)配置。thinkphp的URL訪問方式是入口文件index.php加上路由參數(shù)nginx默認配置下訪問https://域名/order/detail?id1這類地址時nginx會嘗試找order目錄下的detail文件結(jié)果404。必須在server塊里加上重寫規(guī)則server { listen 80; server_name your.domain.com; root /path/to/your-project/public; index index.php index.html; location / { if (!-e $request_filename) { rewrite ^(.*)$ /index.php?s$1 last; } } location ~ \.php$ { include fastcgi_params; fastcgi_pass 127.0.0.1:9000; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; } location ~* \.(jpg|jpeg|png|gif|ico|css|js)$ { expires 30d; } }這段配置的邏輯是當請求的文件不存在時把路徑交給index.php處理并作為參數(shù)s傳遞php文件由fastcgi處理靜態(tài)資源單獨設置30天緩存減輕接口服務器壓力。參數(shù)方面root指向的是項目下的public目錄而不是項目根目錄這是thinkphp的安全要求public之外的目錄不允許被直接訪問。fastcgi_pass的端口要和你本機php-fpm的listen端口一致默認9000如果改動過要同步。3.2 導入數(shù)據(jù)庫與后臺初始化從SQL文件到第一個管理員賬號源碼包一般會帶一個.sql格式的數(shù)據(jù)庫備份文件。操作前先創(chuàng)建一個utf8mb4編碼的數(shù)據(jù)庫編碼用utf8mb4是為了正確存儲用戶昵稱里的emoji字符。然后導入SQL文件mysql -uroot -p -e CREATE DATABASE IF NOT EXISTS house_service DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; mysql -uroot -p house_service house_service.sql命令說明第一條命令創(chuàng)建數(shù)據(jù)庫第二條把備份文件里的表結(jié)構(gòu)和初始數(shù)據(jù)灌入。導入過程如果報錯常見原因是sql文件里包了創(chuàng)建數(shù)據(jù)庫語句或者是mysql版本差異導致語法不兼容。遇到這種情況直接用可視化工具導入更省心導入后再確認一下表數(shù)量和數(shù)據(jù)量避免中途中斷導致缺表。數(shù)據(jù)庫導入后配置項目根目錄下的.env文件或application/database.php。核心是數(shù)據(jù)庫連接信息// application/database.php 中的連接配置 return [ type mysql, hostname 127.0.0.1, database house_service, username root, password your_password, hostport 3306, prefix fa_, charset utf8mb4, ];注意prefix這個參數(shù)它對應數(shù)據(jù)表前綴。fastadmin的數(shù)據(jù)表默認前綴是fa_例如fa_order、fa_technician。如果導入的表還是源碼自帶的前綴這里就不動如果手動改過表名前綴這里必須保持同步否則模型查詢時找不到表。表前綴不一致是拿到新項目后最常見的啟動報錯原因看到table not exists先查這里。后臺初始化在瀏覽器訪問http://127.0.0.1/install.phpfastadmin會引導你設置管理員賬號和密碼。安裝完成后后臺入口一般是http://127.0.0.1/admin.php。管理員登錄后第一件事是檢查菜單管理是否完整其次是權(quán)限管理里的角色是否可用。如果登錄后空白頁或者報權(quán)限錯誤基本都是后臺菜單緩存或權(quán)限緩存沒生成清掉runtime目錄下的緩存文件再刷新。3.3 前端uniapp編譯到H5和小程序manifest配置與接口域名前端工程是uniapp項目用HBuilderX或命令行工具打開。編譯到H5之前必須修改manifest.json里的配置。H5模塊需要設置路由模式小程序模塊需要填AppID——如果還沒有小程序AppID在微信公眾平臺注冊一個測試號即可。另一個容易漏的是小程序后臺的request合法域名配置這個放到避坑章節(jié)詳細說。接口請求地址統(tǒng)一封裝在一個工具文件里下面是實際項目里常用的寫法// utils/request.js const BASE_URL https://api.yourdomain.com; export function request(path, data {}, method POST) { return new Promise((resolve, reject) { uni.request({ url: BASE_URL path, method: method, data: data, header: { Content-Type: application/json, Token: uni.getStorageSync(token) }, success: (res) { resolve(res.data); }, fail: (err) { reject(err); } }); }); }這個封裝把三件事統(tǒng)一了接口前綴統(tǒng)一、token自動帶上、返回結(jié)果統(tǒng)一走Promise。實際開發(fā)中所有業(yè)務模塊都引用這個request函數(shù)不要在每個頁面里直接調(diào)uni.request否則后續(xù)要改接口地址或者加統(tǒng)一錯誤處理時就得全局搜索替換。BASE_URL對應的是后端api模塊的地址本地聯(lián)調(diào)時先指向本機IP加端口編譯發(fā)布時再改成正式域名。3.4 前后端聯(lián)調(diào)打通從登錄到首單的接口路徑環(huán)境全準備好后按一條鏈路驗證整個前后端是否打通用戶登錄、獲取服務項目、提交預約、技師接單、生成訂單。這條鏈路走通系統(tǒng)就算跑起來了。我一般會先在后端api模塊里寫一個ping接口驗證網(wǎng)絡鏈路// application/api/controller/Test.php public function ping() { return json([code1, msgpong, timetime()]); }前端瀏覽器或微信開發(fā)者工具請求http://localhost/thinkphp/public/index.php/api/test/ping能拿到JSON就說明后端可用。這里要提醒一點如果是本地聯(lián)調(diào)H5瀏覽器直接請求http://localhost的php接口通常是通的但小程序開發(fā)者工具有自己的限制后面避坑章節(jié)展開講。接下來按業(yè)務流程逐項測試手機號驗證碼登錄、服務項目列表、提交預約單、模擬技師端接單。每測試一個接口都在mysql里查一下對應表的數(shù)據(jù)變化確認寫庫成功再進入下一步。前后端聯(lián)調(diào)的常見問題十有八九出在參數(shù)名不一致上php端讀的是tech_id前端傳成technician_id接口返回參數(shù)錯誤。我的習慣是先打開php的DEBUG模式把真實報錯暴露出來再逐個接口對齊參數(shù)名。聯(lián)調(diào)通過之后再把DEBUG關(guān)掉避免線上暴露敏感信息。4. 上門預約系統(tǒng)核心業(yè)務訂單狀態(tài)、搶單邏輯與同城距離排序4.1 訂單狀態(tài)機讓狀態(tài)的每一次流轉(zhuǎn)都有據(jù)可查上門預約系統(tǒng)的訂單和標準電商訂單有本質(zhì)差異多了一個上門的物理過程。一次完整的服務要經(jīng)過用戶提交預約、平臺或技師接單、技師上門、正在服務、服務完成待評價、結(jié)算完成中間還穿插用戶取消、技師取消、超時未接自動取消等多種分支。把這個流程管理好訂單模塊就穩(wěn)了一半。狀態(tài)清單和允許的流轉(zhuǎn)方向如下狀態(tài)含義允許流轉(zhuǎn)到0待支付1-待接單、-1-已取消1待接單2-待服務、-1-已取消2待服務3-服務中、-1-已取消3服務中4-待評價4待評價5-已完成5已完成無-1已取消無注意待支付可以直接跳待接單而不是經(jīng)過已支付這個狀態(tài)。這里是為了和支付回調(diào)對齊用戶支付成功回調(diào)里直接把狀態(tài)改成待接單同時更新支付時間和第三方流水號。把已支付省掉能減少一次狀態(tài)流轉(zhuǎn)也避免出現(xiàn)已支付但沒進待接單的中間態(tài)。我在項目里見過這個坑問題不大但排查時很繞。狀態(tài)流轉(zhuǎn)的校驗必須在后端做不能依賴前端傳state直接update。一個簡單的狀態(tài)機控制類// application/common/model/OrderStatus.php class OrderStatus { const UNPAID 0; const PENDING 1; const TO_SERVE 2; const SERVING 3; const WAIT_COMMENT 4; const COMPLETED 5; const CANCELED -1; private static $flows [ self::UNPAID [self::PENDING, self::CANCELED], self::PENDING [self::TO_SERVE, self::CANCELED], self::TO_SERVE [self::SERVING, self::CANCELED], self::SERVING [self::WAIT_COMMENT], self::WAIT_COMMENT [self::COMPLETED], ]; public static function canChange($from, $to) { return isset(self::$flows[$from]) in_array($to, self::$flows[$from]); } }這段代碼定義了訂單狀態(tài)的全集和每個狀態(tài)允許跳轉(zhuǎn)到的目標狀態(tài)。所有修改訂單狀態(tài)的地方先調(diào)canChange校驗不通過就直接拒絕。這樣即使前端被改過、接口被惡意調(diào)用訂單也不會進入非法狀態(tài)。值得注意的是狀態(tài)變更接口對外提供時只能接受當前狀態(tài)目標狀態(tài)訂單號絕不能直接把整個訂單對象傳上來讓你自由更新字段那是自尋死路。4.2 技師搶單的并發(fā)控制為什么直接update比先select再update可靠技師端接單大廳的核心操作是搶單而搶單的本質(zhì)是并發(fā)競爭一個資源。兩個技師同時看到同一個訂單都點了接單如果代碼寫成先select查狀態(tài)再update改狀態(tài)就會出大問題。兩個請求幾乎同時讀到status為1都認為訂單可接然后各自執(zhí)行update后執(zhí)行的覆蓋先執(zhí)行的一個訂單被兩個技師同時接走。這屬于典型的競態(tài)條件。正確做法是單條SQL原子更新把狀態(tài)檢查放進update的where條件里// application/api/controller/Order.php 技師接單 public function accept() { $orderId $this-request-post(order_id); $techId $this-request-post(tech_id); $result Db::name(order) -where(id, $orderId) -where(status, OrderStatus::PENDING) -update([ status OrderStatus::TO_SERVE, tech_id $techId, accept_time time(), ]); if ($result 1) { // 影響行數(shù)為1說明本次更新成功訂單歸這位技師 return json([code 1, msg 接單成功]); } // 影響行數(shù)為0說明訂單狀態(tài)已不是待接單被別的技師搶了 return json([code 0, msg 手慢了訂單已被接走]); }這個寫法的精妙之處在于where里帶了status條件數(shù)據(jù)庫行鎖在更新時會再次校驗where條件只有狀態(tài)仍是1的記錄才會被更新返回值影響行數(shù)是1否則影響行數(shù)是0。不需要事務不需要redis鎖一條SQL就把并發(fā)問題解決了。這是這類項目里最值得記住的寫法比引入分布式鎖簡單得多也穩(wěn)得多。再說一下redis鎖在什么情況下才需要當一個操作涉及多張表的多個步驟且必須在整個過程中獨占資源時才需要考慮鎖。比如用戶余額提現(xiàn)到微信錢包需要凍結(jié)余額、創(chuàng)建提現(xiàn)單、調(diào)第三方接口這串操作需要一把鎖保護。而單純搶單這種單表單字段的變更原子update就夠了。不要把所有并發(fā)問題都甩給redis很多問題的正解就在數(shù)據(jù)庫本身。4.3 同城距離計算經(jīng)緯度排序在mysql里的高效寫法同城兩個字是這類系統(tǒng)的業(yè)務核心。上門預約服務里用戶看到技師列表時一般有兩個訴求只看到同一個城市的技師并且按照距離從近到遠排序。城市過濾用city_id字段即可難點在距離排序。同城業(yè)務的覆蓋范圍通常在一個城市內(nèi)部經(jīng)緯度差異不大這時可以用haversine公式的簡化形式在mysql里直接算距離并排序。下面這段SQL在幾千技師的數(shù)據(jù)量下性能可以接受SELECT id, name, avatar, lat, lng, 6371 * 2 * ASIN(SQRT( POWER(SIN((:user_lat - lat) * PI() / 360), 2) COS(:user_lat * PI() / 180) * COS(lat * PI() / 180) * POWER(SIN((:user_lng - lng) * PI() / 360), 2) )) AS distance FROM fa_technician WHERE city_id :city_id AND status 1 HAVING distance 10 ORDER BY distance ASC LIMIT 20;參數(shù)說明user_lat和user_lng是用戶當前定位的經(jīng)緯度city_id是用戶所選城市distance的單位是公里HAVING distance 10表示只顯示10公里內(nèi)的技師。這段SQL的代價是每條記錄都做三角函數(shù)運算在技師表數(shù)據(jù)量超過幾萬時響應會變慢但同城業(yè)務單城市技師數(shù)通常不會到這個量級所以前期完全夠用。如果技師數(shù)增長到十萬級再考慮引入按經(jīng)緯度網(wǎng)格分區(qū)或使用空間索引不要一開始就上重型方案。數(shù)據(jù)量上來后常見的優(yōu)化手段是粗篩后精算第一步用經(jīng)緯度差做一個方形框過濾把計算限定在一個小矩形區(qū)域里第二步只對框內(nèi)記錄做精準的距離計算。方形框的邊界值用固定比例估算一個經(jīng)度約111公里緯度約111乘以cos緯度公里來算。這個優(yōu)化可以直接在一開始就寫進SQL里把三角函數(shù)計算量降一個量級。5. 上門預約系統(tǒng)避坑記錄5個上線前后最容易翻車的現(xiàn)場5.1 小程序請求接口直接失敗連失敗回調(diào)都不觸發(fā)現(xiàn)象H5端一切正常換成微信開發(fā)者工具后所有接口請求都報request:fail。原因微信小程序?qū)W(wǎng)絡請求有域名限制正式環(huán)境要求request的url必須是HTTPS且在微信公眾平臺后臺配置過request合法域名開發(fā)環(huán)境下雖然可以勾選不校驗合法域名但前端代碼里的接口地址如果是http://localhost或http://192.168.x.x這類本機地址在真機預覽時依然會被攔截。解決本地調(diào)試時在微信開發(fā)者工具的詳情設置里勾選不校驗合法域名、web-view業(yè)務域名、TLS版本以及HTTPS證書要真機預覽則需把接口部署到一臺有公網(wǎng)地址且已配置HTTPS證書的服務器上并在小程序管理后臺添加合法域名。另外注意小程序要求TLS版本不能低于1.2部分老服務器上自簽證書或舊openssl配置會在這里卡住。5.2 thinkphp在nginx下訪問任何非首頁路由都404現(xiàn)象首頁能打開但訪問http://域名/order/list這類地址時nginx直接返回404后端接口全掛。原因nginx沒有配置thinkphp的偽靜態(tài)規(guī)則nginx在找不到對應文件時按自身默認行為處理沒有把路徑轉(zhuǎn)交給index.php。解決在nginx的server配置里加上rewrite規(guī)則核心是if (!-e $request_filename) { rewrite ^(.*)$ /index.php?s$1 last; }。改完配置后reload nginx不要忘記。還有一個容易踩的細節(jié)點thinkphp的入口文件是public/index.php如果root配置指向了項目根目錄而不是public目錄即使rewrite正確也會報錯因為index.php不在根目錄下也等于把非public目錄里的文件暴露了出去。5.3 mysql時間差8小時訂單時間、技師服務時間全錯位現(xiàn)象后臺看到的訂單創(chuàng)建時間比實際時間慢8個小時技師端顯示的預約時間也偏移。原因PHP的默認時區(qū)是UTCmysql的默認時區(qū)取決于服務器系統(tǒng)配置。PHP寫入的時間戳在mysql里顯示出來會因為時區(qū)換算產(chǎn)生8小時偏移。解決先確保php.ini中配置date.timezone Asia/Shanghai再確認mysql的時區(qū)設置可以執(zhí)行SQL查詢select now();如果結(jié)果和服務器本地時間不一致在mysql配置文件的[mysqld]段加一行default-time-zone08:00。兩個地方都對齊之后再測試一遍。這個問題玄學的地方在于本地開發(fā)可能不出現(xiàn)一部署到云服務器就出現(xiàn)因為云服務器默認時區(qū)往往是UTC。5.4 技師端輪詢接口打垮服務器沒有增量拉取的搶單大廳現(xiàn)象上線第一天技師端接單大廳接口的響應從50毫秒漲到3秒服務器CPU持續(xù)跑滿mysql連接數(shù)被打滿。原因技師端每3秒輪詢一次訂單列表每次都返回全量待接單訂單幾百個技師同時輪詢瞬間打出的查詢量遠超mysql承受能力。解決輪詢接口改成增量拉取。前端記錄上一次請求返回的最大訂單ID下一次請求帶上這個ID后端只返回ID大于它的新訂單和狀態(tài)有變更的訂單。這個方案能在不引入websocket的前提下把服務器壓力降低一個量級。改造后同樣規(guī)模的并發(fā)接口響應時間恢復到100毫秒以內(nèi)。這里要特別強調(diào)不要一上來就上websocket方案先把輪詢的增量邏輯做對大多數(shù)同城預約場景的實時性要求根本用不上長連接。5.5 并發(fā)搶單出現(xiàn)一單多接先查后改的代碼寫錯了位置現(xiàn)象兩個技師都收到接單成功的通知后臺查詢訂單發(fā)現(xiàn)tech_id字段被后操作的技師覆蓋。原因接單接口寫成了先select查詢訂單狀態(tài)、判斷可接、再update更新狀態(tài)的三段式。兩個并發(fā)請求同時讀到status為待接單都通過了判斷先后執(zhí)行update后執(zhí)行的覆蓋先執(zhí)行的。解決按第4章講的方式改寫為單條update語句將狀態(tài)判斷放進where條件用影響行數(shù)判斷是否搶單成功。代碼改完后可以做一次并發(fā)壓測驗證簡單方式是用兩個瀏覽器同時點接單按鈕也能復現(xiàn)。這是一條典型的血淚經(jīng)驗我在早期項目里踩過直接在線上出現(xiàn)過一單多接的運維事故。修完之后要同步檢查其它可能的并發(fā)點用戶余額扣減、優(yōu)惠券核銷、技師時間表占用凡是存在先查后寫模式的地方一律改成條件更新。6. 上線前的最后一道工序把演示源碼變成能商用的可用系統(tǒng)演示源碼跑通和真正對外接單之間還隔著幾道不得不做的工序。第一道是支付和結(jié)算確認微信支付/支付寶的小程序商戶號配置在后端配置項里支付回調(diào)地址必須是公網(wǎng)HTTPS地址回調(diào)邏輯要處理支付成功但訂單狀態(tài)沒更新的重復通知——支付回調(diào)可能被微信多次推送冪等處理必須做。第二道是把用戶協(xié)議、隱私協(xié)議、技師入駐協(xié)議加上這是這類平臺的合規(guī)底線。第三道是接口的鑒權(quán)和限流后臺登錄、下單、提現(xiàn)、驗證碼發(fā)送這幾個接口至少要加頻率限制redis計數(shù)器就能實現(xiàn)避免被刷。真正進入運營后有個技巧值得優(yōu)先投入把技師端搶單做成可配置的策略。前期單量少可以先用平臺派單——管理員在后臺直接把訂單分配給指定技師單量上來了再切先到先得的搶單模式。這個開關(guān)的核心邏輯就是一個配置項// 配置項dispatch_mode值為manual表示后臺派單compete表示搶單 $mode config(site.dispatch_mode); if ($mode manual) { // 后臺指派管理員選技師接口直接綁定訂單 Db::name(order)-where(id, $orderId) -where(status, OrderStatus::PENDING) -update([status OrderStatus::TO_SERVE, tech_id $techId]); } else { // 搶單模式走第4章的原子更新邏輯 }參數(shù)說明dispatch_mode這個配置放在后臺的系統(tǒng)配置里運營人員可以不用改代碼直接切換。不同模式下前端技師端的交互也要配合——搶單模式顯示立即接單按鈕派單模式只顯示訂單已指派的提示。這是從源碼走向商業(yè)運營最值得做的改造之一能讓運營策略的試錯成本降到最低。我自己的經(jīng)驗是做這類系統(tǒng)卡住進度的從來不是技術(shù)難點而是以為演示能跑就等于能上線的心態(tài)。演示源碼解決的是從無到有的問題從有到可用還需要把并發(fā)、支付、合規(guī)這三件事挨個磨一遍。每多提前一天處理這些問題上線后就少一分被用戶罵的風險。希望這篇筆記對你有點幫助。本文還有配套的精品資源點擊獲取
返回列表
PREV
查看更多資訊
NEXT
返回資訊列表
图片区 小说区 区 亚洲五月| 婷婷丁香五月天综合网| 在线婷婷| 热99只有里视频| 婷婷久久在线| 国产做爰视频免费播放| 五月激情综合网| 色的色综合| 婷婷五月天大香蕉在线视频观看| 成人短视频在线观看| 丁香五月六月欧美| 色欲婷婷夜夜| 色五月激情| 狠狠干狠狠色| AAA久久| 成人啪啪色婷婷久| 丁香六月婷婷操逼网| 狠狠色噜噜狠狠| 99热这里只有精品26| 好叼操在线观看| 色99热| 狠狠色丁香99| 99rewww| www.99操| 亚洲欧美成人在线观看| 国产日韩精品SUV| 婷婷玖玖五月天| 日本婷婷| 色色色干| 五月色网| 在线成人网站| 激情综合国产| 香蕉人在线香蕉人在线 | 五月丁香手机在线| 99er6免费视频热播| 玖玖91| 丁香五月婷婷色| 日日撸天天干| 五月天五月色| 狠狠狠狠狠草| 狠狠撸激情综合丁香五月天俺来啦| 91九色在线视频| 免看黄大片AA | 99色干| jiZZdr| 先锋男人99资源| 九九热精品| 久热AⅤ| 九九九激情综合| 99热综合| 中文字幕按摩做爰| 日本操天堂| 亚洲六月色| 天天做天天爱天天玩| 千人斩操逼| 色综合婷婷| 六月色播| 久久九九热视频| 六月丁香五月激情婷婷| 狠狠干综合网| www.久久久久久久| 桃色五月天| 天天综合在线网| 综合婷婷久久| 超碰精品在线| 五月婷婷视频| 97成人在线视频精品| 亚洲人操亚洲人| 男人操女人高潮91视频| 97干在线免费| 六月丁香色色| 日本怕怕视频| 再次出发二| 99综合视频| AV中文在线| 97热视频| 99性爱无码| 五月天伊人日日噜影片AV| 国产日批视频免费播放| 久久婷婷色五月| 丁香五月23111| 激情九九这里只有精品| 日本在线99| 99热天堂| 久久性爱网| 狠狠操在线视频| 欧美婷婷五月天综合| 久久这里只有精品无码| 99超级碰碰| 涩综合网| 97超碰婷婷五月天| 久久R激情| 色综合播放| 色色色9 9 9| 色播播婷婷| 五月婷婷人人人操| 五月开心啪啪| 超碰人人操人人干| 另类婷婷五月天啪帕帕| 91狠狠综合久久久| 丁香五月天在线| 婷婷五月天视频| 综合久久婷婷| 五月天丁香花婷婷| 影音先锋激情网| 99热无码首页| 99色热| 91色性感五月婷婷丁香| 婷婷天堂综合| 亚洲综合五月天婷婷| 五月丁香啪啪网| 欧美大肥婆大肥BBBBB| 精品五月花| 欧美日韩成人在线免费| 欧洲电影在线观看免费版英语版| av在线观看网址| 五月婷亚洲精品AV天堂| ss视频xx91| 久9精品视频| av九九| 国产精品色情AAAAA片软件| 天堂网色色| 国产xxxxx在线观看| 色婷婷丁香五月丁香| 丁香五月手机在线| 色情终和网| 色综合大香蕉| 深爱激情丁香| 婷婷色网址| 大香蕉五月丁香| 婷五月丁香俺| 久久98| 五月婷婷性爱网| AV伊人青草丁香六月| 日日夜夜小色哥| www.婷婷五月天.com| 久久99最新地址| 91人人操人人| 夜夜大香蕉婷婷丁香| 日韩成人中文| 婷婷夜夜夜夜| 操B视频在线播放| 另类图片色五月| 丁香 婷婷 亚洲 熟女| 欧美色图45678| 亚洲视频图片婷婷五月| 狠狠狠狠草草| 79色色色色| 婷婷午夜| 激情五月天之五月婷婷| 丁香五月成人| 色婷五月丁香久亚洲| av中文在线| 欧美性生交xXxX久久久| A色色| 99热这里只有精品青草| 丁香婷婷六月天| 8区视频在线| 婷婷五月天激情开心网| 一区二区三区XXXXXX| 美国天天日天天操| 欧美婷婷综合| 欧美日本国产欧美日本韩国99| 亚洲综合欧美色丁香婷婷888月图片| 欧美99热| 一区二区成人电影免费播放| 五月婷婷丁香色播网| 国产人妻777人伦精品HD| 婷婷五月蜜桃成人桃色丁香| 男男野外做爰全过程69| 狠狠色无码| 韩国真做片在线观看| 婷婷久草| 免费观看全黄做爰的视频| 五月丁香综合激情在线观看| 一区二区三区四日本| 五月天婷婷六月| 日日影院 | 色丁香综合影院| 成人亚洲精品久久久久 | 思思热在线精品视频网站| 殴美综合激情五月天免费视频| 亚洲啪啪自拍| 久99在线视频| 免费的日逼视频| 99热国品| 婷婷成人视频| 欧美色狠婷久| 黄色aa观看aaguochan| 色99热| 五月丁香久久激情综合| www五月天com| 99在线er热| 中国丰满熟女A片免费观| 丁香六月爱综合| 97成人在线视频| 久热免费视频| 五月丁香六月婷婷亚洲激情综合| 第四色色六月色综合| 久久久人妻门| 激情色播| 亚洲精级| 99性色| 婷婷五月久久| 亚洲综合婷婷五月| 婷婷色五月综合| 一起草性爱不卡视频| 在线观看免费狠狠色丁香香综合| 国产做A爰片毛片A片美国| 久久99热 这里有精品| 色九四色| 97在线综合| 婷婷五月天激情在线观看| 五月丁香婷婷色啪| www.国产色| 国产一级婬片毛片| 7777激情基地| 激情五月婷婷她| 欧美综合五月丁香六月婷| 色婷婷综合久色AV五色最新| 丁香五月婷婷av影院| 影音先锋偷偷色男人站| 玖久精品视频9| 九色91美女| 99网| 五月天色五月| 97人人搞| 天天干天天日天天插| 丁香五夜激情四射夜夜夜| 夜夜躁婷婷AV| 99这里有精品视频视频| 99在线看片| 91黄址| 九九成人| 久久婷综合| 婷婷丁香激情五月天色色| 超碰在线观看9| 久久99久久99精品,久国产,久久精品免费,99久在线,久久久久国产精品免费网站,9 | 亚洲爆乳无码精品AAA片蜜桃| 日本va欧美va欧美| 狠狠肏综合网| 九九热这里都是精品6| 久九九热| 免费观看日韩成人av| 丰满人妻一区二区三区| 久久精品人妻| 五月天婷婷色| 久久精彩免费视频| 99热这里只有精品3| 丁香婷婷色| 婷婷五月天伦理| 久热91| 成人在线视频一区| 91九色超碰正在播放| av中文字幕免费观看| 丁香六月婷婷色XXXXX| 亚洲综合婷婷五月| 天天操夜夜夜拍拍拍| 色墦五月丁香| 久久五月天色婷婷| 快乐婷婷五月天| 武则天精品久久| 99热久97| 激情綜合網址| 91精品久久久久久| 五月天婷婷黄色视频| 99综合在线| 综合99久久| 久久婷婷资源| 生活片五区| 五月婷婷丁香91| 99性视频| 天天做天天爽| 五月婷婷 婷婷五月 一区二区 久久久| 婷婷五月情| 天天操天天曰| 色婷婷五月天| 伊人九九九久| 激情五月婷婷啪啪| 97在线/亚洲| 手机旧版看人妻1025| 开心五月婷婷婷美女| 99热欧美精品| 色视频2025| 亚洲va日| 99热成人在线观看| 亚洲成人高清在线| 人人操AV| 99色免费在线观看| 午夜成人AV在线| 影音先锋男人站,影音先锋男人色资源网,影音先锋AV最新资源站,影音先锋AV资源 | 欧洲亚洲激情五月天在线| 亚洲另类婷婷五月综合| 色情五月天首页| 国产色丁香| 五月婷婷开心色伊人| 婷婷精品在线| 激情九九六月激情免费视频| 99操碰| 久热99| www.91热久久| 一区二区成人电影| 狠狠色噜噜狠狠色噜噜噜999| 久久婷婷丁香五月一二三| 五月天色婷婷图片| 天天天在线观看| 99热这里全都是精品| 99re这里只有精品国产99| 99热这里有精品2| 99热在线看| 丁香九月久久| 色色六月| 思思99热在线| 婷婷五月天在线观看免费 | 97香蕉久久超级碰碰高清版| 狠狠干综合| 97人人操人人拍| 婷婷色在线视频| 99热这里只有精品33| 九九免费视频在线| 久久久天堂国产精品女人| 久久这里只有精品16| 激情五婷网| 99re热在线视频| 国产毛多水多女人A片| 欧美精品狠狠色丁香婷婷| 干一干xxxx| 五月丁香色婷婷伊人| 丁香六月婷月91婷月| 热热久久99| 99在线观看| 无码字幕中文| 99热综合在线| 99爱在线| 亚洲无码成人网| 一本综合丁香日日狠狠色| 一级精品999WWW| WWW.桔色成人.COM| 影音先锋按摩| 9热精品| 久久久宗合视频88| 欧美激情五月天在线观看| 五月欧美丁香在线观看| 婷婷福利影院| 欧洲亚洲欧洲99久久| 大香蕉99热| 97综合视频在线| 日本的α片xxxwww| 91精品久久久久久综合五月天| 67久久| 天天日天天摸天天| 丁香九月婷婷| 五月久久五月激情| 久草五月| 超碰精品在线| 国产精品电影| avh片在线观看| 大波美女VA网站| 久久这里只有精品热在99| 成人无码精品1区2区3区免费看| 亚洲成人AV电影网| 五月天精品视频| 99在线精品免费视频| 综合久久婷婷| 精品人妻伦一二三区久| 亚洲婷婷视频| 六月丁香五月天| 久久久婷婷五月亚洲97号色| 99视频精品在线| 婷婷五月天黄色| 操逼巨乳91| 五月天另类小说| 草久私拍| 五月天婷婷色色网| 99操中文视频| 天天色粽合合合合合合合| 五月丁香另类图片| 99久视频| 狠狠综合| 丁香五月婷婷基地| 思思精品久久艹| 99精品视频免费观看近期发布| 99久久国产成人精品| 五月丁香综合| 丁香五月天av| 四川BBB搡BBB爽爽视频| 天天做天天爱天天做| 婷久久高清| www.人人操人人看人人想人人摸 人人人人操,COM | 久久激情网| 成人视频一区| 日韩无码一区二区三区四区| 嫩草AV久久伊人妇女超级A| 蜘蛛女免费观看完整版高清电影| 国产精品A成V人在线播放| 狠狠操天天操天天操| 日本熟妇乱妇熟色A片蜜桃| 婷婷5月天av| 中文字幕乱码亚洲精品一区| 狠狠狠狠狠狠狠狠| www.99热精品99.com| 丁香婷婷色五月激情综合| 97色在线观看视频| 天天做天天爽| 五月色婷婷综合| 综合狠狠干| 女人高潮内射99精品| AV片一区在线观看| 激情丁香五月天图片| 无码yw| 97色色视频| 无码髙清| 99精品国产在热久久| 五月伊人婷婷| 凹凸7777操操操| 91丨九色丨国产| 久久久精品色| 色综久久AV| 日韩不卡123| 我去色色网五雨天| 亚洲人妻一区二区| 91热爆在线| 中文字幕日产A片在线看| 综合色色色色色色| 丁香五月亚洲激情婷婷射| 亚洲精品久久久久久久久久吃药| 五月天婷婷激情| 日本色噜| 丁香亭亭久久| 自拍偷窥99热| 影音先锋偷偷色男人站| 黄色国久久| 影音先锋一区二区三区| 99视频在线精品| va中文资源在线观看| 超碰成人在线免费观看| 亚洲无AV在线中文字幕| 538在线精品| 五月天精品| 激情网站综合五月天| 97欧美在线| 超PEN精品在线| 色爱综合网| 五月丁香婷婷婷激情爱爱| 精品综合久久久久久五月天| 久久久com| 九九精品系列| 91干婷婷| 五月天伊人| 天堂久久婷婷| 五月天成人在线视频网站| www,五月丁,com| 久久这里只有国产| 操久久网| 五月色丁香综合| 色婷婷久久综合久色综| 91疯狂操操操操| 婷婷综合久久综合| 67194线路二在线观看| 中国女人做爰A片| 爱射综合| 国产在线aaa片一区二区99| 亚洲精品视频在线播放| 亚洲综合另类| 一级性爱视频| 性欧美日本| 99re久热| 人人97操| 久草五月婷| 青青草婷婷久久| 久久性都花花世界成人免费视频| 激情网 久久| 中文字幕欧美日韩VA免费视频| 欧美99| www.激情| 99国产精品白浆在线观看免费 | 日本三级第一页| 亚洲AV久久久久久久久久久久久久久久 | 色婷久久| 精品人妻伦九区久久AAA片| 亚洲天堂久久| 国产3p露脸普通话对白| 欧美私人家庭影院| 亚洲狠9| 玖玖玖婷婷婷| 欧美色色色色色色| 色999五月色| 色99视频| 五月激情婷婷开心五月| 青草激情综合| 五月丁香琪琪| 噜噜在线| 9色小视频在线观看| 久久日曰| 六月五月丁香五月欧美| 狠狠干青青草| 天天操天天干天天日| www.色婷婷.com| 99精品在线观看| 成人中文网| 久久大大香| 色婷婷亚洲在线观看| 偷偷操99| 亚洲激情丁香五月天色| 另类综合婷婷五月天欧美视频| 99A片| 五月丁香久久网| 色婷婷六月天| 色噜噜狠狠色综无码久久合欧美| 激情综合婷婷久久| 五月丁香五月婷婷| 色色色九九九五月婷婷| 国产午夜精品一区二区| 五月天色婷婷av| 99热中文字幕久久| 99啪啪| 人妻内射一区二区在线视频| 日91高清无玛| 99久久思思| 天天天天干| 性色天| 色五月综合网| AV网站免费在线| 提提热五月天婷婷| 欧美精产国品一二三区| 99婷婷精品推荐在线视频| 99热老司机| 五月综合婷婷久久在线| 色色色免费视频| 久久久久9久无码视频| 五月丁香六月婷婷久久肏| 天天搞夜夜六| 影音先锋四区| 丁香五月瑟瑟| 九九99视频精品| 1024操逼视频| 99热超碰人| 日本不卡中文字幕| se99视频| 夜夜爽天天爽| 任你爽免费视频| 狠狠搞亚洲| 五月婷婷六月激情| 亚洲旡码| 五月丁香91| 婷婷天天五月天| 五月天婷综合网站| 99黄色性生活| 五月天丁香综合久久国产| 蜜乳中文字| 婷婷五月天av| 五月丁香六月婷综合成人综合| 性日本精品| ..真实国产乱子伦毛片| 日韩一区二区在线播放| 激情五月婷婷| 91干在线| 综合五月天婷婷色| 婷婷丁香五月在线观看91| 欧美va亚洲va| 五月天六月色| 五月色视频| 99国产在线| 伊人色综合影院视频| 婷婷瑟瑟五月天| 丁香网五月天| 99色最新在线视频网站| 五月婷婷 婷婷五月 一区二区 久久久 | 五月天播播综合| 色婷婷视频| 99热亚洲| 婷婷激情四射| 91狠狠综合久久久| 欧美色五月| 五月丁香六月综合情在线观看 | 婷婷亚洲影院| www.玖玖婷婷在线| 精品久热69| 97干在线看| 伊人啪啪网| 超级碰碰一区| 色综合中文| 影音先锋偷偷色男人站| 激情五月婷黄版| 久久狠婷婷| 激情五月婷| 国产九九一区二区三区| 日日操日日撸| 桃色激情婷婷伊人网| 久久9视频| 六月婷婷狠狠| 五月日韩中文字幕| 激情五月综合| 色婷婷丁香| 99热国产免费| 无码se| 免费无码毛片一区二区A片| 99热国产国产| 久久精品国产一区二区三区四区 | 99操| 九九热视频精品2| 影音先锋自拍网| 欧美人人草| 国产性爱一级| 色情综合网| 久久性爱视频这里只有精品| 色色色97| 国产一级片| 怡红院精品视频久久久久久久久| 亚洲成人网站在线| 狠狠穞A片一區二區三區| 久久国产性爱A V| 久99久视频精品| 激情久久久久久久久久久| www.超碰| 日噜噜色| 丁香五月Av| 日韩欧美一级大黄网站| 日韩成人无码人妻| 97夫妻超碰| 日日噜噜夜夜狠狠久久丁香六月| 开心深爱五月天| 天天色五月婷婷91久久久久久久| 久久99久久99久久99人受| 婷婷六月网| 九九婷婷综合| 久色大香蕉| 色婷婷亚洲婷婷| 精品国产va久久久| 狠狠色狠狠干| 狠狠五月激情丁香六月| 日韩一区二区A片免费观看| 色五月天丁香婷婷| 色播五月婷婷五月| 操操操www.com| 成人中文字幕在线| 爱操天堂| 九九精品热| 久久久久久激情| 九玖欧洲亚洲| 久久66er久久| 99热99精品| 墨西哥毛片内射精| 亚洲精品又粗又大又爽A片| 久久婷婷五月天激情| 伊人日日干| 九九碰九九爱97| 亚洲无码免费看| 亚洲成人综合在线| 91操网| www激情| 五月丁综合在线观看| 成人av中文字幕| 五月婷婷,六月婷婷| 丁香五月天天久久综合小说| 婷婷深爱五月| 99热天堂| 婷婷五月天最新网址| 久久婷婷五月| 五月丁香在线| 欧美激情综合色综合啪啪五月| 婷婷五月花西瓜| 天天日夜夜草进麻麻的子宫| 久久久精品99亚洲综合| 欧美va亚洲va| 婷婷五月综合激情| 97操视频| 久久婷婷六月综合综合| 色九九一二| seuuu婷婷| 色色五月婷| 9l视频自拍9l九色成人| 久久九九热视频| 日韩AV片| 午夜色婷婷| 婷婷色丁香五月| 人人摸人人干| 五月激情天| 丁香六月激情蜜桃| 色女伊人| 日本色色视频| 丁香五月五月婷婷| 九九精品综合| www.久久久.com| 操逼六区| 激情综合啪啪| 久久久人妻| 极品少妇XXXX精品少妇偷拍| 91re色综合视频| 亚洲岛国电影| 综合 蜜月 婷婷| 国产永久一黄| 99热久草| 精品99这里有| 天天干天天日日| 六月丁香婷婷尤物| 玖玖资源站蜜臀| 五月天婷婷基地| 超碰成人在线观看| 色五月成人| 欧美日韩一区二区三区四区| 91蜜桃婷婷狠狠久久综合9色| 99综合| 男同色五月开心五月激情五月| 五月天小说激情| 另类丁香综合| 久久人视频| 少妇激情基地| 婷婷五月激情欧美大胆视频| 日日夜夜爽| 91人人爽狠狠狠| 天天日日夜夜| 热这里| 色婷婷的五月天| 久操人妻| 亚洲欧洲中文日韩久久AV乱码| 婷婷丁香六月| 五月丁香六月婷婷综合| 婷婷丁香六月| 五月婷婷欲色| 婷婷金品综合视频| 丁香六月婷婷色XXXX| 性色综合网| 久久综合影院| 人妻videos人妻高清| 婷婷午夜天| 久久免费精彩视频| 色综合色婷色基地| 思思色播| 涩涩涩五月天| 国产人妻777人伦精品HD| 五月激情久久| 国产xxxxx在线观看| 日本色色色| 激情综合网激情五月天| 久久久精品免费啪啪国| 欧洲区自拍| 丁香婷婷久久激情| 性生活视频98791| 精品国产一区二区三区四区阿崩| 一起草Av| 色婷婷五月天不卡| 99久视频| 九九九九毛片| 青草青青草| 久久九九99| 精品日本视频444| 亚洲激情无码久久| 激情99| 99riAV成人在线视频| 久热2025无码| 婷婷射丁香| yirenjiqingshiping| 夜夜天天久久婷婷| 色碰碰视频| 丁香五月综合激情久久潮喷| 亚洲VA在线| 六月丁丁香| 色玖玖玖| 俺也去在线视频| 久久久久久久久月丁| 色色精品色| 成人五月天丁香婷| 激情无码网| 丁香六月婷婷综合在线| 99激情| 欧美色播综合在线观看| 婷婷五月天成人网| 97久久五月丁香婷婷| 亚洲综合色色色| 五月丁香亭亭电影久久| 91艹人| 婷婷五月天成人网| 色色色色色热| 综合色五月天| www.91久久| 五月天激情小说网| 婷婷丁香五月天熟女丝袜| 97久久香草精品视频| 日日干日日| 99天堂网| 丁香五月天亚洲视频| 婷婷色av| 日本色99网站| 欧美激情综合色综合色| 五月天婷婷Av| 五月丁香花激情综合网| 丁香婷婷九月在线| 丁香五月色欲| 久热天堂| 亚洲操B| 色婷婷久久综合久色综| 99亚洲视频| 99久久97久久欧美综合网| 色噜噜97视频在线观看| 天堂色婷婷| 新五月天婷婷激情电影| 日韩成人电影在线播放| 激情综合色婷婷啪啪六月天| 欧美色五月| 精品久久99码| 丁香九月激情| 五月丁香六月婷婷中文版| 亚洲三A| 久在线综合69| 色综合久久888| 婷婷99中文字幕| 色墦五月丁香| 色五月视频无码播放| 亚洲宗合激情| 婷婷丁香五月综合网上| www一起操| 综激情网| 98毛片| 白度黄视频| 五月丁香亚洲婷婷| 欧美婷婷九月| 激情网五月天| 五月天婷婷导航| 婷婷五月综合免费在线| 色呦呦美女| 婷婷偷拍网| 欧美大片免费观看| 囯产精品久久欠久久久久久九大| 激情性爱五月| 99热只有| 天天狠狠夜夜狠狠2023| 久热中文字幕| caop在线| 婷婷五月天成人网站| 伊人玖玖综合| 欧美日韩成人| 青青草原99热| 久久大香蕉同僚| 亚洲精品又粗又大又爽A片| 天天撸天天干天天插| 97色色色| 影音先锋男人AV资源站| 另类图片激情五月| 99热成人精品| 五月天色综合| 少妇被下春药玩弄A片| 亚洲欧洲另类图片| 成人丁香五月天Av| 情五月亚洲婷婷| 成年视频免费观看| 91九九九九| 亚洲国产成人在线| 色婷婷a三区麻| 怡红院 久久| 天天肏在线视频| 欧美99| 五月天成人在线视频网站| 激情四射五月天偷偷看婷婷| 操b视频在线观看一区二区| 天天爽人人综合免费7799| 五月香蕉婷婷| 九九精品视频免费在线| 亚洲成人日韩无码精品| 色婷婷五月在线| 色五月婷婷亚洲最大| 婷婷瑟五月天久久综合| 婷婷月综合| 丁香久久九九99| 亚洲乱码日产精品BD| 99精品一二三四视频| 99热这里只有在线| 六月亚洲婷婷6月中文字幕| 亚洲AV成人无码精品| 五月丁香啪啪| 婷婷五月天综合网| 丁香五月成人婷婷| 思思re视频在线| 九九热这里只有精品556| 伊人网啪啪| 九九艹女| 午夜不卡久久精品无码免费| 色婷婷视频| 色婷操逼| 超碰高清在线| 激情综合五月天| 丁香五月开心婷婷| 天天日天天日天天搞| 99热99在线| 国产成人在线精品| 久久精品五月天| 91精品国产综合久久蜜芽解析速度| www.夜夜| 国产精自产拍久久久久久蜜| 色婷婷五月天偷拍| 天天色天天日| 超碰免费在线| 97九色| 婷婷亚洲天堂| 91美女被操| 五月丁香婷婷婷激情爱爱| 99综合| 丁香五月天啪啪a日本| 色五月影视| 五月婷婷插一插| 深爱网深爱综合网| 99精品无码网站| 激情校园 亚洲| 九九色影视| 婷香五月网在线| 婷婷亚洲五| 夜夜骑日日夜夜| 能看的av片| 亚洲丁香五月美女| 日本激情综合| 五月婷婷在线综合| 97丁香五月| 七七九色| 日本九九九九| 久久五月天精品视频| 色综合色综合网| 婷婷娌伦网| 久久狠狠欧美| 婷婷五月天777| 丁香九月婷婷色| 色色色色色色色色色色色色色色,网站| 五月丁香婷婷综合在线| WWW.色婷婷.COM| 五月色色激情网| 一区二区成人电影| 丁香五月天激情视频| 色色色综合网| 92久操视频| 激情婷婷久久| 一个色的综合| 亚洲激情综合五月婷婷啪啪| 五月丁香在线看| 综合色五月| 日本狠狠干| 久久电影五月天丁香电影| 黄色五月婷| 丁香五月婷婷亚洲综合精品| 亚洲激情五月婷婷日日| 欧美成人精品一区二区| 丁香五月天激情免费在线观看AV777| 十一月婷婷激情四射| 91在线日| 激情五月黄色| 热久久色| 成人噜噜网| 婷婷激情五月综合丁香社| 六月丁香五月天| 婷婷五月天色色| 丁香婷婷五月综合欧美另类| 六月婷婷激情| 99热只有国产在线精品| 六九色综合婷婷五月天| 91蜜桃婷婷狠狠久久综合9色| 激情五月丁香五月综合| 色欲婷婷五月天| 激情二色月| 夜夜躁婷婷AV| 婷婷色五月综合| 99超级碰碰| 开心五月婷婷在线| 婷婷丁香色情| 97日韩无套内| 伊人热婷婷| 综合久久丁香婷婷,五月婷婷六月丁香,开心激情综合网,六月丁香在线观看,婷婷丁 | www.夜夜| 色婷婷亚洲综合天堂| 日韩a热| 99综合视频| 国产婷伊人| 在线中文字幕av| 色婷婷丁香五月色综合网| 五月天狠狠| 亚洲视频在线网| 狠狠色激情在线| 狠狠五月激情丁香六月| 中文字幕丰满孑伦无码专区| 91操人视频| 婷婷天天色| 大香蕉伊人丁香五月| 婷婷五月亚洲综合| 激情五月影院| 五月丁香激情怕怕| 五月婷综合网| 99精品视频在线观看| 五月天婷婷香蕉狠狠超碰综合| 六月丁香影院| 嫩草AV久久伊人妇女超级A| 超碰97久久| 激情五月丁香六月| 午夜69成人做爰视频| 欧美日韩一a.无| 狠狠穞A片一區二區三區| 色色网站| 亚洲av综合网| 丁香五月欧美午夜视频| 99综合99| 99爱免费视频在线观看| 爽tv | 激情五月伊人婷婷| 女婷久久| 丁香六月啪啪啪| 婷婷五月天色| 色色婷婷婷丁香五月天| 五月丁香AV在线| 7777国产盗摄农村女人| 色综合xx| 久久久久婷婷| 色婷婷中文字母五月丁香| 97视频91| 超碰人人操人人干| 五月婷婷丁香大陆免费| 九九色播五月丁香| 丁香五月天激情综合| 青青草免费公开视频| 五月丁香激情五月天| 综合色五月| 五月丁香六月色婷婷综合五月天| 亚洲国产成人在线| 九九色热| 五月婷婷丁香在线| 日日夜夜狠狠婷婷色| 婷婷五月丁香香蕉| 激情五月丁香五月| 91精品久久久久久综合五月天| 色九九综合| 欧美日韩91| 这里只精品| 草草女人亚洲| 亚洲成人乱码av网站| 亚洲天堂婷婷| 操人妻视频91| 欧美VA视频| 伊人狠狠丁香婷婷综合尤物| 99re在线视频精品,这里只有精品18,| 久热九九| 天天人人天天爽| 欧美大片免费观看| 久鲁鲁色网| 日韩成人中文| 97色色在线视频| 久99热在线观看| 久9视频| 五月丁香六月婷婷不卡免费无码| 亚洲亚洲人成综合网络| 婷婷 月 丁香| 亚洲午夜一区二区| 五月激情影院| 九九在线免费观看| av国产精品| 色婷婷狠狠| 成人av在线网站| 69精品人人人人| 日本在线噜噜| 天天综合 99久久婷婷| 二色AV| 五月丁香综合啪啪対白| 99精品久| 色日本五月天| 六月婷婷网站| 色婷婷A| 北京熟妇搡BBBB搡BBBB| 婷婷五月丁香高清无码| 超碰色热| 狠狠色狠狠操| 婷婷五月天改成什么了| www天堂99| 久久久中文| 激情综合网,婷婷五月天| 色综合久久88| 99久久九九| 成人网址在线观看| 玖玖在线资源视频| www.婷婷,com| 激情五月天婷婷| xx人人xx| 第二色AⅤ| 久久99久久久| 欧美大肥婆大肥BBBBB| 这里只有精彩视频| 五月色婷婷在线观看| 99热全是精品| 99热这里是精品| 婷婷激情人妻| 亚洲人人干| 任你草| 五月丁香色| 五月婷婷综合激情| 成人资源在线| 狠狠色丁香乆乆| 日本久久婷| 春色激情第四色| 综合激情在线| 色五月婷婷五月天| 9 1超碰九色| 99热这里只有在线| 思思热在线视频观看精品| 成人国产网站| 夜夜嗨一区二区三区直播内容| 激情AV在线| 色久天| 日本va网站| 婷婷六月丁香激情| 亚洲无aV在线中文字幕 | 色婷婷XXXXX| 五月婷婷丁香啪啪| 久久大国产香蕉| 免费观看18视频网站| 99在线视频资源| 色婷婷久久综合久色综| 五月丁香网中文字幕| 五月婷婷开心亚洲无| 婷五月天丁香婷五月| 国内精品免费一区二区2009| 天天日天天操心| 人妻22p| 天天草天天爽| 婷婷丁香五月天激情| 亚洲99视频| 99热在线中文字幕| 看婷婷五月天网| 婷婷99狠狠躁天天| 亚洲AV无码一区二| 91亚洲免费片| 日韩三级高清无码| www.一区二区三区| 国产真实乱了老女人视频| 色99视频| 亚洲午夜AV| 99综合| 久99久在线| 久久HD| 色五月综合在线| 天天精品视频免费观看| 婷婷性爱无码视频| 天天日天天狠狠操| 天天舔夜夜操www com| 少妇激情基地| 亚洲国产精品成人免费一区久久久在线观看AAAA | 综合网亚洲| 噜噜视频| 狠狠色综合网站久久久久| 噜噜五月天综合| 丁香婷婷视频一区二区| 玖玖资源站中文| 亚洲丁香五月深爱五月| 久久久久99精品成人片| AAAA亚洲| 婷婷成人综合免费视频| 激情综合网,婷婷五月天| 丁香狠狠| 9这里只有精品| 欧洲亚洲激情五月天在线| 99在线观看视频| 无码区婷婷五月花开| 丁香五月婷婷性爱| 午夜五月天| 欧美色碰| 色情五月| 啪精品| 大香蕉啪啪| 五月色在线| 婷婷丁香五月激情综合站_久久五月丁香激情综合_开心五月综合激情综合五月_婷 | 狠狠色 综合色区| 老美AA片| 成人短视频免费| 大香蕉九九操| 婷婷久久综合久| 狠狠擼综合| 五月丁香狠狠| 久大香蕉| 丁香五月天视频| 97碰 在线视频观看| 99精品偷拍视频| 97精品综合| 99精品无码网站| 久8色色| 97碰啪啪| 久久国产一区二区三区| 国产亚洲色婷婷久久99精品9j| 欧洲S级在线观看| 亚洲五月婷婷在线| 99免费在线| 丁香六月啪| 五月天丁香婷婷视频网址| 99精品高潮| 噜色精品| 91人碰| 日本片日本片祼观看网站在线看中文版网页在线看 | 99热这里只有精品免费| 丁香五月AV| 97久操| 婷婷丁香五月av| 日本成人小说婷婷六月| 色丁香五月天| 又大又粗九一在线| 综合99综合久久久久久久| 国产欧美日韩性爱| 九九热在线视频观看| 激情AV| 五月丁香婷婷综合视频| 中文字幕综合网| 五月天激情社区| 天天日天天舔| 国产一区18| 亚洲VA在线| 99热日韩| 久久人视频| 另类婷婷丁香| 天天射美女| 五月天婷婷色综合| 思思视频精品| 婷婷五月天开心激情网| 久久a热| 99亚洲视频| 激情美女五月天激情在线| 99免费| 91性人人| 狠狠色婷婷六月激情网| 99久视频| 日韩黄色电影| 五月婷婷综合精品| 99热只有这里有精品| 人橾人| 色99综合视频| 成年人丁香五月| 99热最新精品| 这里只精品热在线18| 色五月激情五月| 亚洲超碰中文字幕| 丁香五月婷婷成人综合| 色中色综合| 九九色天堂| 激情五月视频在线婷婷| 婷婷综合网| 婷婷五月丁香五月| www.五月婷婷| 日韩啪啪自拍| 五月丁香婷婷激情澎湃四射| 久久538| 99久久九九| 色色网站在线| 色五月 婷婷, 大香蕉| 综合狠狠干| 能直接看的av网站| 欧美婷婷丁香五月社区| 亚城区在线| 91妻人人爽人人看片| 深爱婷婷色| 九九aV| 国产五月丁香在线| 激情综合婷婷| 九九99在线免费在线观看视频| 五月天婷婷綜合院| 五月激情综合性爱| 色婷婷小说网| 国产AV不卡福利| 婷婷综合精品视频97| 亚洲欧美日韩另类| 狠狠干五码| 密桃激情五月天综合网| 九九丁香社区欧美激情| 久久杏爱视频| 亚洲精品又粗又大又爽A片 | 欧美噜噜噜草| www.久久久久| 激情五月婷婷色综合|