欧美成人午夜精品久久久,国产?V天堂一区二区三区,欧美精品va在线观看,亚洲一区二区三区免费在线观看,av无码精品一区二区久久,欧美性爱视频不卡一区三区,欧美乱人伦视频在线观看,国产一级牲交高潮

ARTICLE DETAIL

資訊詳情

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

微信小程序考試系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn):云開發(fā)、倒計(jì)時(shí)與交卷防坑指南

微信小程序考試系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn):云開發(fā)、倒計(jì)時(shí)與交卷防坑指南 簡介這是一份基于微信小程序與SSM框架的在線考試系統(tǒng)完整源碼包主要面向高校學(xué)生、課程設(shè)計(jì)及畢業(yè)設(shè)計(jì)開發(fā)者。系統(tǒng)已實(shí)現(xiàn)管理員端與用戶端管理員可維護(hù)用戶、考試資料、試題試卷、留言板及系統(tǒng)公告用戶可注冊(cè)登錄、瀏覽資料、在線參加考試并查看成績覆蓋常見考試業(yè)務(wù)閉環(huán)。后端使用Java SSMSpringSpringMVCMyBatis搭配MySQL數(shù)據(jù)庫小程序端采用微信原生框架開發(fā)前后端職責(zé)劃分清晰。壓縮包共1107個(gè)文件包含Java、Vue、JS等程序源碼WXML/WXSS小程序頁面PNG/SVG界面資源以及SQL建表腳本與項(xiàng)目配置文件合計(jì)16.19MB結(jié)構(gòu)完整便于本地導(dǎo)入運(yùn)行。已有343人學(xué)習(xí)下載資源內(nèi)附完整工程與配置說明可輔助在本地配置運(yùn)行適合參考其權(quán)限控制、組卷邏輯與考試狀態(tài)流轉(zhuǎn)等內(nèi)容能有效縮短畢業(yè)設(shè)計(jì)或課程項(xiàng)目的開發(fā)周期。1. 考試系統(tǒng)難的不是答題頁而是交卷那三秒這是一套什么方案拿到「基于微信小程序的考試系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)」這個(gè)題目時(shí)很多人的第一反應(yīng)是「做個(gè)答題頁面還不簡單」。但真正跑過一遍完整流程后你會(huì)發(fā)現(xiàn)這個(gè)系統(tǒng)最容易被演示環(huán)節(jié)擊穿的恰好是交卷那一刻網(wǎng)絡(luò)閃斷導(dǎo)致成績丟、倒計(jì)時(shí)被切后臺(tái)坑掉、題目亂序后答案對(duì)不上、重復(fù)提交產(chǎn)生兩條成績。這套基于微信小程序的考試系統(tǒng)設(shè)計(jì)方案解決的正是「題目展示、計(jì)時(shí)作答、交卷判分、成績留存」這條完整鏈路并且把微信生態(tài)的登錄能力直接復(fù)用省去了傳統(tǒng)網(wǎng)頁考試系統(tǒng)最麻煩的賬號(hào)注冊(cè)與找回密碼環(huán)節(jié)。它適合三類人拿它當(dāng)畢業(yè)設(shè)計(jì)選題、需要在答辯現(xiàn)場完整演示業(yè)務(wù)閉環(huán)的學(xué)生想為內(nèi)部培訓(xùn)、社團(tuán)招新、課程測驗(yàn)快速搭一套輕量考試工具的中小團(tuán)隊(duì)以及準(zhǔn)備做考試類產(chǎn)品原型驗(yàn)證的開發(fā)者。2. 選型與數(shù)據(jù)設(shè)計(jì)考試小程序?yàn)槭裁从迷坪瘮?shù)加文檔庫就夠2.1 三種落地方案的對(duì)比云開發(fā)、自建接口、第三方 BaaS考試系統(tǒng)的技術(shù)選型本質(zhì)上是「服務(wù)器誰養(yǎng)、鑒權(quán)怎么做、數(shù)據(jù)放哪里」三個(gè)問題的權(quán)衡。目前最常見的做法有三種小程序云開發(fā)、自建后端接口、接入第三方 BaaS 平臺(tái)。很多人一上來就選自建接口覺得這樣顯得技術(shù)含量高但如果你是做畢設(shè)或者小范圍內(nèi)部考試云開發(fā)反而是性價(jià)比最高的選擇。方案部署成本開發(fā)量鑒權(quán)實(shí)現(xiàn)適合場景小程序云開發(fā)低無需買服務(wù)器和域名中前端 云函數(shù) 云數(shù)據(jù)庫云函數(shù)上下文直接拿 openid畢設(shè)、小規(guī)模內(nèi)部考試、快速原型自建后端接口高需要服務(wù)器、域名備案、HTTPS高需要寫完整的用戶體系和接口層wx.login 拿 code 換 openid再自簽 token對(duì)數(shù)據(jù)安全、性能有強(qiáng)要求的生產(chǎn)系統(tǒng)第三方 BaaS低接入即用低但業(yè)務(wù)邏輯受平臺(tái)限制使用平臺(tái)賬號(hào)體系原型驗(yàn)證、非核心業(yè)務(wù)我一般會(huì)建議多數(shù)讀者優(yōu)先選云開發(fā)。原因很直接考試系統(tǒng)的核心業(yè)務(wù)是「題庫、試卷、答卷、成績」這四類數(shù)據(jù)的關(guān)系維護(hù)而不是服務(wù)器運(yùn)維。云開發(fā)天然解決了 openid 獲取、鑒權(quán)、數(shù)據(jù)庫讀寫這三個(gè)最耗時(shí)的問題而且微信開發(fā)者工具里可以一鍵部署云函數(shù)調(diào)試起來非常順。自建接口適合的場景是你需要對(duì)成績做防篡改審計(jì)、需要對(duì)接學(xué)?,F(xiàn)有統(tǒng)一身份認(rèn)證、或者預(yù)估同時(shí)在線考試人數(shù)超過千人。如果只是演示閉環(huán)和應(yīng)對(duì)幾十人同時(shí)考云開發(fā)完全夠用。2.2 數(shù)據(jù)表怎么定題目、試卷、答題記錄、成績的四種關(guān)系考試系統(tǒng)的數(shù)據(jù)設(shè)計(jì)是整個(gè)項(xiàng)目的骨架。很多人在寫代碼前不畫數(shù)據(jù)關(guān)系結(jié)果做到答題記錄時(shí)發(fā)現(xiàn)「試卷里的題目」和「題庫里的題目」混在一起改題庫會(huì)把歷史試卷也改掉。這里給出的是一套以文檔型數(shù)據(jù)庫為例的集合劃分換成 MySQL 等關(guān)系型數(shù)據(jù)庫同樣可以按這個(gè)思路建表。集合/表核心字段作用usersopenid、nickname、avatarUrl、createdAt用戶基礎(chǔ)信息openid 是微信生態(tài)唯一標(biāo)識(shí)questionssubjectId、type、content、options、answerIndex、analysis題庫題目與答案分離paperssubjectId、title、questions 快照、durationSeconds、createdAt試卷存的是組卷時(shí)刻的題目快照answersopenid、paperId、questionId、type、value、spendSeconds、submitAt逐題答題記錄用于錯(cuò)題回看和行為分析scoresopenid、paperId、score、totalScore、submitAt成績單一次考試一條記錄這里最關(guān)鍵的設(shè)計(jì)決策是「試卷題目用快照不用關(guān)聯(lián)查詢」。組卷時(shí)把選中題目完整拷貝進(jìn) papers 集合的 questions 字段而不是存題目 ID 數(shù)組、每次考試時(shí)再去題庫里聯(lián)表查。這樣做的直接好處是如果考試進(jìn)行到一半管理員修改了題庫里的某道題已開始考試的學(xué)生拿到的題目不會(huì)變成績也不會(huì)被題庫改動(dòng)污染。代價(jià)是同一道題在數(shù)據(jù)庫里可能有多份拷貝但對(duì)于考試系統(tǒng)這個(gè)體量這點(diǎn)存儲(chǔ)成本完全可接受。2.3 考試狀態(tài)機(jī)從「未開始」到「已交卷」的六個(gè)狀態(tài)考試流程不能只靠前端頁面控制服務(wù)端必須維護(hù)一份狀態(tài)機(jī)否則學(xué)生可以繞過頁面直接調(diào)接口交卷或者重復(fù)交卷刷成績。我在設(shè)計(jì)時(shí)會(huì)把試卷狀態(tài)拆成以下六種前端的按鈕展示和后端的接口校驗(yàn)都圍繞這套狀態(tài)來做。狀態(tài)值含義前端表現(xiàn)draft草稿組卷未完成不可見published已發(fā)布等待開考顯示「開始考試」按鈕ongoing進(jìn)行中有考生正在作答顯示倒計(jì)時(shí)與答題卡submitted已交卷等待批閱等待成績graded已出分顯示成績與錯(cuò)題回顧closed已關(guān)閉只讀狀態(tài)可查看歷史成績狀態(tài)機(jī)的核心價(jià)值在于「交卷接口的冪等性」。當(dāng)同一個(gè)學(xué)生重復(fù)提交試卷時(shí)后端只需要判斷 paperId 對(duì)應(yīng)的狀態(tài)是否已經(jīng)是 submitted 或 graded是就直接返回第一次的成績而不是重新判分、重新寫一條成績記錄。這個(gè)設(shè)計(jì)在弱網(wǎng)環(huán)境下非常重要因?yàn)榭蛻舳丝赡馨l(fā)起了請(qǐng)求、服務(wù)端已經(jīng)處理成功但響應(yīng)包沒回到客戶端學(xué)生以為沒交上又點(diǎn)了一次交卷。沒有狀態(tài)機(jī)做兜底就會(huì)出現(xiàn)「一次考試兩條成績」的翻車現(xiàn)場。3. 小程序端核心實(shí)現(xiàn)倒計(jì)時(shí)、答題卡、交卷的最小可跑代碼3.1 答題頁的數(shù)據(jù)結(jié)構(gòu)與題型歸一化考試系統(tǒng)最常見的題型是單選、多選、判斷、填空。如果為每一種題型單獨(dú)寫一套頁面邏輯代碼會(huì)非常臃腫。我一般會(huì)做一層「題型歸一化」把四種題型統(tǒng)一成一個(gè)答題數(shù)據(jù)結(jié)構(gòu)頁面只負(fù)責(zé)渲染提交時(shí)一律按這個(gè)結(jié)構(gòu)走。// questionTypes.js 題型常量與答題結(jié)構(gòu)歸一化 const QUESTION_TYPES { RADIO: radio, // 單選value 存選中項(xiàng)下標(biāo)如 2 CHECKBOX: checkbox, // 多選value 存選中項(xiàng)下標(biāo)數(shù)組如 [0, 2] JUDGE: judge, // 判斷value 存 0 或 1 FILL: fill // 填空value 存用戶輸入的字符串 } // 每道題的答題結(jié)果統(tǒng)一為以下對(duì)象 // 記錄 spendSeconds 可以用于后續(xù)的答題行為分析也可以在成績頁展示用時(shí) const answerItem { questionId: q_1024, type: QUESTION_TYPES.RADIO, value: 2, spendSeconds: 12 }這里要注意一個(gè)高頻翻車點(diǎn)多選題的 value 必須是數(shù)組且數(shù)組里存的是選項(xiàng)下標(biāo)而不是選項(xiàng)文本。因?yàn)榍岸苏故緯r(shí)可能會(huì)做題目亂序一旦亂序選項(xiàng)下標(biāo)對(duì)應(yīng)的文本就變了如果你存的是文本后續(xù)判分和題目快照對(duì)照時(shí)非常容易錯(cuò)位。判分時(shí)用「題目快照里的 answerIndex 數(shù)組」和「用戶提交的 value 數(shù)組」做集合比較兩個(gè)數(shù)組排序后相等才算對(duì)。填空則要注意去除首尾空格再比對(duì)避免學(xué)生多打一個(gè)空格被判錯(cuò)。3.2 倒計(jì)時(shí)與切后臺(tái)為什么 setInterval 會(huì)「自己停下」倒計(jì)時(shí)是考試小程序里遇到坑最多的模塊。很多初學(xué)者的第一版是用 setInterval 每秒遞減一個(gè)剩余秒數(shù)變量真機(jī)一測就翻車把小程序切到后臺(tái)回個(gè)微信消息再切回來倒計(jì)時(shí)還在走但已經(jīng)比真實(shí)時(shí)間慢了十幾秒。原因是小程序在后臺(tái)運(yùn)行時(shí)JS 定時(shí)器會(huì)被系統(tǒng)掛起等回到前臺(tái)才繼續(xù)執(zhí)行。解法很簡單不要累減變量而是用「絕對(duì)截止時(shí)間戳」做差值。// countdown.js 基于時(shí)間戳的倒計(jì)時(shí)封裝 const DEFAULT_DURATION 1800 // 考試時(shí)長單位秒30分鐘 const GRACE_SECONDS 5 // 寬限秒數(shù)防止用戶在最后一刻誤觸交卷 function startCountdown(deadlineTs, onTick, onTimeout) { const timer setInterval(() { const remainMs deadlineTs - Date.now() const remainSec Math.ceil(remainMs / 1000) if (remainSec 0) { clearInterval(timer) onTick(0) onTimeout() return } onTick(remainSec) }, 500) // 每500ms刷新一次避免每秒一次的視覺卡頓 }這個(gè)封裝的要點(diǎn)是deadlineTs 不是「剩余多少秒」而是「開考時(shí)間 考試時(shí)長」得到的絕對(duì)時(shí)間戳。開考時(shí)間由服務(wù)端下發(fā)的serverTime計(jì)算不能用本地時(shí)間因?yàn)榭忌謾C(jī)的系統(tǒng)時(shí)間可能不準(zhǔn)。切后臺(tái)再回來時(shí)只需要在頁面的 onShow 生命周期里重新執(zhí)行一次Date.now()與 deadlineTs 的差值計(jì)算倒計(jì)時(shí)自然就校準(zhǔn)了。GRACE_SECONDS 的作用是倒計(jì)時(shí)歸零時(shí)先不強(qiáng)殺進(jìn)入一個(gè) 5 秒的寬限期這 5 秒內(nèi)學(xué)生如果正在點(diǎn)交卷按鈕仍然視為有效提交超過寬限期則強(qiáng)制提交當(dāng)前已答內(nèi)容。3.3 交卷的本地緩存與服務(wù)端判分邊界交卷是整個(gè)系統(tǒng)里最不能出錯(cuò)的環(huán)節(jié)因?yàn)榫W(wǎng)絡(luò)不可靠是常態(tài)但學(xué)生的答題結(jié)果必須可靠。我推薦的做法是「先寫本地緩存再請(qǐng)求服務(wù)端請(qǐng)求成功才清緩存失敗則保留待重試」。這樣即使學(xué)生在考試結(jié)束那一刻斷網(wǎng)成績也不會(huì)靜默丟失。// submitExam.js 交卷核心流程 async function submitExam(paperId, answers) { // 第1步先把答卷寫入本地緩存作為斷網(wǎng)兜底 wx.setStorageSync(pending_${paperId}, { answers, submitAt: Date.now() }) // 第2步調(diào)用云函數(shù)或自建后端接口 try { const res await wx.cloud.callFunction({ name: submitExam, data: { paperId, answers } }) const result res.result if (result.code 0) { // 服務(wù)端確認(rèn)接收后才清理本地緩存 wx.removeStorageSync(pending_${paperId}) wx.redirectTo({ url: /pages/result/result?paperId${paperId}score${result.score} }) } else { wx.showToast({ title: result.msg || 提交失敗, icon: none }) } } catch (err) { // 網(wǎng)絡(luò)異常時(shí)保留緩存回到頁面提示用戶重試 wx.showToast({ title: 提交失敗已暫存本地待重試, icon: none }) } }交卷后判分放在哪一端取決于你更看重「響應(yīng)速度」還是「結(jié)果可信」。純前端判分的好處是秒出成績演示效果好但如果學(xué)生用抓包工具改了答題數(shù)據(jù)前端判分的結(jié)果就不具備公信力。我在實(shí)際項(xiàng)目中采用的折中方案是前端先本地判分用于秒開成績頁同時(shí)把答案原樣提交給服務(wù)端服務(wù)端異步重新判分并覆蓋成績前端頁面展示的成績以服務(wù)端最終結(jié)果為準(zhǔn)。這樣兼顧了體驗(yàn)和可信度。云函數(shù)的超時(shí)時(shí)間默認(rèn)只有 3 秒如果試卷題量大判分邏輯放在云函數(shù)里很容易超時(shí)這也是為什么把判分拆到客戶端會(huì)更穩(wěn)的原因之一。4. 后端鑒權(quán)與題庫接入從登錄到組卷的完整鏈路4.1 登錄鑒權(quán)wx.login 換 openid 后為什么要再簽一層 token微信小程序的登錄體系已經(jīng)相當(dāng)成熟但很多初學(xué)者容易犯一個(gè)錯(cuò)誤把前端拿到的 openid 當(dāng)成唯一憑證到處用。openid 是用戶的弱隱私標(biāo)識(shí)它出現(xiàn)在前端代碼和請(qǐng)求參數(shù)里一旦被別人截獲就可以偽造身份提交答卷。正確做法是用 openid 換一個(gè)后端簽發(fā)的臨時(shí) token后續(xù)所有接口都校驗(yàn) token。// 云函數(shù) login/index.js登錄并簽發(fā) token const cloud require(wx-server-sdk) cloud.init({ env: cloud.DYNAMIC_CURRENT_ENV }) const db cloud.database() exports.main async (event) { // 云函數(shù)上下文里直接拿 openid不需要前端傳 const { OPENID } cloud.getWXContext() const users db.collection(users) // 用戶不存在時(shí)自動(dòng)注冊(cè) const existed await users.where({ openid: OPENID }).get() if (existed.data.length 0) { await users.add({ data: { openid: OPENID, nickname: 考生, createdAt: Date.now() } }) } // 簽發(fā)臨時(shí) token2小時(shí)過期 const token t_ Date.now() _ Math.random().toString(36).slice(2, 10) await db.collection(sessions).add({ data: { token, openid: OPENID, expiresAt: Date.now() 7200 * 1000 } }) return { code: 0, token, expiresIn: 7200 } }這個(gè)云函數(shù)的邏輯說明小程序端先通過wx.login()拿到 code但云開發(fā)場景下前端不需要傳 code云函數(shù)調(diào)用時(shí)微信會(huì)自動(dòng)注入 openid。sessions 集合用來存有效 token前端每次請(qǐng)求把 token 放在 header 或 data 里后端校驗(yàn)時(shí)去 sessions 集合查這個(gè) token 是否存在且未過期。expiresIn 的單位是秒7200 表示兩小時(shí)實(shí)際項(xiàng)目中可以根據(jù)考試時(shí)長調(diào)整一般設(shè)為考試時(shí)長的 1.5 倍即可。如果自建后端流程是前端用 code 調(diào)微信接口換 openid后端再簽發(fā) token邏輯等價(jià)。4.2 題庫導(dǎo)入Excel 轉(zhuǎn) JSON 時(shí)最容易破壞的三個(gè)字段題庫數(shù)據(jù)是整個(gè)系統(tǒng)的心臟。很多人在搭建題庫時(shí)選擇了人工一條條往數(shù)據(jù)庫里錄入效率極低且容易錯(cuò)。常見做法是用 Excel 維護(hù)題庫再通過腳本批量轉(zhuǎn)成 JSON 導(dǎo)入。這個(gè)轉(zhuǎn)換過程有三個(gè)字段非常容易出錯(cuò)。{ subject: 計(jì)算機(jī)網(wǎng)絡(luò), questions: [ { id: q_1001, type: radio, content: OSI 參考模型共有幾層, options: [4, 5, 6, 7], answerIndex: 3, analysis: OSI 分為物理、數(shù)據(jù)鏈路、網(wǎng)絡(luò)、傳輸、會(huì)話、表示、應(yīng)用七層。 }, { id: q_1002, type: checkbox, content: 以下屬于傳輸層協(xié)議的是, options: [TCP, UDP, IP, HTTP], answerIndex: [0, 1] } ] }第一個(gè)易錯(cuò)字段是 options 的排列順序。Excel 導(dǎo)入時(shí)如果選項(xiàng)列被排序工具重排過前端展示的順序和后端 answerIndex 的對(duì)應(yīng)關(guān)系就會(huì)被打破。第二個(gè)易錯(cuò)字段是答案索引單選用數(shù)字下標(biāo)多選必須用數(shù)組判斷題的 answerIndex 建議統(tǒng)一用 1 表示正確、0 表示錯(cuò)誤不要混用 true/false 和「對(duì)/錯(cuò)」文本。第三個(gè)易錯(cuò)點(diǎn)是題干中的特殊字符比如答案里的英文雙引號(hào)、換行符如果不做轉(zhuǎn)義JSON.parse 會(huì)直接報(bào)錯(cuò)導(dǎo)入腳本必須對(duì)這類字符做預(yù)處理。4.3 組卷策略固定抽題、隨機(jī)抽題、試卷快照組卷是考試系統(tǒng)區(qū)別于普通答題工具的關(guān)鍵功能。一套題庫要能生成多套試卷每套試卷又能被多次考試使用這需要把「組卷」和「考試」做成兩個(gè)獨(dú)立環(huán)節(jié)。// buildPaper.js 組卷函數(shù)固定概率抽題并生成試卷快照 function buildPaper(subjectId, countPerType, shuffle) { // countPerType 示例{ radio: 10, checkbox: 5, judge: 5, fill: 3 } const snapshotQuestions pickQuestions(subjectId, countPerType, shuffle) // 把題目快照整體寫入 paper 記錄 // 后續(xù)修改題庫不影響已生成的試卷 const paper { subjectId, title: subjectId 標(biāo)準(zhǔn)模擬卷, questions: snapshotQuestions, durationSeconds: 1800, createdAt: Date.now() } return db.collection(papers).add({ data: paper }) } // pickQuestions 內(nèi)部邏輯按題型分組后從題庫里隨機(jī)取指定數(shù)量 // shuffle 為 true 時(shí)同時(shí)對(duì)題目順序和每道題的選項(xiàng)順序做亂序 function pickQuestions(subjectId, countPerType, shuffle) { // 從題庫按 subjectId type 過濾每組隨機(jī)取 count 道 // 若題庫題量不足需要提前做完整性校驗(yàn)避免組出一張不夠題的試卷 }組卷的核心邏輯理解countPerType是各題型的題目數(shù)量比如單選題 10 道、多選題 5 道、判斷題 5 道、填空題 3 道。shuffle開關(guān)控制是否亂序亂序時(shí)必須把題目的 answerIndex 一起重新映射這就是前面章節(jié)反復(fù)強(qiáng)調(diào)的坑——洗牌只洗了 options 數(shù)組沒有同步更新答案下標(biāo)判斷題和多選題就會(huì)大面積誤判。試卷快照的意義前面已經(jīng)說過是為了保證成績可復(fù)現(xiàn)。另外還有一個(gè)實(shí)用習(xí)慣組卷時(shí)生成一張考試說明頁把題型分布、每題分值、考試時(shí)長一起展示給學(xué)生這套數(shù)據(jù)也一起寫進(jìn) paper 記錄避免前端寫死。5. 避坑手冊(cè)考試小程序最容易翻車的六個(gè)現(xiàn)場5.1 倒計(jì)時(shí)切后臺(tái)回來后還在走但交卷時(shí)間已超現(xiàn)象考生把小程序切到后臺(tái)回微信消息再切回來頁面倒計(jì)時(shí)顯示還剩 10 分鐘但服務(wù)端校驗(yàn)時(shí)發(fā)現(xiàn)考試已經(jīng)超時(shí)拒絕接收答卷。 原因setInterval 在小程序后臺(tái)被系統(tǒng)掛起回到前臺(tái)才恢復(fù)而且代碼里用的是遞減變量而不是絕對(duì)時(shí)間戳差值。 解決倒計(jì)時(shí)一律基于deadlineTs - Date.now()計(jì)算deadlineTs 存在全局變量或 storage 中頁面的 onShow 生命周期里重新計(jì)算一次剩余時(shí)間并刷新 UI。服務(wù)端同步校驗(yàn)收卷時(shí)間以服務(wù)端時(shí)間為準(zhǔn)絕不信任客戶端上報(bào)的本地時(shí)間。5.2 真機(jī)預(yù)覽請(qǐng)求失敗開發(fā)者工具卻一切正常現(xiàn)象在微信開發(fā)者工具里點(diǎn)擊交卷、加載題庫都正常一換成真機(jī)預(yù)覽接口請(qǐng)求全部報(bào)request:fail url not in domain list。 原因開發(fā)者工具默認(rèn)關(guān)閉了合法域名校驗(yàn)而真機(jī)上微信強(qiáng)制校驗(yàn) request 請(qǐng)求的域名必須在小程序后臺(tái)配置過云開發(fā)調(diào)用走 wx.cloud 系列接口不受此限制自建接口則必須配置合法域名。 解決云開發(fā)場景直接用wx.cloud.callFunction不要手動(dòng)拼 URL。自建接口場景在小程序管理后臺(tái)配置 request 合法域名域名必須備案并支持 HTTPS。開發(fā)者工具里關(guān)閉校驗(yàn)只能用于本地調(diào)試不能作為真機(jī)方案。5.3 主包超過 2MB代碼上傳一直失敗現(xiàn)象代碼寫完后上傳提示主包體積超過 2MB無法提交審核。 原因最常見的體積殺手是題庫數(shù)據(jù)被直接寫在代碼里一個(gè)包含幾百道題帶圖片的 JSON 文件就能占掉大幾百 KB如果還塞了教材配套音頻、圖片素材超限是必然的。 解決題庫數(shù)據(jù)移入云數(shù)據(jù)庫或后端小程序端按需拉取題目不要整個(gè)文件打進(jìn)包里。大體積的靜態(tài)資源用小程序的運(yùn)行時(shí)分包加載或者放到云存儲(chǔ)后按需下載。注意主包體積限制是 2MB整個(gè)小程序總包上限是 20MB分包不是萬能藥資源能走后端就走后端。5.4 交卷時(shí)網(wǎng)絡(luò)閃斷成績靜默丟失現(xiàn)象學(xué)生在考試結(jié)束前最后 10 秒點(diǎn)了交卷頁面一直轉(zhuǎn)圈最后提示網(wǎng)絡(luò)錯(cuò)誤學(xué)生刷新后重新進(jìn)入發(fā)現(xiàn)沒有成績于是又做了一遍數(shù)據(jù)庫里出現(xiàn)兩條答卷記錄。 原因前端直接請(qǐng)求后端斷網(wǎng)時(shí)請(qǐng)求失敗且沒有重試機(jī)制后端接口沒有做冪等同一學(xué)生同一試卷提交多次會(huì)生成多條成績。 解決前端在發(fā)起請(qǐng)求前先把答卷寫入本地緩存請(qǐng)求成功后才清理緩存失敗時(shí)保留緩存并提示用戶重試后端對(duì)openid paperId做唯一約束或重復(fù)提交檢測已經(jīng)交過卷的請(qǐng)求直接返回第一次成績。兩個(gè)措施缺一不可只做前端的緩存換一臺(tái)設(shè)備成績依然會(huì)丟。5.5 題目亂序后答案對(duì)不上多選題翻車最嚴(yán)重現(xiàn)象開啟題目亂序和選項(xiàng)亂序后學(xué)生反饋「我明明選了對(duì)的卻給我判錯(cuò)」其中多選題錯(cuò)得最多。 原因亂序函數(shù)只打亂了 options 數(shù)組的順序沒有同步更新題目的 answerIndex。單選題碰巧首選項(xiàng)相同的還能對(duì)上多選題本身答案就是多個(gè)下標(biāo)錯(cuò)位后幾乎不可能蒙對(duì)。 解決洗牌時(shí)用一個(gè)映射數(shù)組把舊下標(biāo)和新下標(biāo)的關(guān)系保留下來答題和判分時(shí)統(tǒng)一使用「新下標(biāo)」體系。前端 value 永遠(yuǎn)存選項(xiàng)下標(biāo)不存選項(xiàng)文本判分前用題目快照中的 answerIndex 和用戶提交的 value 做排序后比較。5.6 云函數(shù)默認(rèn)超時(shí)太短判分跑到一半被掐斷現(xiàn)象本地調(diào)試云函數(shù)時(shí)一切正常真機(jī)上交卷后頻繁提示「云函數(shù)調(diào)用超時(shí)」考試成績偶爾能存上、偶爾存不上。 原因云函數(shù)的默認(rèn)超時(shí)時(shí)間只有 3 秒。一張卷子 30 道題判分邏輯加寫庫操作在弱網(wǎng)環(huán)境下很容易超過 3 秒而且每次調(diào)用都會(huì)冷啟動(dòng)首次調(diào)用耗時(shí)更高。 解決把耗時(shí)的判分邏輯移到客戶端本地執(zhí)行云函數(shù)只做簡單的數(shù)據(jù)校驗(yàn)和成績落庫或者在小程序云開發(fā)控制臺(tái)把該云函數(shù)的超時(shí)時(shí)間調(diào)大到 10~20 秒如果題目量特別大就改成異步任務(wù)交卷接口先返回「已受理」判分完成后通過訂閱消息或手動(dòng)刷新獲取成績。6. 讓系統(tǒng)經(jīng)得起演示并發(fā)交卷與弱網(wǎng)聯(lián)調(diào)的驗(yàn)證習(xí)慣答辯現(xiàn)場最怕的不是功能沒做完而是演示到交卷那一步突然翻車。我的習(xí)慣是每次改動(dòng)代碼后都按一套標(biāo)準(zhǔn)的測試矩陣在真機(jī)上完整走一遍而不是只在開發(fā)者工具里點(diǎn)兩下就收工。測試場景操作方式通過標(biāo)準(zhǔn)正常交卷完整答完一張卷點(diǎn)擊交卷成績頁秒開數(shù)據(jù)庫成績記錄唯一弱網(wǎng)交卷開發(fā)者工具開啟弱網(wǎng)模擬再點(diǎn)交卷前端提示暫存本地網(wǎng)絡(luò)恢復(fù)后重試成功切后臺(tái)再交卷答到一半切后臺(tái)等 30 秒再回來立即交卷倒計(jì)時(shí)校準(zhǔn)后扣除后臺(tái)時(shí)長交卷正常重復(fù)提交交卷成功后返回頁面再次點(diǎn)交卷后端返回第一次成績不產(chǎn)生新記錄亂序判分開啟亂序后用已知答案的測試賬號(hào)作答得分與人工判卷完全一致驗(yàn)證弱網(wǎng)時(shí)微信開發(fā)者工具的「模擬弱網(wǎng)」只是低配方案真機(jī) 4G 網(wǎng)絡(luò)信號(hào)弱的環(huán)境更容易暴露問題。我在封裝交卷模塊時(shí)習(xí)慣在日志里打印每一步的耗時(shí)如果從點(diǎn)擊交卷到看到成績頁超過 5 秒就說明判分或?qū)憥戽溌酚袃?yōu)化空間。并發(fā)聯(lián)動(dòng)在考試小程序里不好用 curl 直接壓測更實(shí)際的做法是準(zhǔn)備三五個(gè)測試賬號(hào)在同一臺(tái)路由器下同時(shí)交卷看成績是否全部落庫。最后說一個(gè)我自己的教訓(xùn)最初我把判分邏輯完整地寫在云函數(shù)里真機(jī)演示時(shí)連續(xù)三次超時(shí)一度懷疑是網(wǎng)絡(luò)問題后來才發(fā)現(xiàn)是默認(rèn)超時(shí)只有 3 秒冷啟動(dòng)再加幾十道題的判分循環(huán)根本跑不完。把判分挪回客戶端本地執(zhí)行、云函數(shù)只做校驗(yàn)和存儲(chǔ)之后交卷體驗(yàn)才真正穩(wěn)定下來??荚囅到y(tǒng)這類項(xiàng)目前端交互做得再花哨都不如「倒計(jì)時(shí)不漂移、交卷不丟數(shù)據(jù)、重復(fù)提交不出錯(cuò)」這三個(gè)底線來得實(shí)在。希望你做完這套系統(tǒng)后能在演示現(xiàn)場從容地說一句「你們隨便考我先交卷」這比任何花哨的功能都更能打動(dòng)評(píng)委希望幫到你。本文還有配套的精品資源點(diǎn)擊獲取
返回列表
PREV
查看更多資訊
NEXT
返回資訊列表
亚洲激情综合| 激情网五月天| 天天成人丁香美女AV| 久久这里只有精品视频15| 日日操夜夜爽| 99精品免费欧美小视频| 色婷婷五月天成人网| 91九色在线观看免费| 人妻22p| 小视频久久久aaa| 亚洲成人网站在线观看| 亚洲最大在线| 丁香婷婷五月综合影院| 91久草五月天婷婷| 久久精彩视频99| 激情五月天婷婷五月天| 婷婷激情社区| 欧美婷婷综合| 能看的AV| 中文av网| 免费观看的av| 亚洲精品又粗又大又爽A片| 91AV婷婷| 婷婷丁香在线| 激情小说视频图片| 激情五月婷婷| 九热视频| 精品香蕉99久久久久网站| 99久久婷婷五月综合| 亚洲色 视频| 国产xxxxx在线观看| 色色激情五月| 色墦五月丁香| 亚洲俩性性爱图片久久第六页| 婷婷99丁香| 麻豆观看夏晴子| 亚洲成人五月天| 色色99| 俺去也五月天婷婷| 99只有这里有精品在线视频| 五月天婷婷成人网| 91seav| 日本色视| 丁香五月天黄色片| 激情第四色| 五月丁香激情四射| 人人操AV| 亚洲操女| WWW,五月| 五月丁香综合啪啪啪啪啪| 久久色9| 伊人大蕉香| 欧美一级a | 综合久久六月| 久久免费9| 色玖玖综合| 久re在线| 99久久久国产大片| 另类激情五月| 久久亚洲无码| 精品一二三区久久AAA片| 99性视频| 精品AV无码超碰| 丁香五月激情综合久久| 超碰97干| 色婷婷丁香五月丁香| 五月天小说激情| 婷婷五月天99| 婷婷久久精品| 欧洲电影在线观看免费版英语版| 伊人9草在线观看| 五月婷婷中文字幕| 亚洲中文字幕AV| 天天做天天爱天天爽| 伊人色综合网| 亚洲色基地| 色情婷婷。| 五月色综合| 亚洲 综合中文| 这里只有视频精品| 综合成人小说婷婷| 性做久久久久久久免费看| 久久色六月| 中文在线视频久9| 一区二区免费看| 、激情六月天| 五月天淫乱视频| 丁香五月天堂| 色色亚洲99com| 天堂亚洲 在线| 综合99综合久久久久久久| 激情综合区| 欧美性丁香色色五月天| 丁香六月啪啪| 日本九九视频| 色色哒五月婷婷六月丁香| 丁香婷婷五月天在线视频| 九九亚洲综合| 久久182| 丁香五月另类色婷婷麻豆| 电影爱拉战争免费观看| 亚洲综合视频网| 国产做爰视频免费播放| 99色综合网| 五月天婷婷综合免费| 亚洲激情久久| 色五月婷婷av| 丁香五月婷婷大香蕉| 五月天桃色深爱网| WWW.99热| 超碰日日操| 99精品无码网站| 丁香 亚洲 久久| 爱久久小说下载网| 在线观看五月婷婷网| 亚洲色99| 99热免费18| 九九色中文| 欧美色爱五月天| 五月婷婷丁香| 噜噜噜噜噜日本视频| 婷婷五月色天| 综合激情在线观看| 五月天综合色| 丁香六月色| 五月丁香婷婷无码A∨| 思思热这里只有精品| 激情内射人妻1区2区3区| 91人人澡人人爽人人看| 亚洲精品99| 亚洲第一成人无码A片| 综合网啪啪| www激情五月天| 欧美肉大捧一进一出免费视频| 91碰| 操碰97| 欧美日韩成人在线网| 狠狠五月天婷婷激情网。| 婷婷综合五月| 男人天堂伊人五月丁香| 国产精产国品一二三在观看| 五月色导航| 五月婷婷啪啪| 色色综合色视频| 五月天啪啪视频| 丁香五月AV| 丁香六月久久| 日本高清久| 色综合色综合色综合色综合| 9福利性视频欧美| 五月丁香六月婷婷成人电影| 九九热啪啪| 天天操天天插| 久久婷婷五月天激情新地址| 日日夜夜干| 婷婷五月天最新综合你懂的| 亚洲第一综合| 亚洲精品午夜国产va久久成人| 91女人18毛片水多国产| 伊人色综合久久久| 丁香丁婷五月激情| 熟女色色一区二区| 激情五月婷婷| 久久婷婷激情五月天一区二区| 婷香五月激情视频| 久久机只有这里精品| 婷婷不干网| 婷婷五月丁香六月天亚洲综合| 91久久日日| 激情深爱五月| 五月婷婷综合激情| 色五月婷婷在线观看第一页舔| 丁香婷婷六月激情综合| 婷久久| 欧美激情VA永久在线播放| 狠狠色丁香久久久婷| 丁香久久| 五月婷婷丁香在线视频| 亚洲色图五月丁香| 中文字幕丰满孑伦无码专区| 成人精品亚洲性爱| 成人天天爽| 99原创自拍视频在线观看| 五月婷婷自拍视频| 天天久久66xxx| 强辱丰满人妻HD中文字幕| www.久久66| 欧美碰碰| 极品人妻VIDEOSSS人妻| 超碰日日操| 妻久久久久| www狠狠爱com| 202丰满熟女妇大| 97色婷婷五月天| 七七九色| 玖玖综合色区在线观看| 激情综合五月天| 婷婷丁香色情| 99视频久久免费视频| 97婷婷五月| www.99热在线| 婷婷五月图片小说视频| 玖玖伦理电影| 婷婷99中文字幕| 成人做爰A片免费看视频| 色吧五月婷婷| 婷婷丁香五另类网站| 色婷婷色综合| 激情人妻蜜夜系列区| 久99热在线观看| 千人斩操逼| 日韩精品一区二区亚洲AV观看| 99热精品在线播放| 丁香五月婷婷色| 色婷婷AV久久久久久久| 狠狠色婷婷丁香六月| 亚洲免费视频网站| 亚洲av电影在线| 99免费| 99精品在这里| 丁香婷婷五月基地| 久久成人天| 国产成人+综合亚洲+天堂| 亚洲AV成人在线观看| 激情五月影院| 99视频在线| 96丁香六月婷婷蜜桃综合久久| 天天噪夜夜爽| 欧美一区二区三区不卡影视| 久久AAAA片一区二区| 波多野结衣AV无码Porn| 色www.con| 1024成人免费看| 涩涩五月天| xxxx久| 在线1青婷| 丁香五月婷婷激情视频播放| 婷婷深爱色五月| 五月天激情黄色小说在线观看| 日韩美女羞羞网站在线观看| 狠狠色丁香久久婷婷综合五月| 极品精品一区二区三区在线| 色逼综合网| 国产精品国产成人国产三级| 久久在线视频免费观看| 亚洲春色奇米影视| 久热视频97AV在线观看| 综合久久伊人| 人妻九九九九| jiujiu热在线视频| 久久亚洲色导航| 精品99这里有| 天天干天天干天天干天天干天天干天天干天天| 婷婷五月天亚洲激情戏精品| 丁香5月婷婷| 青青草日本亚洲| 五月丁香网中文字幕| 夜夜人妻五月天| 天天色天天搡| 色 五月婷婷基地| 99综合婷婷五月| 五月丁香综合网色欲| 五月天激情国产综合婷婷婷就去爱| 五月婷婷色影院| 91久久综合亚洲鲁鲁五月天| 99精品久久| 97福利视频| 91狠狠综合久久久久久| 欧美交换配乱吟粗大25P| www.久久爱| 亚洲精品久久久久久久久久吃药 | 免费视频WWW在线观看网站| 操碰91| 精品国产AV色一区二区深夜久久| 67194线路二在线观看| 亚洲日本三级片| 婷婷丁香久久网| 在线中文字幕免费视频| 亚洲精品国产成人AV在线| 97色片| 久热这里只有精品6官网亚洲| 久久婷婷五月国产激情综合片| 思思热99er在线视频| 99热综合在线观看| 97碰碰视频| 五月丁香六月综合激情| 99爱在线| 精品五月视频婷婷在线观看| 久草五月天| 欧洲亚洲免费视频9| 亚洲综合激情五月久久| 99热九九九九| site:jszngf.com| 26uuu欧美亚洲日韩| 婷婷五月情天| 亚洲视频一区| 色九月欧美| 欧美va精品va老师va| 婷婷丁香视频| 色吧五月| 色综合久久综合| 色六月丁香婷婷啪啪啪| 99久久这里只有精品| 狠狠色狠狠操| 国产精品人妻在线网址| 五月天久久成人| 播五月丁香三月婷婷| 99国产在线| 99只有精品9| 婷婷五月激情图片| 丁香六月在线| 色哟呦av| 琪琪理论片| 99re这里| 五月天小说激情| 99综合| 五月婷婷人妻| av高清无码| 91大神操美女| 夜色综合网| 日本女色人人| 亚州激情在线视频| 26UUU精品一区二区| 丁香五月WWW| 欧美日韓成人亚洲精品另类| 色情婷婷五月天| 久久38视频| 婷婷丁香五月激情综合站_久久五月丁香激情综合_开心五月综合激情综合五月_婷 | 丁香六月啪| www五月天激情com| 国产精产国品一二三在观看| 丁香色情五月天| 婷婷综合成人| www.精品久9| 五月丁香久久呀| 97色色视频| 麻豆雪千夏| 丁香五月乱中文字幕| 色情五月婷婷| 激情婷婷内射| 99色综合| 色婷婷四色| 天天开心AV色综合婷婷五月天| 六月色色| WWW,色五月| 狠狠爱婷婷爱| av在线资源| 婷婷的色色五月天| 亚洲熟女色| 天天天天干| 精品九九九久| 亚洲成人黄色网| 精品热九九| 99性爱无码| 思思热在线观看| 欧美va亚洲va| 69超碰在线| 婷婷性爱无码视频| 色www99| 五月婷婷开心六月激情小说| 五月天丁香久久综合 | 久久久天堂国产精品女人| 激情久久久| 99色色网| 激情综合五月色在线| 久久九九网| 综合激情五月综合激情五月激情1| 99热一区| 五月天色婷婷视频| 啪啪啪丁香五月| 噜噜噜久久亚洲精品国产品91| 九色亚洲| 丁香九九九九| 99热热九九| 无码免费人妻A片AAA毛片西瓜| 天天噪夜夜爽| 噜噜五月天综合| 天天噜| 啊V视频在线观看| 五月丁香啪啪网| 亚洲国产精品成人免费一区久久久在线观看AAAA | 亚洲六月色| 91丨九色丨老农村| 99亚洲精品视频| 婷婷丁香五| 亚洲激情四谢| 久久人操| 99色看| 熟美女麻豆| 最新色色五月天| 狠色综合网| 影音先锋自拍网| 激情五月天婷婷丁香| 超碰国产av| 97色色色| 五月丁香性| 五月天啪啪视频| 色五月大香蕉| 九九热精品视频在线观看| 特黄三级片| 大伊香蕉精品视频在线| 色婷婷五月天成人网| 五月色综合| 男人大jjc女人免费视频| 日本成人噜噜噜| 丁香婷婷人妻| 伊人久久综合| 香蕉久久av一区二区三区 | 日本综合久久| 五月丁香在线看| 人妻中文在线| 五月天丁香欧美激情| 婷婷啪啪| 六月丁香激情| 午夜无码精品色综合久久| 色99视频| 第六色在线| 人人操人人爽成人AV| 免费在线观看AV网站| 97在线/亚洲| 99爱免费视频在线观看| 色五月婷婷中文字幕在线观看| 九九丁香社区欧美激情| 99热这里有精品| 欧美人妻一区二区| VA婷婷亚洲| 亚洲av网站| 丁香av网| 五月激香蕉网| 少妇人妻人伦A片| 中文字幕不卡+婷婷五月| 色色婷婷综合网| 99热网站| 日韩ac不卡无码| 久草五月婷| 538在线精品| 成人丁香五月| 婷婷丁香花五月天| 亚洲啪啪网| 国产精品色婷婷AV综合色色| 日本欧美国产| 婷婷丁香人妻久久在线观看| 色婷婷丁香特级性爱视频| 婷婷五月天激情小说| 黄色91在线观看| 日韩青青| 欧美在线ee日韩| 精品国产AV色一区二区深夜久久 | 久热精品在看| 日韩三级视频一区二区| 日本婷婷色| 日日躁夜夜躁狠狠久久AV| 欧美一级色| 欧美啪啪9| 五月婷婷激情日本| 91视频久久久| 国产成人AV在线播放| 激情超碰网| 精品热九九| 亚洲国产精品成人午夜| 综合久久五| 99热个人在线| 97超级碰人人| 久久日曰| 亚洲小电影在线观看黄999| 99伊人婷婷在线| 操逼综合网| 五月综合激情图片| 日韩AV在线免费观看| www.99热精品| 热九九精品| 色婷婷婷av| 亚洲精品乱码久久久久久综合| 六月丁香基地| 婷婷开心综合人妻小说网址| 五月花综合视频| 天天激情站| 玖玖婷婷色五月| 成人 在线 日韩| 六月激情婷婷| 少妇搡BBBB搡BBB搡毛茸茸| 少妇被下春药玩弄A片| BBWCUCKOLD精品熟妇| 婷婷丁香六月天| 99re在线免费视频| 99热这里都是精品| 热久久77777| 亚洲麻豆乱码国产2028| 五月婷婷日| 久久久久9| 国产67194| 久久看九九90| 91男同| 狠狠色官网| 99久久久国产精品免费蜜乳tv| 伊人五月天久久| 激情九九六月激情免费视频| 国产乱码久久| 狠狠做深爱婷婷久久综合一区| 色五月婷婷大香蕉| 久久精品国产一区二区三区四区| 久久五月天激情婷婷| 超碰人人干| 婷婷综合五月激情| 天天肏高清在线| 天天干天天做| 99玖玖人人| 亚洲精品色色| 久久激情网| 欧美丁香婷婷五月| 中文字幕第四色.999| 成人在线网址| 五月婷婷六月丁香综合| 九热视频| A1片久久久| 丁香五月aV| 精品人妻一区二区| 精品人妻在线免费观看| 色呦呦免费观看| 五月丁香六月香综合激情| 亚欧州精品视频| 乱精品一区字幕二区| 97se视频在线| www.ppypp| 天天搞天天爽| 五月丁香激情婷婷| 无码任你操| 九九色逼| 日韩AV片| 色天五月天在线观看视频| 亚洲另类在线观看| 中文激情网| 婷婷色五月天在线| 九月丁香很很色| 久热久| 五月丁香六月婷婷姐| 婷婷六月丁香久| 激情AV在线| 久9热在线免费观看| 激情精品久久| 欧美日韩aaa| 青996青| 色人妻五月| 亚洲成人网站在线观看| 操操碰| 1024操逼视频| 婷婷综合九月| 五月丁香免费看| 日韩99无码| 婷婷激情五月天色| 伊人激情AV一区二区三区| 999热在线视频| 丁香五月婷婷五月| 奇米网大香蕉| 日本色综合| 九月婷婷激情久久| 丁香五月天啪啪a日本| 日韩综合成人| 开心五月婷婷在线| 色欲久久99精品久久久久久| 婷婷四色五月| 狠狠ri| 色情激情五月| 色婷婷呢狠禁久禁| 这里只精品热在线18| 激情性爱五月天网页| 五月天色婷婷小说| 婷婷色五月大香蕉在线| 亚洲色婷婷五月| WWW.亚洲无码| 色色色色色色色色综合网| 婷婷丁香成人色综合| 亚洲看av的网站| 国产午夜精品AV一区二区麻豆| 色五月婷婷少妇人妻| 五月综合视频| 综合色综合| 91婷婷丁香五月亚洲| 色五XX| 九九热91| 中文字幕在线日亚州9| 婷婷亚洲综合| 狠狠CAO日日穞夜夜穞AV | 五月天综合视频| 五月丁香久久综合| 丁香五月大香蕉在线99| 79精品视频| 婷婷中文字幕在线| 久久久18| 99热这里只有精品2016| 在线日韩av| 99热资源在线| 欧美成人无码一区二区三区| 9|人妻人人操| 九九精品综合| 丁香婷婷人妻综合网| 青青草婷婷五月天| 婷婷五月天影院| 97香蕉碰碰人妻国产欧美| 99自拍视频在线| 天天色天天舔天天爱天天爽| 久久香蕉丁香| 这里只有在线精品| 婷婷综合另类| 激情综合网激情五月天| 日韩操| 性色婷婷| 99亚洲精品综合在线| 深爱五月天| 婷香五月网在线| www九九免费视频| 99热天堂| 久久九九99亚洲国产久精综合| 国产黄色大片| 国产免费一区二区在线A片视频| 五月丁香婷婷伊人| 欧美日韩91| 99久| 996热| 亚洲综合五月| 五月色丁香婷婷中文字幕| 五月丁香久久综合色| 五月天偷拍| 五月婷婷色播| 伊人婷婷五月天av| 久久永久网址| 六月激情婷婷综合| 操操综合网婷婷| 婷婷久久久| 精品久久66| 五月丁香六月婷婷,婷| 丁香五月婷婷亚洲激情四射| 9精品久久999| www.婷婷五月天.com| 第四色首页| 激情播丁香| 五月婷婷中文字幕| 六月婷婷最新网址| 午夜伊人大香蕉| 久久人人看| 97影院一级片| 久久99网| 婷婷五月天六点丁香五月| 国产色色网址网站| 99热老网站| 五月丁香人妻| 深爱激情丁香| WWW.99热| 天天干夜夜欢| 欧洲日韩一区二区三区| 久久久久婷婷五月热综合| 91丨九色丨丰满人妖| 伊人大蕉香| 男女啪啪视频久 9| 久久婷婷七月丁香| 五月天久久色| 久久se 综合网| 少妇性BBB搡BBB爽爽爽电影| 99九九久久| 夜夜操夜夜操| 9+1视频网址| www色色色com| 99re8这里只有精品99re8热视频| 成人五月丁香社区| 色综合久久888| 综合久久9| 综合久久97| 97色片| 日韩成人AV在线| 亚洲第一成人无码A片| 麻豆雪千夏| 五月婷婷深深爱| 曰曰久久| 亚洲色五月天| 五月婷婷六月激情| 色伊人91在线视频| 久久综合站| AV六月丁香| 久久精品女人天堂AAA| 色99免费视频中文| 九九精品综合| 18av天堂| 亚洲久久婷婷丁香五月天| 天天综合图片| 人人爽欧美婷婷久久久五月丁香| 青青草五月天| 婷婷99狠狠躁天天躁中| 色色网站在线| 一级AV片| 色九九七七| 亚洲成人AV在线观看| 97天堂| 婷婷激情六月综合| 六月丁AV| 99久久久免费| 欧美成人AAA片一区国产精品| 9色91视频| 色99超碰| 色情五月综合婷婷| 色五月婷婷视频| 亚洲成人在线五月天| 女人被男人吃奶到高潮| 天天色播| 99久久色| 开心六月婷| 五月婷婷色吧!| 67194中文字幕| 五月天激情图片| 久久色大香蕉| 91热在线| 婷婷激情丁五月| 天天操天天插| 国产美女无遮挡裸体毛片A片| 人人操碰| 成人天天爽| 婷婷五月图片小说网| 亚洲激情久久| 五月婷婷激情五月| 久久99jiu9| 91性高潮久久久久久久久| 婷婷丁香成人网址| 婷婷五月丁香超碰| 中文中文在线| 草榴视频网| 五月丁香婷婷激情久久| 婷婷五月天成人| 无码少妇高潮喷水A片免费| 日韩AC在线免费观看| 亚洲五月婷婷| 久久思思精品| 九九无码| 欧美色色色色色色色色色色| 天天摸日日舔狠狠添婷婷婷| 久久五月婷婷丁香| 影音先锋91网站在线观看| 久久99久久99精品免观看粉嫩| 色青青视频| 五月丁香好婷婷A片网| 色和综合网| 99热99在线| 亚洲无码色色| 老师的粉嫩小又紧水又多A片视频| 99热免费精品| 婷婷激情五月色综合| 六月婷婷综合| 综合久久影院| 成年人最刺激的综合网| 日韩av变天就操逼不卡区| 九九色综合| 天天爽天天| 久久婷婷五月天蜜桃| 变态 另类 在线 | 色综合色色色| 久久新地此| 激情小说婷婷五月| 久久99国产综合精品免费 | 激情综合五| 欧美精品999| 丁香五月婷婷日本| 丁香五月玖玖| 激情影院免费视频婷婷五月天| 婷婷六月啪啪| 91色噜噜狠狠狠狠色综合| 丁香色五月婷婷| 黄网在线免费观| 超碰人人色| 99综合自拍| 影音先锋男人站,影音先锋男人色资源网,影音先锋AV最新资源站,影音先锋AV资源 | 色99xx| 美女五月天婷婷| 五月色婷婷综合| 久久九九玖玖| 亚洲AV中文在线| 色婷婷情片| 欧美五月丁香| 婷婷国产五月天17c| www.夜夜.com| 大香蕉AV电影在线| 无码人妻一区二区三区免费九色| 欧美性猛交99久久久久99按摩| 狠狠干天天内射| 久久免费精彩视频| 久思思久视频| 色婷久久| 操国产人妻| 亚洲色就是色色色| 国产裸舞福利资源在线视频| 中文字幕欧美日韩VA免费视频| 婷婷五月天va| 亚洲精品又粗又大又爽A片 | 婷婷中文字幕| 综合久| 思思热性操| 婷婷色五月大香蕉在线| 亚艹艹| 午夜激情久久| 久青操| 97久久人人操| 五月天啪啪| 天天噪夜夜爽| 美女视频图片久久91| jizzdr| 天天搡日日搡aaaaⅩ| 丁香六月婷婷综合| 一本久久亚洲五月婷婷| 亚洲中文字幕在线观看| 丁香婷婷婷五月| 99久久精品国产色欲| 99无码视频| 乱女乱妇熟女熟妇综合网站| 欧美婷婷色| 综合五月婷婷| 成人精品在线观看| 专区无日本视频高清8| 亚洲AV成人无码久久精品老人法拉利| 9|在线观看视频| 五月婷婷五月天| 婷婷欧美偷拍综合| 日韩不卡123| 99无码精品| 五月婷婷五月丁香综合| 看片视频在线免费日产在线看| 26uuu激情五月天| 亚洲成人AV在线| 色玖玖| 久久久久久久久久人妻| 色五月婷婷91| 女人被躁到高潮嗷嗷叫小| 五月婷婷丁香色吧网| 欧美色偷拍| 综合激情五月天| 秋霞三及片| 性爱综合网| 色色五月婷婷狠狠| 91天天操天天干天天射| 6080av| 久久九九中文字幕| 欧美经典片免费观看大全| 久久人妻乱| 色99亚洲| 97碰人人操| 婷婷色情 | 久久五月情| 99热99网| 91九色无码内射| 五月丁香影院| 色五月婷婷在线| 丁香婷婷射| 9l视频自拍9l视频自拍九色学生| 96自拍视频九色在线观看| 思思热在线观看| 丁香五月激情澎湃一区| 婷婷五月综合久久中文字幕| av婷婷丁香| 五月天激情四射| 五月天婷婷基地| 五月丁香青草综合啪啪| 香蕉久久国产AV一区二区| 激情五月婷婷她| 香蕉AV福利精品导航| 99色中文| 色五月影视| 玖操97| 色5在线| 曰曰久久| 在线免费观看激情视频| 天天爽天天| 夜夜爽天天干| 色五月婷婷网| 色爱亚洲| 激情五月丁香六月婷婷| 色综合久久伊伊婷婷五月| 成人AV免费观看| 91婷婷色 | 婷婷激情社区| 另类激情综合| 亚洲免费婷婷| 五月天精品视频| 色综合五月在线| 成人必爱视| 激情文学天天| 丁香五月天无码AV| 成人在线日韩| 欧美色99| 久久综合中文| 婷婷久久丁香五月| 丁香婷婷色九月| 9色小视频在线观看| 国产人妻777人伦精品HD| 日本九九九九| 九九热视频这里只有精品| 亚洲黄色影视| www.99热在线观看| 婷香五月| 久久综合性| 99久久婷婷| 婷婷六月啪啪| 狠狠的日| 国产精品美女久久久久AV超清 | 91精品91久久久中77777久久玖玖九九 | 韩国婷婷丁香五月| 婷婷激情综合色五月久久,色婷婷丁香花,丁香婷婷五月情天,久久婷婷五月综合色 | 婷婷日日天天| 久久A V无码视频| 婷婷五月天狠狠| 99在线精品免费视频| 亚洲狠狠干| 五月丁香六月玩女人| 天堂综合久| 人人综合久| 色五月婷婷丁香五月| 另类专区在线观看| 狠狠操天天干| 丁香五月狠狠在线观看| WWW.HENHENL.| 男女免费视频999| 久久综合丁香| 丁香六月婷婷久久综合八月| 内射综合网| 色之综合网| 婷婷综合伊人丁香| 五月天涩涩| 综合久久9| 丁香五月天之婷婷影院| 婷婷五月欧美综合| 中国女人内射6XXXXX| 色五月天婷婷婷婷婷婷婷婷婷婷婷婷婷婷婷婷婷婷婷婷婷婷婷婷婷婷婷婷 | 91黄操| 天天操综合网| 97色射| 天天操天天曰天天射| 伊人婷婷大香蕉| 五月婷久久| 色综合色综合网| 久久99久久99精品免观看粉嫩| av在线资源| 婷婷综合性爱网| 五月久久婷婷天堂视频| 日本熟女视频一区二区| 激情五月天色婷婷| 久久婷婷五月天激情四射| 国产成人+综合亚洲+天堂| 六月婷婷中文字幕| 九九99视频精品| 色色色欧美| 天天色天天噜| 99精品自拍| 九九视频在线观看视频6| 久人操| 狠狠色激情在线| 99色色色色| 99热这里只有精品99| 激情综合色婷婷啪啪五月天| 亚洲乱码在线观看| 丁香久久| 成人在线网站| 无码G高清天| 亚洲精品国产精品乱码视99| 久久婷五月| 婷婷五月天首页激情| 丁香五月天激情婷婷丁香六月| 久色欧美| 日韩婷婷| 大香蕉中文| 激情婷婷另类| 色五月AV| 婷婷趴趴| 欧洲亚洲激情五月天在线| 91丨九色丨大屁股| 久久久久视剧HD| 日本五月婷婷久久久六月丁香| 97碰人人操| 久久久天堂国产精品女人| 亚洲99综合| 狠狠干五月丁香综合网| 久久精品99国产精品日本| 五月天婷婷香蕉狠狠超碰综合| 操逼在线视频| 五月婷婷丁香| 五月天丁香久久| 九九性视频| 专区无日本视频高清8| 中文字幕综合网| 久久精品这里只有精品免费首页| 亚洲激情综合| 久久五月婷婷电影| 99热久草| 五月丁香久久婷| 六月狠狠综合| 国产做爰视频免费播放| 91chinese在线| 色五月激情综合| 婷婷久久爱| 精品成人无码A片观看香草视频| 婷婷涩五月| 天天干天天操天天射| 亚洲色在线观看| 丁香五月天久久| 色婷丨日丨天丨综合久久| 天天爽人人综合免费7799| 青青久久大香蕉| 五月婷婷真爱激情网| www.丁香六月婷婷久久天堂影院.con| 成年AAAA色情| 久久婷婷亚洲| 91尤物九色在线| 亚洲成人AV在线播放| 婷婷丁香综合| 99色色| 五月丁香花视频| 色五月婷婷在线| 99久在线精品99re5热视频| va婷婷| 亚洲欧美国产A片免费观看| 天天日,天天射,天天舔| 婷婷五月激情四射手| 亚洲色欲AAAAAA| 大战熟女丰满人妻AV| 五月丁香六月婷婷中合网| 在线理论片| 婷婷综合五月天激情| 欧美性猛交AAAA片黑人 | 久久99久久99精品免视看婷婷| 欧美日韩999| 丁香六月婷婷高清| 中文幕无线码中文字蜜桃| www.伊人天堂偷偷婷婷| 五月四色激情| 婷婷五月天开心激情网| 久草网大香视频| 狠狠搞亚洲| 午夜福利成人AV91| 天堂久久性| 五月丁香激情四射综合| 激情六月婷婷| 大鸡巴伊人网| 日本va欧美va欧美va| 亚洲黄3级片网站欧美| 久久婷五月婷| 欧美噜噜免费观看| 天天草女人| 超碰熟女拍拍| 五月丁香花视频| 日韩AAAAA| 午夜丁香六月婷| 91主播在线| 丁香五月91| 色婷婷久久综合久色| 七月婷婷色香综合网| 极品人妻VideOssS人妻| 大香蕉久久久久| 亚洲精品久久久无码| 国产日日操夜夜操的肉棒视频| 六月婷婷最新网址| 欧美激情综合| 六月丁香婷婷天堂| 性色综合网| 欧美性丁香色色五月天干干| 亚洲综合五月天综合| 天天操精品| 成人va在线播放| 天天爽天天透天天爱| 色色色区| 91欧美| 五月天欧美激情| 狠狠爱婷婷爱| 熟妇无码乱子成人精品| 99在线观看精品视频| 天天天久久久| 亚洲成人日韩无码精品| 色综合婷婷| 婷婷五月天干干| 五月婷婷久久久| 久久久宗合视频88| 久久久久9999| 国色天香伊人狠狠色| 日韩久久视频| 婷婷五月天成人视频| 成人av在线电影| 这里只有精品视频一区| 思思99热这里只有精品| 丁香五月天91| 九久9精品| 五月花婷婷丁香| 色色五月天丁香| 日韩久久日| 五月婷婷成人| 思思热在线视频99| 久久久久妻| www.九九婷婷| 丁香五月花| 东京热免费视频| 色五狠狠| 五月天开心成人网| 五月色婷| www.久久色.com| 欧美三级巜人妻互换| 26uuu欧美日本| 亚洲久久激情| 综合网五月天123| 新99思思视频| 中文资源在线a | 国产69久久久欧美黑人A片| 97碰碰视频在线观看免费| 五月婷婷免费看| 婷婷五月丁香激情色情| 久久99久久99精品免观看粉嫩| 婷婷日韩| 色五月婷婷在线观看第一页舔| 五月丁香综合激情| 七七色色综合| 五月婷婷丁香五月婷婷丁香| 天天模,夜夜模夜夜爽| 色久婷婷五月| 99热最新网址| 久久久99日本大片| 婷婷久久婷婷| 色综合色色色色色色综合| 日韩免费视频| 亚洲精品久久久久久久久久吃药| 亚洲综合五月天婷婷| 91九色无码日韩| 九热视频在线精品15| 五月开心久久| 婷婷十月激情综合网| 久久机热这里只有精品| 色狠狠综合| 久去色色| 五月六月播婷婷| 91精品婷婷国产综合久久| 综合网啪啪| 欧美、日韩、中文、制服、人妻| 青青操丝袜美腿| 日韩aaaaa| 少妇性按摩无码中文A片| 国产 码在线成人网站| 91久久久久久久| 欧美日本黄色| 久久精品91视频| 人妻激情视频| 久久人五月| 激情av在线| 99在线播放视频| 99久久精品色老| 九九综合| 色五月天天在线观看资源站| 五月天激情综合网俺也去| 亚洲色精彩| 婷婷六月丁香久| 99re这里只有精品免费| 五月天堂婷婷| 久久九九在线视频| 五月天婷婷无码| 99热这里只有精品5| 91精品国产99久久久久久天美| 五月综合激情| 五月香婷婷| 久久大香蕉| 激情综合丁香六| 久草婷| 婷婷五月天AV在线| 欧美激情丁香五月| 91久久色| 色五月丁香六月资源站| 色插综合网| 久久免费婷婷视频| 女人被男人吃奶到高潮| 婷婷天天色| 色色欧美色色| 久久婷婷桃花五月天| 国产免费AV在线| 婷婷五月天激情在线观看 | 色婷婷五月网| 伊人啪啪网| 99热日韩| 狠狠精品干练久久久无码中文字幕| 狠狠狠狠狠狠草| 久久久久久久久久久月丁| 97碰免费视频在线| 能看的AV网站| 性爱视频99| 色婷婷五月天偷拍| 超碰免费人人肏| 任你擦免费视频| 婷婷色播六月无码| 婷婷综合在线| 亚洲操操操| 成人 九九九九| 就要去操亚洲成人精品五月天丁香婷婷| 米奇影视资源777狠狠色婷婷五月天激情网 | 九九热精品| 欧美三级级99久久| 婷婷五月丁香五月丁香| 狠狠色婷婷六月激情网| 啊v视频在线观看| 七月婷婷色香综合网| 日韩人妻无码精品| 日本ww亚洲| 色情丁香五月婷婷精品| 欧美成人猛片AAAAAAA| 丁香色五月AV在线| 夜夜骑日日操| 婷婷久久五月天| 亚洲午夜在线视频| 9福利性视频欧美| 狠狠色激情综合| 99久re热视频精品98| 亚洲性爱AV在线| 激情五月天婷婷| 五月天色不卡| 日本V在线观看不卡视频网站| 五月丁香在线观看99| 精品久久久久久久久久久久人妻| 亚洲综合成人网| 色欲色香,www,com| site:xmssd.com| 亚洲午夜电影| 色网站9| 人人草公开操| 91.com男女操| 热久久这里只有三级视频| 色日本丁香婷婷| 97极品在线| 国产女人十八水真多1| 色亚洲婷婷| 51国精产品自偷自偷综合| 丁香九月综合在线| 天天色综合综合| 狠狠精品干练久久久无码中文字幕 | 丁香五月中文字幕久色| 噜噜噜狠狠色综合| 人妻人人操| 婷婷丁香九月| 国产操逼视频网站| 精品久久久久久久人妻| 亚洲乱码日产精品BD在线观看| 国产成人+综合亚洲+天堂| 91婷婷五月天嫩女| 丁香五月伊人| 97色婷婷五月天| 国外亚洲成AV人片在线观看| 欧美色色色色色| 九九婷婷综合| 色婷婷超碰| 久9久成人精品视频| 激情婷婷激情在线不卡| 丁香五月av在线| 97色 五月天丁香| 丁香婷婷综合激情五月色,开心五月丁香花综合网,激情综合五月亚洲婷婷,五月天 | 久热黄色| 生活片五区| 国产操B视频| 最新久久网址| www.射伊蕉婷婷| 婷婷五月电影| 二色av| 午夜爱插插| 五月天激情啪啪| 大香蕉狼人久久| 天天操无码| 丁香五月色情| 91色久| 99色综合网| 亚洲精品一区中文字幕乱码| 婷婷五月俺要去| 六月丁花香啪啪激情欧美|