免费国产精品自在自线-91精品国产色综合久久久浪潮-99热久久免费频精品-国产精品国模在线观看-久久亚洲国产精品成人?V秋霞-久久国产一级A片免费播放-亚洲国产欧洲综合97久久-久久国产白嫩美女呻吟高潮

ARTICLE DETAIL

資訊詳情

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

基于微信小程序與Python的實驗室預(yù)約排課系統(tǒng)設(shè)計與實現(xiàn)

基于微信小程序與Python的實驗室預(yù)約排課系統(tǒng)設(shè)計與實現(xiàn) 最近好幾個高校的實驗室管理員朋友跑來問我能不能把實驗室預(yù)約從“微信群接龍Excel排課表”里解放出來。聊了一圈我給的方案都是同一個小程序 Python后端做一套實驗室預(yù)約排課系統(tǒng)。小程序負(fù)責(zé)學(xué)生端和管理員端的使用入口Python負(fù)責(zé)預(yù)約規(guī)則、排課沖突檢測和數(shù)據(jù)接口這套組合對于實驗室這類場景來說輕量、夠用、還特別好落地。這篇文章把我做這個系統(tǒng)的完整思路、核心代碼和踩過的坑一次說清楚正在做類似課設(shè)或者真想給實驗室做個小工具的朋友可以直接拿走參考。1. 項目整體設(shè)計與技術(shù)選型1.1 為什么前端選小程序而不是App或Web頁面實驗室預(yù)約這個場景有個特點使用頻次不算高但用的時候都特別急。今天老師臨時調(diào)課學(xué)生小組明天要做實驗沒人愿意為了預(yù)約一次額外下載一個App。小程序天然適合這種“低頻剛需”的場景掃碼進入、用完即走不用安裝也不用擔(dān)心安卓和蘋果應(yīng)用市場的審核流程。如果你還在糾結(jié)要不要用uniapp開發(fā)我的建議是分情況。如果項目只面向微信生態(tài)直接寫原生微信小程序就夠了開發(fā)工具順手、調(diào)試方便、API文檔也全。如果你們學(xué)校未來可能有支付寶小程序、抖音小程序的需求才值得用uniapp做多端適配但學(xué)習(xí)成本和打包配置的復(fù)雜度會明顯上升。相比之下原生小程序的wxml、wxss、js這套東西和前端基礎(chǔ)語法幾乎同源做過網(wǎng)頁開發(fā)的人一周就能上手。另外有個現(xiàn)實問題實驗室預(yù)約系統(tǒng)往往還要對接企業(yè)微信或?qū)W校內(nèi)部的通知體系微信原生生態(tài)在這塊最省事。還有一點別忽略小程序不用處理跨平臺設(shè)備的碎片化問題。安卓和鴻蒙的返回鍵邏輯、iOS的鍵盤彈出方式、各種機型的劉海屏適配原生小程序都被微信統(tǒng)一處理得差不多了。如果自己搞App光是這些細(xì)節(jié)就能消耗掉半個開發(fā)周期。所以除非有明確的多端訴求否則不要讓“想做App”的沖動主導(dǎo)技術(shù)選型。1.2 后端為什么選Python而不是Java或Node.js后端選型上我毫不猶豫選了Python。理由很實際實驗室預(yù)約排課系統(tǒng)的核心難度不在并發(fā)量而在排課規(guī)則和預(yù)約沖突的判斷。Python寫這類業(yè)務(wù)邏輯非常流暢幾行就能表達一個復(fù)雜的判斷條件而且字典、列表這些數(shù)據(jù)結(jié)構(gòu)處理前端傳來的JSON參數(shù)特別自然。Python做后端的優(yōu)勢在校園和中小企業(yè)場景里體現(xiàn)得尤其明顯。開發(fā)周期短一個人一周就能把核心接口寫完調(diào)試方便報錯信息直觀生態(tài)里有Flask、FastAPI、Django這些成熟框架按需選擇就行。我自己偏愛FastAPI因為它是異步框架性能比Flask好還能自動生成OpenAPI文檔小程序端的人看接口文檔都省了。如果團隊里都是Python新手選Flask更穩(wěn)資料最多、坑最少。很多人在這個項目里糾結(jié)“用Python會不會性能不夠”這就是想多了。高校實驗室的預(yù)約并發(fā)量高峰期也就幾百個人同時搶晚上幾個時段FastAPI加一個MySQL完全扛得住。真正決定系統(tǒng)好不好用的是你能不能把排課沖突規(guī)則寫對而不是語言本身快不快。當(dāng)然你要是想鍛煉自己也可以試試用Java Spring Boot但那個開發(fā)成本會明顯高對實驗室預(yù)約這種項目來說有些大材小用。1.3 系統(tǒng)整體架構(gòu)和數(shù)據(jù)流整套系統(tǒng)的架構(gòu)非常簡單核心就三層小程序前端、Python后端接口、MySQL數(shù)據(jù)庫。小程序端負(fù)責(zé)頁面展示和交互比如實驗室列表、日期選擇、時段預(yù)約、管理員審核后端用FastAPI暴露RESTful接口處理登錄鑒權(quán)、預(yù)約創(chuàng)建、沖突檢測、排課數(shù)據(jù)查詢數(shù)據(jù)庫存所有持久化數(shù)據(jù)包括用戶、實驗室、預(yù)約記錄、排課課程。小程序通過wx.request請求后端的http接口數(shù)據(jù)格式統(tǒng)一走JSON。具體的請求流程可以這樣理解學(xué)生打開小程序先用微信code登錄后端調(diào)微信接口拿到openid并返回一個自定義token之后每次請求都帶上token后端校驗身份學(xué)生選擇實驗室、日期、時間段并提交預(yù)約后端先檢查這個時段是否已經(jīng)被課程占用、是否已被別人預(yù)約、是否超過實驗室容量全部通過才寫入數(shù)據(jù)庫管理員端則負(fù)責(zé)導(dǎo)入實驗課表、設(shè)置實驗室開放時間、處理學(xué)生預(yù)約的審核和取消。這套流程不復(fù)雜但每個環(huán)節(jié)都有坑后面我逐個拆。2. 核心功能拆解與關(guān)鍵流程設(shè)計2.1 用戶端登錄、實驗室列表、預(yù)約下單用戶端最核心的三個功能是登錄、查看實驗室、提交預(yù)約。登錄這塊微信小程序一定要用wx.login拿到臨時code再把code傳給后端由后端調(diào)用微信的code2Session接口換取openid。這里有個特別容易被新手忽略的點小程序端絕對不要自己去請求微信接口換openid因為那把appSecret暴露給了前端等于是把用戶數(shù)據(jù)脫褲子給人看。正確做法是后端持有appSecretcode每次用完就失效后端拿到openid后生成自己的token返回給小程序端后續(xù)請求都帶這個自定義token。實驗室列表頁面要展示實驗室名稱、所在位置、可容納人數(shù)、當(dāng)前開放狀態(tài)、今天的空閑時段。這里需要注意的是實驗室列表不能一次性把所有數(shù)據(jù)都返回分頁是必須的否則數(shù)據(jù)量大了小程序渲染會卡。我習(xí)慣用limit和offset做簡單的分頁每個頁面加載20條觸底時再拉下一頁。預(yù)約下單是整個系統(tǒng)最敏感的操作。前端讓用戶選擇日期、時段、實驗類型、參與人數(shù)然后提交給后端。千萬不要在前端做預(yù)約是否沖突的判斷就認(rèn)為萬事大吉更不要直接把數(shù)據(jù)寫進數(shù)據(jù)庫。前端的判斷只是體驗優(yōu)化真正的沖突檢查和寫入限制必須在后端完成因為前端代碼可以被抓包改參數(shù)繞過限制。小程序抓包這個事我就不細(xì)說了但做開發(fā)的一定要默認(rèn)所有前端傳參都不可信。2.2 管理員端排課導(dǎo)入、預(yù)約審核、數(shù)據(jù)統(tǒng)計很多做預(yù)約系統(tǒng)的人容易忽略管理端其實管理端的復(fù)雜度比用戶端還要高。排課是整個系統(tǒng)的靈魂學(xué)生預(yù)約是在課程剩下的空余時間上做文章的所以課程排課必須可靠。我建議的排課方式是管理員在后臺按實驗室、按周次導(dǎo)入課程表。導(dǎo)入方式可以支持手工添加也可以支持Excel批量導(dǎo)入。Excel導(dǎo)入聽起來高級但從實際使用來看手工添加反而更穩(wěn)因為絕大多數(shù)實驗室一個星期就那么幾十節(jié)課手工一條條加也就十幾分鐘。批量導(dǎo)入Excel需要處理格式兼容、日期解析、重復(fù)行等問題開發(fā)成本和收益不成正比除非你們有幾十個實驗室才建議做。預(yù)約審核這塊可以做成“提交即生效”和“需要管理員審批后生效”兩種模式。對于校園實驗室我更推薦前一種即提交即生效但設(shè)置一個防沖突檢查和信用分機制。學(xué)生預(yù)約成功后如果爽約三次拉入黑名單限制預(yù)約兩周。這樣既保證使用效率又減少管理員的負(fù)擔(dān)。人工審批模式適合有特殊設(shè)備的實驗室比如貴重儀器房需要老師確認(rèn)才能通過。數(shù)據(jù)統(tǒng)計也不能缺。管理員需要知道每個實驗室的使用率、每個時段的預(yù)約熱度、每個院系的使用情況。這些數(shù)據(jù)可以指導(dǎo)下一學(xué)期的排課比如某個實驗室周三下午總是被約滿可以考慮多排專業(yè)實驗課某個設(shè)備孤島實驗室長期無人用就應(yīng)該重新分配用途。簡單用SQL聚合查詢就能出報表沒必要上大數(shù)據(jù)組件。2.3 預(yù)約排課的核心沖突檢測規(guī)則沖突檢測是這個系統(tǒng)最核心、也最容易寫錯的地方。規(guī)則其實不難我把它拆成下面幾條第一時間不能重疊。學(xué)生預(yù)約的時段不能被課程表里的課程占用也不能被其他已成功的預(yù)約占用。判斷區(qū)間重疊有一個經(jīng)典公式現(xiàn)有預(yù)約開始時間小于新預(yù)約結(jié)束時間且現(xiàn)有預(yù)約結(jié)束時間大于新預(yù)約開始時間兩者同時成立即沖突。用代碼寫就是 prev_start new_end and prev_end new_start。第二實驗室容量限制。預(yù)約人數(shù)不能超過實驗室最大容納人數(shù)這個在請求參數(shù)里做校驗前端也可以做一個提示但后端必須再查一次數(shù)據(jù)庫里的容量字段。第三同一用戶同一時間段不能重復(fù)預(yù)約。學(xué)生可以一次約多個時段但不能同一個時段約兩個不同實驗室否則會造成名額浪費。后端要用用戶ID加時間的唯一性查詢。第四課程優(yōu)先于自由預(yù)約。如果某實驗室在周一上午第1-2節(jié)有固定實驗課那這個時間段學(xué)生自由預(yù)約必須被拒絕除非管理員設(shè)置可預(yù)約數(shù)量增量。課程排課數(shù)據(jù)可以單獨存一張表在預(yù)約檢查時先查課程表再查預(yù)約表。我踩過的最大坑是以為只要在Python代碼里做判斷就足夠了但并發(fā)情況下兩個請求同時通過檢查然后同時寫入數(shù)據(jù)庫就會產(chǎn)生超賣。所以除了業(yè)務(wù)代碼判斷數(shù)據(jù)庫層面必須加唯一索引或利用事務(wù)后面我在代碼部分詳細(xì)講。3. 數(shù)據(jù)庫設(shè)計與核心代碼實現(xiàn)3.1 數(shù)據(jù)表結(jié)構(gòu)設(shè)計數(shù)據(jù)庫我選MySQL原因很簡單校園環(huán)境里讓老師裝個Redis或者MongoDB不現(xiàn)實MySQL基本是標(biāo)配而且這類系統(tǒng)的數(shù)據(jù)結(jié)構(gòu)非常規(guī)整用關(guān)系型數(shù)據(jù)庫最合適。如果只是開發(fā)學(xué)習(xí)或者本機演示SQLite也能跑起來只要把數(shù)據(jù)庫連接串改一下就行。第一張表是用戶表保存所有小程序用戶和管理員。字段包括id、openid、昵稱、頭像、角色student/admin、學(xué)號/工號、手機號、信用分、創(chuàng)建時間。openid必須加唯一索引這是用戶身份的唯一標(biāo)識。第二張表是實驗室表。字段包括id、名稱、地址、容量、負(fù)責(zé)人、設(shè)備說明、是否開放預(yù)約、開放開始時間、開放結(jié)束時間、備注。重點在于“是否開放預(yù)約”這個狀態(tài)位管理員可以臨時關(guān)閉某個實驗室進行設(shè)備維護。第三張表是課程排課表。字段包括id、實驗室id、課程名稱、教師、星期幾、開始節(jié)次、結(jié)束節(jié)次、開始周次、結(jié)束周次、單雙周標(biāo)記、備注。這里我用“星期幾開始節(jié)次結(jié)束節(jié)次”表述時段比直接存日期時間更符合高校作息排課表本來就是按周重復(fù)的。如果是企業(yè)培訓(xùn)場景也可以改成具體的開始時間、結(jié)束時間。第四張表是預(yù)約記錄表。這是最核心的表字段包括id、用戶id、實驗室id、預(yù)約日期、開始節(jié)次、結(jié)束節(jié)次、參與人數(shù)、狀態(tài)pending/approved/cancelled/completed/no_show、創(chuàng)建時間、更新時間。狀態(tài)字段要有默認(rèn)值如果是免審核模式就直接置為approved。預(yù)約記錄表建議加兩個索引一個是實驗室id、預(yù)約日期、開始節(jié)次、結(jié)束節(jié)次用來快速查沖突另一個是用戶id、預(yù)約日期用來查用戶的預(yù)約歷史和防止重復(fù)預(yù)約。并發(fā)情況下光靠索引還不夠下面代碼段解決。3.2 后端接口實現(xiàn)以FastAPI為例環(huán)境準(zhǔn)備這里不多廢話Python 3.9以上版本安裝fastapi、uvicorn、sqlalchemy、pymysql就夠了。Linux服務(wù)器上如果自帶Python版本太低建議用源碼編譯安裝新版或者直接裝miniconda管理虛擬環(huán)境省去一堆依賴問題。登錄接口先從簡單的開始。小程序傳入code后端拿到code調(diào)微信接口換openid再生成自己的token。from fastapi import FastAPI, Depends, HTTPException import httpx, secrets from datetime import datetime from sqlalchemy.orm import Session app FastAPI() # 假設(shè)已配置微信小程序 appid, secret WX_APPID your_appid WX_SECRET your_secret app.post(/api/login) async def login(data: dict): code data.get(code) async with httpx.AsyncClient() as client: resp await client.get( https://api.weixin.qq.com/sns/jscode2session, params{ appid: WX_APPID, secret: WX_SECRET, js_code: code, grant_type: authorization_code } ) wx_data resp.json() openid wx_data.get(openid) if not openid: raise HTTPException(status_code401, detail微信登錄失敗) # 查詢或創(chuàng)建用戶然后生成 token token secrets.token_hex(16) # 將 openid token 保存到數(shù)據(jù)庫返回 token return {token: token, role: student}真實的項目里token要把user_id、角色、過期時間一起管理最好存到一張login_token表里每次請求通過token查到用戶。token不要直接存openid的明文關(guān)系在小程序端不然有個人信息泄露的風(fēng)險。預(yù)約接口是重點我們必須保證創(chuàng)建預(yù)約時檢查沖突是原子操作。簡單的方法是用數(shù)據(jù)庫行鎖但更穩(wěn)妥的做法是對預(yù)約記錄表加一個唯一約束讓數(shù)據(jù)庫幫我們擋掉并發(fā)重復(fù)插入。實際項目中我會在業(yè)務(wù)檢查后再執(zhí)行一次插入插入時如果撞了唯一索引捕獲IntegrityError并返回“該時段已被預(yù)約”。下面是一個簡化示例from sqlalchemy import and_, func from sqlalchemy.exc import IntegrityError app.post(/api/reserve) async def reserve(data: dict, db: Session Depends(get_db)): # 參數(shù): user_id, lab_id, reserve_date, start_period, end_period, people_count lab db.query(Lab).filter(Lab.id data[lab_id]).first() if not lab: raise HTTPException(status_code404, detail實驗室不存在) if not lab.is_open: raise HTTPException(status_code400, detail實驗室未開放預(yù)約) # 檢查課程排課沖突 conflict_course db.query(CourseSchedule).filter( CourseSchedule.lab_id data[lab_id], CourseSchedule.week_day data[week_day], CourseSchedule.start_period data[end_period], CourseSchedule.end_period data[start_period] ).first() if conflict_course: raise HTTPException(status_code400, detail該時段已被實驗課占用) # 檢查普通預(yù)約沖突 conflict_reserve db.query(ReserveRecord).filter( ReserveRecord.lab_id data[lab_id], ReserveRecord.reserve_date data[reserve_date], ReserveRecord.start_period data[end_period], ReserveRecord.end_period data[start_period], ReserveRecord.status.in_([approved, pending]) ).first() if conflict_reserve: raise HTTPException(status_code400, detail該時段已被預(yù)約) record ReserveRecord( user_iddata[user_id], lab_iddata[lab_id], reserve_datedata[reserve_date], start_perioddata[start_period], end_perioddata[end_period], people_countdata[people_count], statusapproved ) db.add(record) try: db.commit() except IntegrityError: db.rollback() raise HTTPException(status_code400, detail手慢了該時段剛被別人預(yù)約) return {id: record.id, status: record.status}代碼里用了一個技巧判斷課程沖突時沒寫死“星期幾等于”而是把week_day也作為篩選條件。這里注意數(shù)據(jù)庫查詢中的區(qū)間重疊判斷要和業(yè)務(wù)需求對應(yīng)跨天、跨節(jié)次的場景要特別測試。如果是晚上20:00到21:00這種按絕對時間存的判斷方式一樣但要把日期和時間拼成一個datetime再比較。3.3 前端小程序關(guān)鍵頁面實現(xiàn)小程序端代碼分三塊頁面、請求封裝、狀態(tài)管理。頁面用來展示和交互請求封裝統(tǒng)一處理token和錯誤提示狀態(tài)管理保存用戶信息。請求封裝非常重要。我見過很多新手在每個頁面里直接寫wx.request結(jié)果token過期了到處都要改錯誤提示五花八門。建議把請求封裝成一個request.js文件類似下面這樣const BASE_URL https://api.example.com; function request(path, method GET, data {}) { return new Promise((resolve, reject) { wx.request({ url: BASE_URL path, method: method, data: data, header: { Content-Type: application/json, Authorization: wx.getStorageSync(token) || }, success: (res) { if (res.statusCode 200) { resolve(res.data); } else if (res.statusCode 401) { wx.navigateTo({ url: /pages/login/login }); } else { wx.showToast({ title: res.data.detail || 請求失敗, icon: none }); reject(res); } }, fail: (err) { wx.showToast({ title: 網(wǎng)絡(luò)異常, icon: none }); reject(err); } }); }); } module.exports { request };預(yù)約頁面的wxml結(jié)構(gòu)很常規(guī)核心就是日期選擇器、時段選擇、實驗室容量提示、提交按鈕。需要注意的細(xì)節(jié)有兩個第一日期選擇器的范圍要設(shè)置min屬性為今天不能讓學(xué)生約過去的日期第二時段選擇建議用按鈕組而不是picker因為一旦選擇多個連續(xù)時段picker并不方便。用戶選完時段后前端先算一下本次預(yù)約總共多少節(jié)再連同實驗室容量一起展示減少后端失敗的挫敗感。頁面JS里調(diào)接口也要注意防重復(fù)點擊。把提交按鈕加一個loading狀態(tài)第一次點擊后禁用按鈕直到請求完成否則用戶連點三下會產(chǎn)生三個重復(fù)請求雖然后端有沖突檢查但會給用戶“約了好幾次”的錯覺體驗極差。4. 常見問題與排查技巧實錄4.1 并發(fā)情況下預(yù)約超賣怎么處理這是實驗室預(yù)約系統(tǒng)最容易出的線上事故。兩個學(xué)生同時提交同一個實驗室同一個時段的預(yù)約后端都先查詢了一遍沒有沖突然后同時執(zhí)行插入數(shù)據(jù)庫結(jié)果兩個請求都成功了實驗室被超賣。我在開發(fā)階段就遇到過一次當(dāng)時還以為是前端按鈕沒做防重復(fù)后來一查是并發(fā)問題。解決這個問題的核心思路是查詢和寫入之間必須有隔離性不能靠業(yè)務(wù)代碼的先后順序。最實踐的做法就是在預(yù)約記錄表上建立針對實驗室、日期、開始節(jié)次、結(jié)束節(jié)次的聯(lián)合約束但因為時間區(qū)間不是枚舉唯一索引比較難設(shè)計。退而求其次可以用數(shù)據(jù)庫的行級鎖。在SQLAlchemy里通過with_for_update()鎖定實驗室記錄行保證同一時間只有一個事務(wù)能檢查并插入預(yù)約記錄。如果項目并發(fā)量確實大比如全校幾千人同時搶晚上7點到9點的實驗室那就得上消息隊列或者Redis分布式鎖。但坦白說這種校內(nèi)預(yù)約系統(tǒng)做到這個程度有點過度設(shè)計了。我建議先把數(shù)據(jù)庫事務(wù)和行鎖做好已經(jīng)能覆蓋絕大多數(shù)場景。并發(fā)問題的排查也簡單高并發(fā)壓測時觀察日志里有沒有同時插入成功的情況。4.2 微信登錄時session_key和token搞混微信小程序登錄流程中主流的說法是通過wx.login拿到code后端用code換openid和session_key。很多新手會把session_key存在自己的服務(wù)器然后拿來當(dāng)身份憑證這是不對的。session_key是微信會話密鑰用來解密用戶數(shù)據(jù)不應(yīng)該服務(wù)于業(yè)務(wù)系統(tǒng)的會話管理。正確做法是后端用code換到openid之后生成一個自己的token比如用secrets.token_hex(16)生成隨機字符串關(guān)聯(lián)user_id設(shè)置7天過期時間存數(shù)據(jù)庫。小程序端以后請求都帶這個token后端通過查詢token表驗明正身。不要把openid在接口返回里暴露給小程序端雖然openid本身不能直接干壞事但它屬于用戶敏感信息接口盡量只返回用戶id和昵稱等業(yè)務(wù)必要字段。在實際開發(fā)中微信官方對js_code2session接口的調(diào)用頻率有限制如果登錄頻繁可能會有臨時接口報錯。這種情況可以做一個簡單的本機token緩存小程序啟動時如果本地已有未過期的token就直接使用不再重復(fù)wx.login只有后端返回401才重新走登錄流程。4.3 時間重疊判斷的邊界問題時間重疊判斷這個代碼寫出來只有一行但邊界問題特別多。第一次寫這個系統(tǒng)的時候我用的是“開始時間小于新結(jié)束時間且結(jié)束時間大于新開始時間”然后測試時發(fā)現(xiàn)課程表里的“9月30日”和預(yù)約表的“2025-09-30”格式不一致直接查不中。后來約定所有日期都存成date類型節(jié)次都用整數(shù)才算是徹底解決。另一個邊界問題是跨天實驗。比如晚上實驗室通宵開放學(xué)生預(yù)約了22:00到第二天06:00如果按“日期”作為查詢條件這條預(yù)約在第二天的記錄里就查不到導(dǎo)致第二天白天的時段被重復(fù)預(yù)約。解決辦法是預(yù)約表里存“開始時間”和“結(jié)束時間”完整datetime查詢時用兩個時間字段做區(qū)間重疊判斷而不是用日期加節(jié)次的拼接方式。如果堅持用節(jié)次模型那就要允許結(jié)束節(jié)次大于當(dāng)天總節(jié)次并且日期順延一天這會引入很多麻煩。還有單雙周排課的問題。很多高校實驗課是單周或雙周輪換如果課程排課表不保存“單雙周標(biāo)記”會導(dǎo)致隔周一次的實驗課在另一周被錯誤占用。我的建議是排課表里加一個week_type字段取值為all/odd/even檢查時間沖突時把當(dāng)前預(yù)約日期對應(yīng)的教學(xué)周和week_type比對一下只有匹配才視為沖突。4.4 小程序真機預(yù)覽和HTTPS域名配置這個問題幾乎每隔幾天就會有人來問我。小程序開發(fā)工具里接口調(diào)試得好好的一上真機就白屏、請求全部失敗原因基本都是域名沒配好。小程序正式環(huán)境要求所有請求必須是HTTPS而且域名要從小程序后臺的“request合法域名”里提前配置。如果你只是本地開發(fā)可以在開發(fā)工具里勾選“不校驗合法域名”但真機上如果還跑localhost那是連不上的因為手機訪問不到你電腦上的服務(wù)需要后端部署到局域網(wǎng)可訪問的IP或者云服務(wù)器。我個人的經(jīng)驗是開發(fā)階段直接用內(nèi)網(wǎng)穿透工具或者部署到一臺云服務(wù)器上測試不要等到上線再配域名。后端接口路徑和前端BASE_URL要一致避免出現(xiàn)開發(fā)環(huán)境是http、線上環(huán)境是https導(dǎo)致請求被攔截的情況。部署后端時用Nginx把Python服務(wù)反代到443端口配好SSL證書小程序那邊才能順暢請求。再提醒一個容易忽略的點小程序的request并發(fā)限制是10個。如果頁面初始化時同時發(fā)送實驗室列表、課程表、用戶信息好幾個請求數(shù)量不多沒問題但如果后續(xù)功能膨脹了注意合并接口或者做請求隊列不然偶爾會出現(xiàn)高并發(fā)時的請求失敗。4.5 Python環(huán)境與依賴安裝的坑Python環(huán)境的坑大多是版本不一致造成的。有的服務(wù)器自帶的Python是3.6但FastAPI要求3.7以上SQLAlchemy新版也可能不兼容Python 3.6所以裝好依賴后第一步就是檢查版本。建議用虛擬環(huán)境管理項目依賴簡單說就是在項目根目錄執(zhí)行python3 -m venv venv然后source venv/bin/activate激活再pip install。這樣不會污染系統(tǒng)Python換服務(wù)器時也能靠requirements.txt一鍵恢復(fù)環(huán)境。很多新手遇到的問題是這樣本地運行好好的上傳服務(wù)器后報ModuleNotFoundError。原因基本是忘記執(zhí)行pip install -r requirements.txt或者requirements.txt沒有把依賴寫全。生成requirements.txt最穩(wěn)妥的方法是pip freeze但要注意它會把無關(guān)的全局依賴也帶進去所以更推薦手動維護一個干凈的依賴清單只寫fastapi、uvicorn、sqlalchemy、pymysql、httpx這幾個核心包帶上版本號。Linux系統(tǒng)上安裝Python如果使用源碼編譯千萬別忘了先安裝libssl-dev和libffi-dev否則Python編譯出來缺少ssl模塊后面調(diào)用微信HTTPS接口會直接報錯。另外pip下載慢的問題可以臨時指定清華鏡像源pip install -i https://pypi.tuna.tsinghua.edu.cn/simple 包名。這些都是老生常談但每屆學(xué)生都會踩一遍。5. 一些額外的實踐經(jīng)驗做這個系統(tǒng)最值錢的不是代碼本身而是把一個真實業(yè)務(wù)抽象成一套可以被驗證的邏輯。我開發(fā)的時候把大部分時間花在編寫沖突規(guī)則和測試邊界條件上反而頁面布局這些只花了兩天。如果你也在做類似項目我強烈建議先畫出完整的業(yè)務(wù)流程圖把每種角色、每個狀態(tài)、每個異常分支都標(biāo)出來再開始寫代碼。給即將上線的小項目三個具體建議第一先從一間實驗室試運行管理員手工檢查一天確認(rèn)預(yù)約準(zhǔn)確率再放開所有實驗室第二預(yù)約成功之后一定要有消息通知最簡單的是在小程序里做個“我的預(yù)約”列表學(xué)生自己來看結(jié)果復(fù)雜點的可以用訂閱消息推送第三建立爽約懲罰機制否則過兩個月就會有人惡意占坑。信用分字段我已經(jīng)放在用戶表里了后續(xù)就是每次爽約扣分、定時解禁的簡單邏輯。如果后續(xù)想擴展可以考慮把實驗報告提交、設(shè)備借用、耗材領(lǐng)用都掛在預(yù)約單下一個實驗室管理系統(tǒng)就慢慢成形了。但別急著一次做完先讓預(yù)約排課跑穩(wěn)定這個核心穩(wěn)定其他功能都是加分項。
返回列表
PREV
查看更多資訊
NEXT
返回資訊列表
www.色五月.com| 婷婷九色| 久久婷婷五月综合色丁香| 五月天社区婷婷| 性天天中文网| av久热| 99热在线精品观看| 天天爱天天做天天爽| 91操黄| 九九精品热播| 天天 日综合| 激情亚洲五月| 免费观看亚洲AV片| 高清无码中文字幕aVDV| 在线观看免费狠狠色丁香香综合| 操操啪| 天天射夜夜骑| 国产 亚洲 在线| 婷婷亚洲综合| 免费观看的婷婷五月视频在线| 久操人| 99re在线观看| 伊人AV五月婷| 九九热99re8热免费观看| 香蕉久久国产AV一区二区| 五月天婷婷永久免费视频| 五月色丁香婷婷综合| 丁香激情网| 9999热精品在线免费播放| 在线观看视频1区| 色色性爱视频| 激情播丁香| 31色区视频免费看| 五月激情视频| 99免费在线视频| 久久曰曰| 久久久久视剧HD| 97资源碰碰| 色久婷婷网| www.91AV.COM| 熟妇无码乱子成人精品| 久久人人九| 五月久久噜噜| 色狠狠综合网| 97超喷视频在线观看| 色啪影院| 亚洲激情区| 亚洲综合在线播放| 婷婷五月天天| 26uuu亚洲| 婷婷五月骚厕所| 97碰久久| 久久综合婷| 99啪啪视频| 亚洲欧美国产高清vA在线播放| 亚洲中文字幕网| 婷婷五月天国产性感美女演员久久久久| 色九亚洲| 开心五月综合激情综合五月| 天天五月丁香五月| 日本天堂免费99| 被男人添B超爽视频| 中文av网| 99综合激情久久精品久久| 在线中文av| 91男人资源站| 国产精品日韩十五区| 中文字幕激情综合| 2015在线中文字幕| 丁香五月 性爱| 久久天堂加勒比| 一本色道久久88加勒比| 性爱视频久久| 激情五月天综合图片小说网站| 亚洲欧美另类在线23p| 久久R激情| 99色视频| 丁香五月天网友自拍啪啪啪视频| 婷婷五月天无码视频| 九九色播五月丁香| 婷婷亚洲影院| 婷婷刺激综合| 可似看的AV| 综合逼五月激情婷婷| 97色久| 天堂网操| 大香蕉视频婷婷| 超碰9| 五月成人天| 久久久月丁香| 97丁香五月天| 丁香婷婷精品视频| 九九久久五月天综合伊人| 日韩aⅴ视频| 九九RE视频在线精品| 婷婷大乡焦噜噜| 99精品这里只有免费视频 | 天天色2017| 99热首页| 狼人婷婷综合| 99热在线看片| 丁香五月开心亚洲| 五月狠狠| 精品爆操| 国产无人区大片| 播四月婷婷六月丁香| 白天AV月月| 婷婷激情五月天综合| 欧美VA视频| 丁香五月天影院| 四季8848精品成人免费网站| 免费看成人AA片无码视频吃奶| 99热免费精品| 成人丁香五月| 99久视频| 色爱综合网| 成人 在线 日韩| 99免费在线视频| 午夜激情四射影院| 超碰五月婷婷五月天| 5月丁香美女影院| 久久久天堂国产精品女人| 夜夜撸天天操| 久热欧美| 97色色色| 激情丁香五月婷婷| 精品影院| 色色欧美色色色| 免费视频WWW在线观看网站| 五月婷婷在线免费观看| 婷婷色色五月天| 天天色视频| 超碰av在线| 色婷婷久久综合| 99激情在线| 五夜婷婷| 在线日韩视频| 国产精品久久久爽爽爽麻豆色哟哟| 精品人妻伦九区久久AAA片| 99热这里只有精品免费| 国产精品美女久久久久AV超清 | 色99日韩| 五月激情丁香五月| www.日韩艹| 伍月婷丁香婷| 国产热精品| 欧美成人网婷婷综合在线| 天天色综合色| 丁香五月婷婷手机| 婷婷五月天网| 丁香六月婷婷综合缴| 岛国av网站| 色爱综合网| 狠狠干夜夜干| 婷婷五月天久久久| 婷婷综合久久| 少妇高潮A片无套内谢麻豆传| 综合婷婷| 麻豆WWWCOM内射软件| 99在线免费视频| 九九这里有精品| 99热精品在线观看| 黄急一级视频| 综合激情在线观看| 婷婷久久综合| 婷婷色五月情| 色婷婷五月天偷拍| 久久婷婷五月综合| 91精品国产综合久久久不卡电影| 久草婷婷网| 二区成人视频| 丁香五月婷婷激情网| 婷婷激情五月天天天开心| 十月丁香婷婷| 激情婷婷五月社区| 二色AV| 激情五月天网站| 中文中文在线| 色婷亚洲五月丁香| 99色干| 99色最新在线视频| 日韩AV大全| 婷婷久久色| 亚洲AV人人操| 搡BBBB搡BBB搡18 | 亚洲综合成人网站| 99色色热| 开心激情网在线| 婷婷成人AV| 五月丁香六月婷| 色噜噜狠狠一区二区三区| 日本精品久久久久中文字幕| 99 福利 导航| 色五月开心婷婷| 九九九九九九九热| 人人操AV| 播丁香五月婷婷欧美| 99er热精品视频| 99爱爱| 婷婷开心青青草| 婷婷伊人五月天| 超碰色综合| www.婷婷五月天| 欧美三级韩国三级日本三斤| 另类图片天天影视在线观看| 五月婷婷视频28| caop在线| 九九亚洲天堂| 久9热在线视频| 色色色色色色综合| 丁香五月天堂网| 亚洲日韩久久婷婷伊人| 日本色色图| 六月婷婷色宗合| 丁香婷婷九月| 国产精产国品一二三在观看| 久久综合丁香| 情婷婷五月天| 五月天激情小说| 久爱综合| 精品思思久久| 欧洲亚洲精品| 国产激情综合五月久久| 婷婷成人AV| 在线VA视频| 激情小说视频图片网| 人妻中文在线| 热九九九九| 操笔无码| 日本精品99网站| 日本V在线观看不卡视频网站| 丁香五月婷婷偷拍| 五月天激情中文字幕| 五月丁香六月激情在线| 婷婷伊人网| 色黄啪啪| 99丁香五月婷| 综激情网| 激情婷婷视频在线| 极品 少妇 内射| 欧美三级欧美一级| 色婷婷丁香社综合| anquye五月| 色99在线| AV成人在线网站| 国产激情AV| 狠狠干综合网| 五月激情综合网| 亚洲九九99精品视频在线播放| 色婷婷综合网| 丁香婷婷五月色成人网站| 91av视频| 夜夜夜夜操| 91操人视频| 青青草Avb在线| 午夜不卡成人一区二区| 夜夜操狠狠操| 人妻激情视频| 79精品视频在线观看,| 人妻熟女一区二区AV| a网站免费观看| 99热国产免费| 国产精品国产成人国产三级| 五月婷丁香| 丁香五月综合在线观看| 激情五月综合| 人人人操Av| 久久丝袜婷婷| 日韩色色一区| 在线综合网| 亚洲AV影片在线观看| 国产亚洲色婷婷99精品| 九九九九这里只有精品| 欧美影院婷婷| 色婷婷www| 美国不卡视频| 开心深爱激情网| 亚洲日韩久久婷婷伊人| 亚洲日韩26uuu| 婷婷久久五月| 婷婷五月香蕉| 99ri国产在线| 婷婷五月香蕉| 五月丁香综合激情| 色综合婷婷| 99热日| 五月色激情综合网| 日日噜狠狠色| 一区=区操屄高清大全av| 五月丁六月婷| 97超级啪啪在线观看| 五月色婷婷亚洲 | 色欲色欲久久宗合网| 五月婷婷激情综合| 色九月| 国产精品人妻在线网址| 丁香激情五月| 91人人网| www99热| 99九九综合久久九九| 丁香5月激情网| 婷婷伊人综合中文字幕| 大香蕉久久草| 五月天婷婷在线AN| 狠狠草网| 丁香五月综合激情啪啪| 成人AV在线电影| 五月丁香精品| 婷婷在线播放av| 亚洲高清在线| 久婷五月| 丁香五月激情网| VA色婷婷| 久久98| 视色网在线播放| 99国产精品久久久久久久久久久| 精品久久二6| 五月天色综合| 综合激情综合啪啪| 91制片厂久久久国产电影| 无月播播激情在线观看视频| 9超碰在线| 日本婷婷五月天| 精品爆操| 国产亚洲色婷婷久久99精品91| 色婷另类| 久久99综合| 性色欲情 网站| 五月丁香婷婷在线| 丁香5月激情网| 91碰碰| 久久99热 这里有精品| 无码AV免费精品一区二区三区| 色五月婷婷视频| 91干网站| 激情五月天婷婷丁香| 色www.con| 色婷婷香蕉| 丁香五月天欧美成人| 国产精品一区在线观看你懂的| 婷婷五月激情热播| 五月丁香亭亭电影久久| 久久综合五月天| www.99久久久| 亚洲精品又粗又大又爽A片| 五月婷婷开心激情六月蜜桃| 五月桃花网综合| 久久99热在线观看| 狼人婷婷久久| 99久久国产宗和精品1上映| 激情五月亚洲| 欧美啪啪9| 狠狠色噜噜狠狠狠狠综合| 狠狠色激情在线| 色色9 9| 9色在线| 国产成人亚洲综合A∨婷婷| 亚洲成色综合网站免费观看| 丁香激情五月| 天天日夜夜曹| 丁香五月色网| 婷婷亚洲综合| 五月天网站免费欧美| 久久人人九九| 99久久66综合| 九九这里是免费的视频5| 婷婷五月激情网| 婷婷五月天色色| 狠狠做五月婷婷| 亚洲成人av在线观看| 九九这里是免费的视频5| 婷婷在线观看五月天在线视频| 色婷婷亚洲婷婷| 99re热免费观看视频精品| 99riAV国产精品视频| 97福利视频| 婷婷色丁香六月| 亚洲网视屏| 五月婷婷无码| 青草激情综合| 秋霞午夜理论| 成人短视频在线免费观看| 伊人激情影院| 欧美激情综合五月色丁香| 超碰在线免费9| 婷婷五月影院| 九九热在线观看视频| 婷婷五月天激情四射五月天激情| 色五月婷婷成人| 日本色视| 激情合网婷婷| 伊人超碰| 婷婷日韩| 伊人五月天| 99热这里精品| 亚洲久久视频| 国产操肏网站| 麻豆AV一区二区三区| 99热国产免费| 综合激情网五月激情| 青青艹b| 97干在线视频| 色久影院| 国产另类综合| 午夜免费试看| 五月丁香成人视频| 天天天天天久久久久久| 亚洲色色图片| 韩国婷婷丁香五月| 久久丁香五月婷婷| 人人爽欧美婷婷久久久五月丁香| 99热99热在线| 97五月天| 久热 91| 激情五月天综合网| 九九热黄色| 欧美激情凹凸丁香网| 五月天激情婷婷小说| 久碰视频| 狠狠色性| 婷婷基地成人五月天| 色婷婷内射| 十月丁香婷婷| 丁香五月无码| 久草狼人| 五月天婷婷基地综合网| 六月丁香久久| 黑人巨粗进入警花疼哭A片| 日韩无码专区| 欧美婷婷丁香五月| www.无码com| 五月丁香大相交| 97超碰在线免费观看| 狠狠久久婷五月| 五月天婷婷激情小说电影| 夂夂夂夂夂夂夂夂夂夂夂夂夂夂夂夂夂夂夂亚洲亚洲亚洲亚洲亚洲亚洲亚洲亚洲色 | 大地资源色婷婷视频在线| 影音先锋美国A| 久99久视频精品| 这里只有精品96| 丁香五月婷婷综合激情啪啪啪| 激情五月婷婷她| 91人人操| 婷婷免费成人视频| 丁香五月六月婷婷殴美综合| 欧洲一区二区| 五月丁香在线| 亚洲123区高清入口| 91精品久久久久久久久 | eeuus五月婷| 丁香八月综合激情| 中文av网| 操操碰| 亚洲av| 色婷婷五月成人网| 欧美丁香婷婷天天操| 激情婷婷狠狠干| 色五月色五天免费视频| 色五月婷婷五月天| 久久激情网| 成人丁香婷婷| www.99久久久| 婷婷五月天亚洲综合| 色99色| 亚洲va综合va国产va中文| 91九色 熟| 91婷婷色五月| 五月天开心成人网| 99这里只有精品| 久婷婷| 黄色中文字目| 欧美色偷拍| 久久丁香五月| 99性感视频| 日本九九网| 欧美激情性做爰免费视频| 在线一起草av| 蜜臀A∨在线水帘洞| 婷婷丁香五月亚洲| 俺去也婷婷| 婷婷丁香日韩五月| 五月丁香六月色婷| 久热免费| 色五月婷婷7777| 婷婷伊人综合中文字幕| 99er久久| 国产午夜成人免费看片无遮挡| 久99久视频免费观看| 五月亭亭激情综合| 亚洲色综合| 色情网综合| 久久久er热| 亚洲熟妇无码乱子AV电影| 中字幕视频在线永久在线观看免费| 伊人六月无码视频| 欧美色六月婷婷| 国产日批视频免费播放| 五月丁香六月激情综合在线| 丁香五月婷婷色播艳门照| 五月丁香六月婷婷视频| 五月婷丁香| 激情综合国产| www色婷婷| 色五月婷婷网| 国产一级黄色影片,| 黄色成人AV在线| 免费成人网在线观看| www.AV在线| 91视频精品99| 五月丁香综合激情在线观看| 六月婷色六月| 高清无码入口| 91爱啪啪| 99国产精品久久久久久久久久久 | www.91九色| 欧美日韩99| 99热国产这里只有| 五月婷婷之美女图片| 五月婷婷AV| 五月婷婷婷婷| 99久久精品免费精品国产_国产精品久久久久久_国产在线|日韩_久久国产精品电影 | 就要去操亚洲成人精品五月天丁香婷婷| 激情五月天婷婷久久久久久久久久久| 99思思热只有在这里看| 99热免费| 色五月综合网| 丁香影院五月综合| 91丨九色丨国产在线| 99热偷拍| 久久人妻系列| 五月婷婷深深爱| 色综合天天| 人妻有码乱操| 久久网日本| 九九免费精品在线视频| 婷婷丁香五月,狠狠综合| 免费观看的婷婷五月视频在线| 婷婷涩五月| 国产午夜精品AV一区二区麻豆| 色婷婷久久7777| 五月色色色| 99热这里只有精品96| 夜夜操天天干| 激情综合婷婷| 99ri网站在线观看| 九色自拍| 五月丁香婷中文| 亚洲免费av在线| 91精品久久久久久综合五月天| 99热免费18| 久久伊人婷婷| 另类视频丁香五月| 欧美99热| 婷婷成人av| 色情五月婷婷| 国产精品五月天婷婷| 超碰在线观看99| 综合AV网| 婷婷色五月丁香六月欧美啪| 天天色激情| 五月婷色| 狠狠色婷婷色| 99爱在线| 婷婷丁香五月网| 色色色网站| 操逼巨乳91| 婷婷五日b| 亚洲综合色网站| 五月天婷婷久久| 国产成人精品一区二三区熟女在线 | 久久免费操| 亚洲成人在线在线| 亚洲成人综合在线| 婷婷王月天影院| 久久这里有精品| 色色五月综合| 日日想日日夜日日操| 99啪啪网| 激情婷婷激情在线不卡| 久久五月六月| 大香蕉久久久| 亚洲综合色婷婷文学| 亚洲综合激情五月久久| 五月天亚洲综合网| 日韩青青| 伊人久久激情图区五月| 色五月成人| 又大又粗九一在线| 丁香六月婷婷激情综合| 九九99热| 99干在线视频| 激情五月天无码| 色婷婷狠狠爱| 亚洲色图81p| 思思精品久久艹| 五月激情在线| 久久婷婷五月综合伊人| 色五月综合在线| 九九一区| 久久性爱视频免费| 色五月首页| 99久久.www| 夜夜做夜夜愛| 亚洲第一成人无码A片| 亚洲五月婷婷| 色久影院| 丁香五月激情五月色综合| 狠狠色噜噜色狠狠狠综合色| 亚洲色欲AAAAAA| 在线播放中文字幕| 九九综合九九| 爆乳熟妇一区二区三区爆乳照片| 操婷婷基地| 思思精品久久艹 | 操人无码| 碰碰女| 激情五月天开心| 超碰人人在线观看| 久色中文| 亚洲亚洲人成综合网络| 精品五月丁香| 色婷婷五月综合色婷婷| 一级黄色影片| 天天干天天爽| 精品皮股午夜AV| 永久的网站AAAA| 天天肏天天肏| 免费无码毛片一区二区A片| 99热免费精品| 色婷婷狠狠| 五月天婷婷色播| 91九色国产在线| 久久婷婷原创视频| 无码日本精品XXXXXXXXX| 婷婷97碰碰| 日日爽天天| 激情美女五月天| 婷婷射图五月天| 激情婷婷激情在线不卡| 少妇性BBB搡BBB爽爽爽电影| 五月婷婷黄色| 色五月播五月| 婷婷丁香五月综合网上| 激情综合激情五月| 久久这里只有精彩| AV色婷婷| 激情伊人网| 大香蕉福利导航| 天天综合网站| 99在线小视频| 久久婷色| 婷婷五月丁香综合激情| 五月丁香中文| 另类五月激情| 激情五月婷婷丁香综合网| 久久av电影| 丁香五月婷婷五月天在线| 色丁香五月| 五月丁香久久丝袜啪啪| 久久免费干| 中文字幕婷婷9月天| 久久精品99| 九九这里都是精品| 丁香五月激情五月| 日日做天天操夜夜爽| 久久婷婷热| 一月婷婷色色| 五月天婷婷情色| 婷婷丁香五月天熟女丝袜| 色色97丁香婷婷五月天| 日本韩国视频在线观看社区免费的9| 天天干一干| 日韩成人电影AV| 在线观看免费狠狠色丁香香综合| 91久久九久久九久久九久久九久久| 色激情五月| 久久这里只有精品视频1| 天天干天天操天天上| 五月激情久久综合| 天天综合天天玩夜夜玩天天玩夜夜玩 | 天天舔天天插天天干| 五月丁香婷婷五月色| 3pAV| 婷婷五月天亚洲色| 亚洲另类久久| 丁香五月婷婷色| 久久视频这里99| 激情五月丁香六月综合AVXXXX| 日韩色五月| 五月天四色房丁香亭亭| 欧美激情综合色综合啪啪五月| 26uuu在线观看| 99操无码视频观看| 激情九月婷婷| 久久婷婷五月| 五月天精品视频| 狠狠操狠狠做| 丁香五月激情婷婷激情| 亚洲天堂亚洲色色色| 激情综合网,婷婷五月天| 婷婷五月天激情综合| 亚洲成人在线观看av| 激情五月六月婷婷| 中文字幕AV在线播放| 婷婷五月天在线观看| 久色五月| 99九九在线精品热动漫| 狠狠五月天| 丁香色五月婷婷| 婷婷精品在线| 爱爱网址9| 五月丁香龟婷婷| 婷婷五月天在线综合导航| 色五月婷婷视频| 丁香五月综合在线观看| 久久99精品久久久久久噜噜| 色情综合网| 日屌日日操日日色| 1024人妻| 天天视频精品9| 思思热久久艹| 涩五月丁香| 婷婷综合日本| 狠狠干综合| 草综合14| 包操45分钟网站| av线电影| 精品人妻伦九区久久AAA片| 26UUU欧美| 轮奸综合网| 欧美男女婷婷| 成人午夜无码视频| 丰满熟女人妻一区二区三| 色就是色婷婷五月亚洲激情| 天天肏天天舔AV| 欧美va在线| 欧美va欧美va差| 狠狠色丁香五月婷巨| 婷婷五月综合色小姐小说| 国产日比| 天天日天天爱天天噪| 天天色综和网| 《丁香激情综合久久伊人久久》影视在线观看 -高清预告手机免费播放 -三妹影院 | 精品日本视频444| 九九香蕉网| 亚洲综合色色色| 五月婷六月综合在线观看| 91精品国产综合久久蜜芽解析速度| 婷婷五月天视频| 日本丁香五月| 丁香五月狠狠综合欧美| 日本色天堂| 久久久噜噜噜操操操| 五月综合激情| 精品爆操| 五月丁香婷婷伊人| 无码九九| 91啪啪网| 性按摩玩人妻HD中文字幕| 久热91| 色播五月婷婷五月| 婷婷美女精品视频| 久久五月综合| 狠狠色丁香久久婷婷综合五月| 伊人在线视频| 婷婷天天日婷婷| 丰满人妻一区二区三区| 思思99热这里只有精品6| 五月婷婷xxx| 97超碰在线免费观看| 九九99精品免费播放| 五月丁香六月激情| 九色七七| 欧美婷婷成人| 97色婷婷五月天| 亚洲五月天第一综合干| 亚洲视频二区| 五月丁香| 五月婷婷导航| 激情综合色婷婷啪啪六月天| 五月香蕉综合| www色婷婷| 青青日韩| 大香伊人婷婷影院| 国产在线网| 亭亭色色五月天| 色婷婷丁香五月| 婷婷综合爱| 五月婷婷综合热| 激情文学久久| 欧美天堂久久| 久久国产高清| 色久一| 亚洲AV无码成人电影| 久久精品国产一区二区三区四区| 久久精彩视频| 丁香五月大香蕉| 91ncm视频| 99热只有| 亚洲激情婷婷| 99热这里只有免费精品| 高清无码中文字幕aVDV| 天天天添天天操| 久久er九九| 激情五月天噢美| 激情久久久| 九九九热精品| 999激情视频| 在线观看av网站| 人人妻人人澡人人爽| 99色在线视频观看| 婷婷天天五月天| 久久婷婷五月天丁香| 黄色片久久| 97在线观视频免费观看| 图片区 小说区 区 亚洲五月| 色情综合| 99精品自拍| 亚洲操精品| 五月天婷婷伊人| 五月天伊人综合| 五月婷婷导航| www久久艹| 天天搞天天色综合| 色域五月婷婷丁香| 久久 婷婷 五月天| 99色色网| 六月 丁香 视频| 色播五月婷婷| 丰满人妻一区二区三区| 国产丁香五月天婷婷| 狠狠穞A片一區二區三區| 久热这里精品免费| 狠狠狠狠狠狠狠狠草| 2025天天爽天天摸| www.sezonghe| A久网| 激情五月六月婷婷| 殴美日比视频| 婷婷九月| 六月婷婷视频| 5月婷婷六月丁香| 亚洲一区二区无码蜜乳av| 色婷婷五月天不卡| 婷婷亚洲欧美丁香五月| 久色资源| 成人婷99最新| 99热九九热| 91色久| 国产肥白大熟妇BBBB视频| 国产熟妇乱子伦hd| 九九九九九九热| 99re视频在线| 五月天综合激情网| 91九色网| 啄木鸟黑丝一区二区| 五月丁香色婷| 五月丁香在线看| 永久免费视频| 丁香桃色网| 色婷婷丁香五月| 亚洲操女| www.com色播五月天| 婷婷六月综合| 色五月成人婷婷| 激情婷婷丁香色五月综合| 严洲天天插| 国产毛片精品一区二区色欲黄A片| 99久久婷婷五月综合| 国产成人99久久亚洲综合精品| 国产精品第一国产精品| 久久久精品免费啪啪国| 亚洲 欧洲 国产 伦综合| 影音先锋色婷婷| 玖月婷婷爱丁香| 天天干天天干天天干天天干天天| 婷婷无码五月天| 大香蕉99热| 精品婷婷| 久久密臀婷婷| 曰曰久久| 亚洲性爱干干| 一级性爱视频| 99热日韩| 国产精品VIDEOSSEX久久发布| 91丁香色五月| 97碰碰视频在线观看免费| 五月天天丁香婷婷在线中| 丁香五月精品| 色色色婷| 大地9中文在线观看免费高清 | 无码少妇高潮喷水A片免费| 久久婷婷一级片| 丁香五月网| 色激情综合狠狠婷婷| 激情小说之五月| 99精品无码| 色综合天天| 亚洲av成人一区二区电影在线| 色噜噜狠狠色综合网| 狠狠色丁香99| 久久怕怕视频| 可以看的av| 99热99日天天干| 五月激情婷婷综合| 五月丁香六月婷婷综合网| 丁香六月婷婷久久综合| 色色五月天婷婷| 九九婷婷激情综合网| 亚洲成人av在线| 婷婷六月天精品| 精品99视频| 国产精品人人做人人爽人人添| 色射7856五月天激情四射| 久久综合激情五月天| 天天做天天爱天天玩夜夜爽| 五月天婷婷av| 久草x色在线观看99| √天堂资源在线人妻熟女| 97久久久免费福利网址| 日本美女天天日天天爽| 色综合天天综合成人网| 狠狠干婷婷| A级毛片高清免费不卡播放谢谢谢谢| 五月六月丁香激情视频| 亚州AV超碰人人操| 婷婷六月丁香五月| 俺去婷婷 丁香| 这里只有精品日韩精品| 色婷婷在线视频| 中文字幕日产A片在线看| 激情爱爱网站超大免费| 亚洲久久婷婷丁香五月天| 婷婷五月丁香综合激情| 超碰色热| 丁香五月网站| 国产在线另类五月婷婷| 色五月婷婷丁香五月| 婷婷五月综合色小姐小说| 热的国产99热| 色5月丁香婷婷| 婷婷成人基地| 成人丁香色| 国产另类综合| 日本婷婷| 九九人人精品| 伊人色欲五月天| 人妻中文在线| 日本成人综合| www一区二区三区| 婷婷亚洲色| 碰97久久| 五月婷婷自拍| 亚洲妇女熟BBW| 国产9色在线/日韩| 思思热精品在线| 亚洲熟妇AV乱码在线观看| 中文字幕视频在线播放| 丁香六月婷婷色XXXXX| 97精品人人A片免费看| 啪啪99| 开心五月网 | 米奇影视资源婷婷狠狠色激情欧美五月丁香| 综合久久综合| 亚洲欧洲一二| 亚洲人人操BD| 99热久| 91人人爽狠狠狠| 99热国产免费| 久操香蕉| 成人婷婷色五月天| 亚洲超碰在线| 五月狠狠| 情趣视频66| 成人 在线观看国产| 91人操| 最新va在线播放| 以及AA大片看看| 婷婷六月丁香色| 操久久网| 特级操b片| 可似看的AV| 国产麻豆视频| 亚洲一色色色色色色色色| 中文字幕日韩无码制服诱或| 婷婷五月天基地| 久久婷婷色情7777网站| 婷婷六月天激情| 偷拍九九热| 精品人妻久久久| 婷婷午夜| 99re这里只有精品99| 色哟哟精品| 久久婷婷亚洲无码一起| 蜜桃五月天| 婷婷狠狠干| 五月天四色房丁香| 99亚洲精品| 丁香婷婷综合激情五月色,开心五月丁香花综合网,激情综合五月亚洲婷婷,五月天 | 久久激情五月天| 五月婷婷综合在线观看| 北条麻妃伊人| 久久99热精品a片在线观看| 大地资源色婷婷视频在线| 新久久五月天激情| 丁香五月天啪啪| 狠狠色丁香| 停婷丁五月在线| www.玖玖婷婷在线| 色综合久久88色综合天天| 色欲五月丁香| 五月网网站| 乱岳熟女50岁| 久久久人妻人伦| 欧美色婷婷| 妇激情基地| 久久精品99| 九九精品在线视频观看| 色婷婷狠狠| 99热伊人| 丁香五月天激情综合| 伊人五月天综合网| 五月天色丁香| 亚洲午夜精品久久久久久人妖| 亚洲操b| 激情五月天黄色小说| 99这里只有| 4399在线日本A片| 久久五月天网| 色婷婷a| 97人妻碰碰中文无码久热丝袜| 亚洲中文字幕AV| 99综合视频| 婷婷成人综合| 97色色色| 日韩无码人妻一区二区三区综合| 搡BBBB搡BBB搡18| 亚洲人人操BD| 久草婷| 热久精品| 五月天三级久久| 久久五月激情| 中文字幕成人| 天天噜| 伊人婷婷大香蕉| 色啪网| site:minyis.com| 亚洲国产精品二二三三区| 天天综合网亚洲综合网| 久9热插入| 婷五月天| 97碰碰视频在线观看| 婷婷五月天激情亚洲小说| 婷婷五月天久草在线| 97丁香五月| 婷婷六月综合| 午夜大香蕉| av中文在线| 狠狠CAO日日穞夜夜穞AV| 丁香六月天婷婷开心综合| 婷婷黄色五月| 色玖玖综合网| 开心久久xxx色| 野战J办公桌椅H| 婷婷五月中文在线视频| 久久婷婷五月综合啪| 色五月综合网| 九九综合精品| 婷婷99视频全集高清| 色五月激情| 丁香色六月婷婷| 九九伊人网| 五月婷婷激情综合拍| 狠狠久久婷婷| 成人电影一区| 噜色精品| 665566 无码| 久久免费精彩视频| 99re66热这里只有精品| 久久99最新地址| 婷婷五月天开心网| 丁香九月激情| 大地资源色婷婷视频在线 | 色八月婷婷| 欧美十二区| 五月婷婷综合网| 激情网五夜婷婷| 国产97在线日韩亚洲女人被黑人巨大| 婷婷丁香五月高清| 伊人久久大香线蕉av最新| 99操逼| 丁香五月宝贝激情网| 国产伊人大香蕉| 丁香色婷婷| 久香草视频在线观看| 懂色av蜜臀av粉嫩av永陈冠希| 五月婷六月| 永久AⅤ1| YJLZZJLZZ亚洲乱熟无码| 伊人婷婷五月天| 五月婷婷九| 日韩AV在线免费观看| 午夜少妇在线观看视频| 久久偷拍综合五月天| 色综合com| 狠狠色 综合色区| 99久在线观看| 99热精在线九九久久保| www.刺激色网站www.| 婷婷五月色天| 五月天天爱| 六月丁香婷婷五月天| 欧美69久成人做爰视频| 久9免费视频| 五月色 亚洲| 婷婷九月狠狠色| 精品人妻伦九区久久AAA片| 亚洲热热视频| 天天 青草 制服丝袜 在线| 激情综合婷婷久久| 五月丁香六月婷综合成人综合| 色五月天本日| 婷婷激情中文综合| 92久操视频| 激情六月天| 99视频在线| 五月综合婷婷开心网| 七月激情六月婷婷综合在线播放| 色五月xxx| 亭亭五月天成人| AV在线资源| 永久天堂日本| 夜夜夜夜夜操| 久久99热免费| 日亚二欧美| 99热婷婷| av在线中文| 偷拍视频五月天| www.久久| 欧美日韩精品一区二区三区钱| 天天日天天操心| 色色色色色网| 九九热手机在线视频| 久久色婷婷| 丁香婷婷激情四射五月| 天天拍天天操| 激情综合色婷婷啪啪六月天| 天天综合图片| 欧美色图45678| 成人免费网站免费看| AA片在线观看视频在线播放| 综合久久9| 五月花激情| 情欲综合网| 九色PORNY自拍成人精彩视频| 丁香花大香蕉婷婷综合| 人妻av在线| 国产avapp 网| 亚洲bt丁香五月天婷婷激情小说| 六月丁香花婷婷| Www99热| www.金莲av| 涩五月婷婷| 成人在线不卡| 亚洲激情五月| 婷婷五月天激情亚洲小说| 播五月婷婷开心| 五月丁香久久呀| 9色免费网| 欧美色一级色| 久久五月视频| 另类激情五月| 五月婷婷 激情五月| 午夜青草资源| 丁香五月婷婷五月天在线| 99热这里有精品首页10| 中文字幕91,综合| 专区无日本视频高清8| 成人丁香五月| www夜夜操| 99热这里只有的精品视| 色爱综合视频| 丁香五月天欧洲在线| 日韩精品99久久| 亚洲天堂AV综合网| 色婷婷成人做爰A片免费看网站 | 99热九九在线| 热99精品视频观看| 91超级碰碰碰| 97视频久久| 九月婷婷综合网| 五月丁香六月停停停| 国产精品久久久爽爽爽麻豆色哟哟| 久久99热这里只频精品6学生| 九热精品| 六月丁香网| 99er精品视频| 少妇人妻综合色6699| 丁香无五月网| 一起草无码视频| 婷香五月| 久久精品99国产精品日本| av久热| 综合性爱网| 99色视频| 五月六月丁香激情| 五月丁香六月婷婷综合网缴情| 全国最新疫情| 天堂婷婷五月在线| 天天日天天做天天舔| 伊人婷婷91| 一级黄色操B| 秋霞av不能| 美女爆乳18禁www久久久久久| 精品日本视频444| 国产AV影片| 五月天久久婷| 五月综合久久| 五月综合激情| 婷婷色播婷婷| 五月天色五月| 综合久久婷婷| 国产激情视频在线观看| 狠狠色狠狠操| 五月婷婷激情五月| 五月天激情国产综合婷婷婷| 亚洲日日日| 婷婷天天色| 国产婷婷五月天| 久婷婷| 久久538| 九月激情网| 婷婷涩涩五月天| 色色五月天丁香婷婷| 六月色播| 在线中文字幕av| 91超碰人人操| 亚洲人人操| 丁香五月性| 日本人妻伦在线中文字幕| 99视频| 中文字幕婷婷9月天| 色婷婷狠狠久久综合五月 | 五月婷婷综合色啪首页| 五月婷婷之六月丁香| 在热视频精品| 午夜做爱影院| 第四色大香蕉| AV网站免费在线| 天天操婷婷| 99这里有精品视频| 狠狠狠狠狠| 欧美色激情四射| 欲色人妻| 色噜噜五月天| 操碰99| 亚洲中文无码成人| 99热九九在线| 天天色综合图片| 婷婷玖玖五月天| 九九99免费视频| 99色综合| 淫视馆av三区| 狠狠草网| 婷婷丁香97| 久久色五月|